密码学:了解物理不可克隆功能的优势

描述

介绍

在密码学和嵌入式安全IC中,PUF用于创建按需生成的密钥,一旦使用就会立即擦除。PUF依赖于随机物理因素(不可预测和不可控制),这些因素是原生存在的和/或在制造过程中偶然引入的。这就是为什么几乎不可能复制或克隆的原因。PUF 技术原生为其关联的安全 IC 生成数字指纹,该指纹可用作唯一的密钥/机密,以支持加密算法和服务,包括加密/解密、身份验证和数字签名。

除了加密操作的瞬时持续时间外,PUF 密钥值永远不会以数字形式存在于安全 IC 的电路中。此外,由于密钥是根据电路元件的物理特性按需派生和生成的,因此它们永远不会存在于器件的非易失性存储器中。任何通过微探测或其他侵入性技术发现PUF密钥的尝试都会破坏用于构建PUF密钥的敏感电路,并使输出无用。因此,它们提供了当今嵌入式系统中非常理想的安全级别。

在这个简短的课程中,您将通过简化的假设 PUF 体系结构及其用法更好地了解为什么基于 PUF 的密钥生成可以在加密应用程序中提供如此出色的保护。

PUF 示例

图 1 显示了两个独立的示例设备,每个设备都有一个基于 64 位 PUF 的密钥(这是一个简化的一般视图)。

PUF

图1.此图显示了两个设备及其 PUF 密钥生成块。

PUF – 密钥生成

图 1 中的每个器件都有 64 个不同的 PUF 模块,可生成 1 位数据。然后移动位以创建 64 位密钥。现在我们的目标是为这些设备中的每一个提供独立的密钥,这些密钥在电压、温度和期限内都是可重复的。设备 1 将生成一个密钥,该密钥将具有与设备 2 生成的密钥不同的足够数量的位。但是,每个器件按键在指定的电压和温度范围内将保持不变。

让我们详细考虑其中一个设备的 PUF 块的潜在实现。

数据位生成(简化的一般视图)

在图2中,我们展示了一种基于环形振荡器频率变化的简单PUF实现方案。在本应用笔记的后面部分,我们将对环形振荡器进行扩展,并了解为什么它们对模块的每个实例产生略有不同的频率。

PUF

图2.PUF 数据位生成使用环形振荡器。

现在,我们假设每个PUF模块都有两个环形振荡器,它们产生略有不同的频率。在 PUF 块 1 中,F1 将与 F2 略有不同,这将允许比较块根据 F2 是否比 F1 快生成位 0 或位 1。

这种设计如何帮助解决电压、温度和年龄变化?我们将比较两个值以生成位,而不是基于一个频率输出。因此,如果电压越高,F2 也会增加,但两个值之间的增量应该保持不变。这导致使用不同的施加电压产生相同的位值。温度和老化的影响可以通过类似的方式减轻。

当 PUF 块 2 到 64 被实例化时,它们内部的环形振荡器块将以不可预测的方式产生略有不同的频率。这会导致位 1 到 64 的位模式不可预测。虽然整体位模式不能预测,但实际生成的位模式是可重复的,因为每个块总是产生相同的位。

现在让我们看一个简化的环形振荡器设计。

简化的 PUF 元件 – 环形振荡器

环形振荡器由奇数个逆变器构成,如图3所示。振荡器的输出频率取决于环形每个级的延迟。从IC的角度来看,这种延迟取决于晶圆特性,包括构成逆变器级的每个晶体管的氧化物厚度、电容和阈值电压。由于半导体制造工艺的缺陷和变化,所有这些参数都略有变化,并且完全随机。无论过程如何控制,都不可能避免这种随机变化。所有这些对于PUF实现来说都是一件好事,因为生成的密钥需要具有加密质量的随机性。

PUF

图3.由奇数个逆变器构成的简化的PUF元件环形振荡器。

PUF为密码学带来的主要价值是对它从电路元件的物理特性派生和产生的密钥/机密值的固有保护。如环形振荡器示例所述,阈值电压、电容和栅极氧化层厚度等电敏感参数直接影响电路的延迟。为了获取密钥而探测或修改 PUF,会永久修改和破坏这些敏感特征。这会导致 PUF 输出的密钥值发生变化,使其无用,并使加密 IC 永久不起作用。同样,任何对PUF进行逆向工程和克隆的尝试都会导致电路无法输出对部署安全IC的系统环境正确的密钥值。

芯片脱氧核酸™聚氨酯技术

Maxim Integrated已经开发出一种名为ChipDNA的PUF技术。它不像假设的例子那样基于环形振荡器。相反,ChipDNA从根本上从MOSFET半导体器件的模拟特性的自然随机变化和不匹配中运行。这种随机性源于与前面描述的类似的因素:氧化物变化、阈值电压的器件间不匹配、互连阻抗以及晶圆制造中通过不完美或不均匀的沉积和蚀刻步骤存在的变化。ChipDNA还采用专利方法运行,以确保每个PUF电路生成的唯一二进制值具有高加密质量,并保证在温度,电压和器件使用寿命内可重复。

芯片DNA应用

4图5显示了集成到安全认证器加密IC中的ChipDNA PUF技术的用例。

保护存储的数据

PUF

图4.受ChipDNA保护的SHA-3身份验证器可保护存储的数据。

在这种情况下,我们在需要时使用 ChipDNA PUF 密钥来解密用于身份验证序列的 EEPROM 存储的 SHA3 密钥。任何从EEPROM获取密钥的尝试都将导致AES加密数据对攻击者毫无用处。此外,任何探测 PUF 的努力都会导致其操作永久中断,导致设备无法操作,并且再次对攻击者无用。但是,如果设备未被篡改,它将通过按需生成 PUF 密钥并解密 SHA-3 机密以进行瞬时身份验证操作来忠实地实现其目的。

用于身份验证的密钥生成

PUF

图5.受 ChipDNA 保护的 ECDSA 身份验证器提供按需密钥生成。

在图5中,ChipDNA PUF密钥直接用作ECDSA签名计算的私钥。根据定义,对于ECDSA,私钥是一个随机数。ChipDNA是理想的,因为它会产生高加密质量的随机数。对于非对称ECDSA,还需要一个公钥来验证签名,它在数学上与私钥相关联。由于PUF密钥和本例中的ECDSA私钥永远不会暴露在IC外部,因此公钥将由器件内的ECC引擎计算并存储在EEPROM中,以便在请求时传输到主机控制器。

第二个例子还展示了ChipDNA PUF在有利于关键基础设施和管理的范围内。在更复杂的用例中,ChipDNA成为安全IC的不可变根密钥。

审核编辑:郭婷

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分