发布时间:2022-11-03
NAND 闪存用于各种消费和工业产品,从笔记本电脑和手机到工业机器人、医疗设备和嵌入式物联网设备,如传感器和控制器。 在我们日益互联的世界中,这些应用程序中的所有脆弱点都需要足够和强大的安全措施,包括数据存储系统。 因此,在选择或设计 NAND 闪存存储系统时,必须确保存储器的安全性满足应用程序的要求。
执行现代安全技术需要足够的处理能力。 作为存储系统的“大脑”,NAND闪存控制器必须足够强大以支持整个存储系统所需的安全级别。 本文概述了 NAND 闪存的安全性,涵盖了最常见的硬件和软件技术,有助于告知读者何时必须选择 NAND 控制器。
任何 IT 系统的总体安全目标、机密性、完整性和来源真实性都与数字存储解决方案同样相关:
● 完整性 – 确保接收到的数据与发送的数据相同
● 机密性 – 确保所传递的数据不会被第三方获悉
● 真实性 – 确保消息的接收者可以验证消息来源的身份
这些安全目标适用于存储数据的整个生命周期,可以细分为三个独立的状态。 在存储设备和数据源(用户、传感器等)之间移动时,该状态称为传输中的数据。 当通过不受信任的通道进行传输时,无线连接越来越多地出现这种情况,安全措施必须确保数据在源和目的地之间不被修改。
存储系统的控制器对数据执行各种操作,包括处理来自主机的 I/O 请求、数据加密和解密、ECC(纠错码)编码、磨损均衡和垃圾收集。 这些操作发生在数据处于操作状态期间,安全系统在此状态下必须防止未经授权获得数据。
数字存储系统的主要功能是维护存储中数据的完整性。 在这种状态下,必须防止被未经授权的那一方获得,而不会影响授权方的合法活动。
多年来,已经开发了几种成熟的安全技术,大致分为功能和平台措施。 功能安全措施使用加密技术来保护敏感数据,而平台安全原语保护功能安全措施的执行免受攻击者的侵害。 确保这两种安全措施需要强大的计算资源,该资源由闪存控制器提供。
密码学基于数学抽象。 现代安全技术使用密码算法作为基本构建块,结合密码原语来确保受保护数据的机密性、完整性和来源身份验证。 NAND 存储安全解决方案中采用了四种主要类型的加密技术:
● 加密散列函数将任意数量的输入数据映射到固定数量的输出位。 它具有三个主要属性。
o 唯一性,因为输入数据必须导致相同的输出位。
o 可逆性,因为虽然可以从已知输入轻松生成输出数据,但从生成的输出中检索输入数据在计算上是不可行的。
o 和碰撞阻力,因为两个不同的输入数据点映射到相同的输出结果在计算上是不可行的。
有几个散列函数可用,推荐的标准化散列函数来自 SHA-2 系列,包括 SHA-256,它将输入位字符串映射到 256 位输出值。
● 对称密钥算法使用发送方和接收方共享的密钥来加密和解密数据。 这些算法支持相对较快的操作,因此是必须交换大量数据时的首选。 高级加密标准 (AES) 是一种高度稳健的对称密钥算法,其中使用最多的是 AES6 系列(AES-128、AES-192、AES-256)。 AES6 系列提供 128 位块加密,支持 128、192 和 256 位密钥大小。 有几种操作模式可用,包括 CBC - 主要用于加密传输中的数据 - 和 XTS - 用于加密块结构存储设备上的数据(存储中的数据)。
● 在公钥或非对称密钥加密中,交易中的每个参与者都使用一个密钥对。 密钥对包括一个私钥(只有密钥对的所有者知道)和一个公钥(所有参与者都知道)。这两个密钥不同,但在数学上相关,从计算上推导出私钥是不可行的公钥。 非对称密钥算法用于机密性(公钥用于加密)和身份验证(使用私钥)。 公钥密码系统的一个示例是 RSA,它提供了高度机密性,并用于携带敏感数据(如密码和对称密钥)的加密通信。
● 为确保高水平的安全性,密码学和对称以及非对称加密的基础是从随机数派生的密钥。 这些主要由随机数生成器 (RNG) 生成,该生成器生成一系列只能通过随机机会预测的数字。 有两种类型的 RNG,即生成完全随机数序列的真随机数生成器 (TRNG) 和加密安全的伪随机数生成器 (PRNG)。 这些 PRNG 需要初始种子值,该种子值必须是随机的,并且由真随机数生成器 (TRNG) 或熵源生成。 TRNG 通过对来自物理噪声源(例如自由运行的环形振荡器)的原始数据进行采样和处理来实现。
加密算法等高级安全措施需要强大的处理能力,对存储系统背后的“大脑“NAND 闪存控制器,提出了特定要求。
除了提供支持加密算法的计算资源外,控制器的架构还必须能够支持保护功能安全措施所需的平台安全原语。 许多现代 SoC 集成了平台安全功能,或者最常见的是:
● 从 SoC 内的不可变内存中安全启动加载,确保受信任的二进制文件在系统上运行。 除了不可变内存外,安全启动的组件还包括软件身份验证、受信任的启动加载程序和专用的安全处理器。
● 定期固件更新对于任何系统的运行都是必不可少的,安全可靠的远程配置机制可确保固件更新的真实性和有效性。
● 内存隔离定义了系统内存的安全区域,为专用代码保留,其他系统软件无法获得。
● 一次性可编程(OTP) 存储器是一种非易失性存储器,其中每一位都作为一个eFuse 实现。 电子保险丝可以由工厂或用户编程,但在制造后不能多次更改。 OTP 内存用于存储启动时所需的系统配置信息,包括系统个性化字符串和固件版本控制。
● 唯一身份是支持信任根概念的常见安全技术。 具有唯一秘密身份的设备可以进行身份验证、密钥生成、密钥交换和更高级的加密应用程序。 可以使用非易失性存储器或物理不可克隆函数 (PUF) 等解决方案将唯一 ID 嵌入到设备中。 最近推出的 PUF 执行起来更复杂,但提供了更强的物理安全性,并且基于 SRAM 的 PUF 越来越多地用于商业产品。
● 现代 SoC 的开发人员正在集成各种硬件和软件技术,以优化芯片性能和功耗,同时支持先进的安全技术。 功能包括微处理器单元 (MPU) 内的多个内核,以及可以将安全功能转移的独立硬件安全模块 (HSM)。 这两个选项都支持隔离安全功能和其他功能,包括支持加密算法的硬件加速器。
行业标准确保各种安全和加密算法之间的互操作性。 这些数据安全标准、规范和指南对于使制造商能够开发更强大的安全感知产品至关重要。 美国国家标准与技术研究院 (NIST) 和Trusted Computing Group (TCG)是两个主要的行业机构,致力于为各种安全硬件和软件组件制定标准、建议和要求。
我们的社会越来越依赖连接来运行,每个连接的设备都为恶意攻击者提供了潜在的攻击面。 随着连接变得越来越普遍,数字安全措施已经有了很大的发展,开发人员必须确保其设备的安全性满足应用程序的要求。 NAND闪存用于越来越多的连接设备中,存储控制器是存储系统整体安全性的关键。 因此,在选择或设计 NAND 闪存系统时,了解控制器的安全功能非常重要。
热点排行