物理不可克隆函数(PUF)硬件密钥:从基础到应用
1. 引言
在当今数字化时代,硬件设计的知识产权(IP)保护变得至关重要。据估计,全球 IT 行业因硬件仿冒每年损失高达 1000 亿美元。攻击者可以轻松窃取硬件配置信息并克隆硬件系统。为应对这一问题,物理不可克隆函数(PUF)应运而生。
1.1 PUF 简介
PUF 是一种嵌入物理结构中的函数,易于评估但难以预测,即使知道其精确制造过程也不行。最早关于 PUF 的研究始于 1983 年和 1984 年,“PUF” 这一术语在 2001 年和 2002 年被正式提出。
1.2 PUF 工作条件
PUF 的工作需要满足三个条件:
- 一个挑战的响应所提供的信息,对于另一个不同挑战的响应几乎没有参考价值。
- 没有对应的 PUF,几乎不可能给出特定挑战的响应,概率极低。
- PUF 具有防篡改特性。
1.3 PUF 分类
根据所利用的随机性,PUF 可分为两类:
| 类型 | 特点 | 示例 |
| ---- | ---- | ---- |
| 显式引入随机性的 PUF | 能更好地区分设备,受环境影响小 | 光学 PUF、涂层 PUF |
| 利用内在随机性的 PUF | - | 延迟 PUF、SRAM PUF 等 |
PUF 还可根据强度分类:
- 弱 PUF 密钥:制造商可以克隆,但其他人无法克隆。
- 强 PUF 密钥:制造商也无法克隆。
- 超强 PUF 密钥:比强 PUF 更强,下面将详细介绍。
1.4 PUF 的优缺点
PUF 具有诸多优点:
- 无需专用电源维持密钥存储。
- 消除数据残留问题。
- 减少保护存储设备的额外物理安全措施。
然而,现有的 PUF 也存在一些问题:
- 缺乏统计唯一性和对环境条件的鲁棒性。
- 可靠且重复生成至少 256 位唯一 PUF 的能力有待研究。
- 许多 PUF 易受数值建模攻击。
2. 构建 PUF 的工具
为了构建超强、强和弱 PUF 硬件密钥,我们将使用两种基于噪声的信息学工具:基尔霍夫 - 约翰逊噪声(KLJN)无条件安全密钥交换方法和基于噪声的逻辑(NBL)。
2.1 KLJN 密钥交换方法
KLJN 安全密钥交换方案于 2005 年首次提出,是量子密钥交换的统计/物理竞争对手。其安全性基于基尔霍夫环路定律和涨落 - 耗散定理,更广泛地基于热力学第二定律。
2.1.1 基本原理
基本的 KLJN 系统使用两对相同的电阻(RL 和 RH)和两个二进制开关。在每个时钟周期开始时,开关随机选择一个电阻连接到电缆,产生四种可能状态:LL、LH、HL 和 HH。其中,LH 和 HL 状态的信道噪声电压和电流幅度相同, eavesdropper(Eve)无法区分,但 Alice 和 Bob 可以根据自身电阻和信道噪声强度推断对方状态。
2.1.2 安全保障
理想的 KLJN 系统仅对被动(监听)攻击具有无条件(信息论)安全性。为了实现对主动(入侵)攻击和利用非理想元件特性的攻击的无条件安全,需要以下额外元素:
- 外部噪声发生器,以高精度保持稳定的噪声温度。
- 滤波器,将频率范围限制在测量带宽和无波极限内。
- Alice 和 Bob 测量两端的瞬时电压和电流值,并通过经过认证的公共信道进行比较。若值不同,可能表示存在入侵监听,相应的比特将被丢弃。
2.2 基于噪声的逻辑(NBL)
NBL 是一类新的确定性多值逻辑方案,信息载体是随机正交时间函数系统。这里我们关注随机电报波方案。
2.2.1 随机电报波(RTW)
随机电报波(RTW)具有离散幅度 ±1 和离散时间。在每个时钟周期开始时,RTW 以 50% 的概率取 1 或 -1,且在该周期内保持该值。
2.2.2 超空间向量
任意数量独立生成的 RTW 的乘积称为超空间向量:
[Wx(j) = \prod_{i=1}^{N} Ri(j)]
超空间向量也是具有相同统计特性的 RTW,并且与原始 RTW 或任何独立生成的 RTW 正交。
2.2.3 字符串验证方法
如果两个 RTW 独立生成,它们在 m 个时钟步长内幅度相同的概率为:
[P(m) = 2^{-m}]
为了用超空间向量表示 N 位长的字符串,需要 2N 个独立生成的 RTW 信号。Alice 和 Bob 可以使用相同的 2N 个独立随机数发生器来检测他们的 N 位字符串是否不同。
graph TD;
A[开始] --> B[Alice 和 Bob 拥有 N 位字符串];
B --> C[使用 2N 个独立随机数发生器];
C --> D[生成 RTW 乘积 WA(t) 和 WB(t)];
D --> E{WA(t) - WB(t) = 0?};
E -- 是 --> F[字符串相同];
E -- 否 --> G[字符串不同];
3. 超强 PUF 硬件密钥
超强 PUF 硬件密钥结合了 KLJN 无条件安全密钥交换和一次性密码本(OTP)。
3.1 初始化过程
制造商为 PUF 准备一个可克隆的安全密钥。用户首次使用密钥时,锁通过该可克隆密钥识别密钥,然后锁和密钥进行 KLJN 密钥交换,生成一个制造商也不知道的新密钥。新的安全密钥存储在芯片的闪存中,几乎无法访问。
3.2 使用过程
初始化后,每次使用密钥时,锁和密钥都会交换一个新的、独立的、无条件安全的密钥。这使得即使伪造者偶然成功克隆了密钥,在下一次合法用户使用时,克隆的密钥也将失效。
挑战/响应过程非常简单:锁请求 PUF 密钥发送上次使用时交换的安全密钥。交换的安全密钥用作一次性密码本,是最安全的通信方式。
3.3 安全性分析
如果伪造者试图打开锁,使用随机生成的 N 位长密钥成功的概率为 (2^{-N}),这是指数级小的概率。而且,没有关于下一个密钥的信息,对系统行为的建模/模拟也无法提供任何有用信息。
需要注意的是,至少需要交换 (N + log_2 F) 个密钥位,其中 F 是用于电流 - 电压比较以对抗主动/入侵攻击的经过认证的公共比特数。对数依赖性保证了认证带来的负载可以忽略不计。
4. 强 PUF 硬件密钥
这里介绍一种简化版的 PUF 密钥,它仍然属于“强”类型,即制造商在其首次使用后也无法克隆。
4.1 初始化阶段
当 PUF 密钥首次应用于锁时(初始化过程,必要时可重复),会进行密钥刷新。此阶段,锁和密钥会执行 KLJN 密钥交换,生成一个新的安全密钥。这个过程与超强 PUF 硬件密钥的初始化类似,通过 KLJN 方法保证了密钥生成的安全性。
4.2 后续使用阶段
在后续的应用中,该安全密钥不再作为一次性密码本使用。挑战 - 响应系统利用基于噪声的逻辑(NBL)超空间向量和字符串验证方法。具体步骤如下:
1. 制造商在设备中安装一个秘密密钥。
2. 当锁发出挑战时,密钥和锁分别使用相同的 2N 个独立随机数发生器,为 N 位字符串中的每个位及其值分配一个随机数发生器。
3. 基于这些随机数发生器生成的 RTW,分别计算超空间向量(如前文所述的 (Wx(j) = \prod_{i=1}^{N} Ri(j)) ),设为 Alice 的 (WA(t)) 和 Bob 的 (WB(t))。
4. 通过比较 (WA(t)) 和 (WB(t)) 来验证字符串是否相同。若它们在多个时钟步长内相同的概率极低(根据 (P(m) = 2^{-m}) ),则表明字符串不同,可能存在非法操作。
| 阶段 | 操作 | 安全保障 |
|---|---|---|
| 初始化 | 执行 KLJN 密钥交换生成新密钥 | KLJN 的无条件安全性 |
| 后续使用 | 使用 NBL 超空间向量和字符串验证方法 | NBL 的随机性和验证机制 |
graph TD;
A[首次使用初始化] --> B[执行 KLJN 密钥交换];
B --> C[生成新安全密钥];
C --> D[后续使用];
D --> E[锁发出挑战];
E --> F[密钥和锁使用 2N 个随机数发生器];
F --> G[生成超空间向量 WA(t) 和 WB(t)];
G --> H{WA(t) 和 WB(t) 是否相同?};
H -- 是 --> I[验证通过];
H -- 否 --> J[验证失败];
4.3 安全性特点
由于在首次使用后,制造商无法获取后续使用的密钥信息,且 NBL 方法的随机性和验证机制使得攻击者难以预测和伪造响应,因此该 PUF 密钥具有较强的安全性。
5. 弱 PUF 硬件密钥
弱 PUF 硬件密钥是利用噪声信息学的最简单形式。
5.1 系统构成
该系统包含制造商安装的一个秘密密钥。挑战 - 响应系统同样利用基于噪声的逻辑(NBL)的超空间向量和字符串验证方法。
5.2 工作流程
- 制造商在设备制造过程中,将秘密密钥安装到 PUF 硬件中。
- 当锁发出挑战时,密钥和锁使用相同的 2N 个独立随机数发生器,为 N 位字符串中的每个位及其值分配一个随机数发生器。
- 基于这些随机数发生器生成的 RTW,分别计算超空间向量 (WA(t)) 和 (WB(t))。
- 通过比较 (WA(t)) 和 (WB(t)) 来验证响应是否正确。
5.3 安全性分析
这种 PUF 密钥的特点是制造商可以克隆该密钥,但其他任何人无法克隆。因为制造商掌握了初始的秘密密钥,而外部攻击者没有获取该密钥的途径,且 NBL 的验证机制增加了伪造响应的难度。
6. 总结
物理不可克隆函数(PUF)硬件密钥为硬件设计的知识产权保护提供了有效的解决方案。通过不同强度的 PUF 硬件密钥(超强、强和弱),可以根据具体的应用需求和安全要求进行选择。
6.1 不同 PUF 类型对比
| PUF 类型 | 克隆情况 | 密钥更新方式 | 挑战 - 响应机制 | 安全性 |
|---|---|---|---|---|
| 超强 PUF | 几乎不可能克隆 | 每次使用都更新 | 一次性密码本 | 极高 |
| 强 PUF | 首次使用后制造商无法克隆 | 首次使用时更新 | NBL 超空间向量和字符串验证 | 高 |
| 弱 PUF | 制造商可克隆,其他人无法克隆 | 无动态更新 | NBL 超空间向量和字符串验证 | 中等 |
6.2 未来展望
随着信息技术的不断发展,对硬件安全的要求也越来越高。PUF 技术有望在更多领域得到应用,如物联网设备、智能卡等。同时,进一步研究如何提高 PUF 的统计唯一性、对环境的鲁棒性以及抵抗各种攻击的能力,将是未来的重要研究方向。通过不断改进和创新,PUF 硬件密钥将为数字世界的安全提供更可靠的保障。
超级会员免费看
167

被折叠的 条评论
为什么被折叠?



