使用 PUF 技术的自配置 在启用安全性的处理器和专用 IC 中,物理不可克隆功能 (PUF) 技术的使用越来越多,这或许提供了一种甚至更安全的配置方法。利用 PUF 技术,安全设备可以使用根据每个设备的唯一特征派生的密钥,而不是将密钥显式加载到设备中。 PUF 技术依赖于制造差异和其他物理过程,致使该值对设备本身而言是唯一的,并且在正常系统操作下可以重复。如下所述,该结果值可用作唯一的加密私钥,从根本上为每个启用 PUF 的设备提供了内置的密钥。 除了实现自配置外,PUF 技术还增加了另一层安全性。若试图渗透设备以公开设备唯一值,则会改变用于生成该设备唯一值的特征,从而改变生成的值。 尽管存在不同的 PUF 机制,但启用 PUF 技术的设备的基本方法大体相同。例如,Maxim Integrated 在其 MAX32520 安全微控制器以及一些安全 IC 中使用的 ChipDNA PUF 功能,需依赖于一系列模拟 PUF 元件和控制逻辑来生成密钥(图 6)。
图 6:在 Maxim Integrated 的 ChipDNA PUF 技术中,片上控制逻辑使用一系列 PUF 元件的随机状态来生成一致的设备专属密钥。(图片来源:Maxim Integrated) 在 Maxim Integrated 的 DS28C39 ECDSA 安全验证器中,ChipDNA PUF 输出将用作 ECDSA 操作的私钥,以及保护相关数据的私钥(图 7)。
图 7:Maxim Integrated 的 DS28C39 ECDSA 安全验证器使用由其片上 ChipDNA PUF 电路生成的私钥。(图片来源:Maxim Integrated) 在启用 PUF 技术的 LPC55S 处理器系列中,NXP 基于根据 SRAM 阵列的初始随机状态生成的输出使用 PUF 技术(图 8)。
图 8:在 PUF 实现中,NXP 的 LPC55S 处理器系列使用 SRAM 中的启动数据生成数字指纹和相关的激活码,随后可将其用于恢复数字指纹、进行加密或生成私钥。(图片来源:NXP) 在这些设备中,PUF 的使用从注册操作开始,该操作生成唯一的数字指纹和相关的激活码,在执行新的注册操作之前这些指纹和激活码会一直有效。激活码存储在设备的受保护闪存中,设备利用该激活码,通过在上电时以一致方式生成的 SRAM 启动数据来重建数字指纹。 有了数字指纹,开发人员便可以对自己的密钥进行加密,或生成密钥。在此过程中,设备将返回一个密钥码。通过提供激活码、密钥码和索引,开发人员可以使设备从适当的片上密钥插槽解密所需的私钥,并将其交付给密码软件库。密钥插槽 0 提供一种特殊的密钥解密方法,通过内部总线将密钥直接交付给处理器的 AES 硬件加密引擎(图 9)。 LPC55S 的 PUF 数字签名在密钥加密和解密中起着密钥加密密钥 (KEK) 的作用,该密钥传统上用于增强对静态或传输中的机密数据的保护。使用 KEK 有助于缓解保护机密数据所需的对更大安全存储及相关内部机制的需求。
图 9:NXP 的 LPC55S 处理器系列使用其数字指纹作为 KEK,对其密钥存储区中保护的并以编程方式通过相关的激活码、密钥码和索引引用的密钥进行解密。(图片来源:NXP) 开发人员可以使用 KEK 对定制密钥和相关数据进行加密,并将加密结果存储在非安全的非易失性存储器中。这种方法使开发人员即使在安全存储空间有限的设备中也能保护各种类型的密钥和相关数据。有了 PUF 生成的 KEK,开发人员便可以实现能够在整个开发周期中保护应用的安全物联网设备。
|