3. PUF基本概念:定义、工作原理、与TRNG/密钥存储的区别、理想PUF属性

物理不可克隆功能(Physical Unclonable Function,PUF)是硬件安全领域的一项基础性技术,其核心思想是利用芯片制造过程中不可避免的工艺偏差(Process Variation)来生成独一无二的“芯片指纹”。与传统的数字密钥存储方式不同,PUF不将密钥以二进制形式存储在非易失性存储器(NVM)中,而是通过物理实体的微观结构特征来“提取”密钥。本章将系统阐述PUF的定义、工作原理、与TRNG及密钥存储的本质区别,并深入解析理想PUF应具备的三大核心属性:可靠性、唯一性与不可克隆性。

PUF核心概念关系图 PUF 物理不可克隆功能 可靠性 (Reliability) 同一芯片多次读取结果一致 容忍温度/电压/老化漂移 目标:BER < 1e-6 唯一性 (Uniqueness) 不同芯片响应差异显著 芯片间汉明距离≈50% 目标:Inter-HD 接近理想值 不可克隆性 (Unclonability) 物理结构无法精确复制 制造偏差随机且不可控 即使原厂也无法再造相同芯片 激励-响应 (CRP机制) 与TRNG / 密钥存储的本质区别 TRNG 真随机数生成 每次结果不同 密钥存储 NVM/Flash存储 易受物理攻击 PUF 物理特征提取 密钥不落盘 应用:芯片认证 · 密钥生成 · 防伪溯源 · 安全启动

3.1 PUF的定义与核心原理

PUF是一种基于物理实体微观结构差异的硬件安全原语。其本质是一个“激励-响应”(Challenge-Response Pair,CRP)系统:当向PUF电路输入一个激励信号(Challenge)时,由于芯片制造过程中产生的随机工艺偏差(如晶体管阈值电压失配、金属层线宽波动、氧化层厚度差异等),PUF会输出一个唯一且不可预测的响应信号(Response)。这个响应就是该芯片独有的“物理指纹”。

从半导体物理角度看,PUF的随机性来源是深亚微米工艺下的工艺偏差。即使使用完全相同的光罩和工艺流程,同一晶圆上不同位置的芯片,其晶体管的电学参数也会存在微小差异。这些差异在宏观尺度上不可控、不可预测,但在微观尺度上却是稳定的物理特征。PUF正是利用这些特征来生成密钥或进行身份认证。

3.1.1 核心原理:工艺偏差的利用

以最经典的SRAM PUF为例,其工作原理如下:SRAM单元由两个交叉耦合的反相器构成,在上电瞬间,由于两个反相器中晶体管阈值电压(Vth)的微小失配,每个单元会随机地稳定在逻辑“0”或逻辑“1”状态。这种上电初值在芯片制造完成后即被“固化”,成为该芯片的独特签名。对于同一芯片,每次上电读取的结果高度一致(可靠性);对于不同芯片,相同地址单元的上电初值则表现出显著的随机性(唯一性)。

关键理解:PUF不是“生成”随机数,而是“提取”物理实体的固有随机特征。它不存储任何密钥数据,密钥在需要时才被“唤醒”或“重建”。这意味着即使攻击者完全读取了芯片的存储内容,也无法获得有效的密钥信息。

3.1.2 PUF的CRP工作机制

PUF的CRP机制可以形式化描述为:R = f(C, P),其中C是激励输入,P是芯片的物理特征参数(工艺偏差),f是PUF电路的传递函数,R是响应输出。对于强PUF(如Arbiter PUF),激励空间呈指数级增长,每个激励都对应一个独特的响应;对于弱PUF(如SRAM PUF),激励空间有限,通常直接读取单元状态作为响应。

PUF类型 激励空间 典型实现 主要应用
弱PUF 有限(线性) SRAM PUF、D触发器PUF、RO PUF 密钥生成、设备指纹
强PUF 指数级 Arbiter PUF、Bistable Ring PUF 挑战-响应认证、防伪

3.2 PUF与TRNG、密钥存储的本质区别

在硬件安全设计中,PUF、TRNG(真随机数发生器)和传统密钥存储是三种截然不同的技术路径。理解它们的区别对于正确选择安全方案至关重要。

3.2.1 PUF vs TRNG

TRNG(True Random Number Generator)利用热噪声、抖动等熵源产生每次都不相同的随机数,其核心要求是不可预测性和非确定性。而PUF的核心要求是可重复性和确定性——同一芯片对同一激励必须产生相同的响应。简言之:TRNG每次输出都不同,PUF每次输出必须相同。两者在芯片上可以共存,但设计目标和验证方法完全不同。

3.2.2 PUF vs 传统密钥存储

传统密钥存储(如eFuse、Flash、EEPROM)将密钥以二进制形式持久化存储在非易失性存储器中。这种方式的致命弱点是:攻击者可以通过物理探针、聚焦离子束(FIB)切割、侧信道分析等手段直接读取或推断密钥。PUF则从根本上规避了这一风险——密钥不以明文形式存在于任何存储介质中,而是“隐藏”在物理结构中。当需要密钥时,PUF通过读取物理特征来重建密钥;当不需要时,物理特征“消失”在芯片的微观结构中,无迹可寻。

重要警示:PUF并非安全。其响应在极端温度、电压波动和器件老化条件下可能发生位翻转(Bit Flip)。因此,在实际应用中必须配合纠错电路(ECC)和模糊提取器(Fuzzy Extractor)来稳定输出。此外,PUF的物理特征可能受到恶意老化攻击或激光注入攻击的影响,设计时需考虑相应的防护措施。

3.3 理想PUF的三大核心属性

一个理想的PUF必须同时满足可靠性、唯一性和不可克隆性三大属性。这三个属性相互独立又相互制约,是评估PUF性能的核心指标。

3.3.1 可靠性(Reliability)

可靠性衡量的是同一PUF在不同环境条件下(温度、电压、老化)产生一致响应的能力。数学上,可靠性通常用误码率(Bit Error Rate,BER)或芯片内汉明距离(Intra-Hamming Distance,Intra-HD)来量化。理想情况下,同一芯片在不同时间、不同环境下读取同一激励,响应应该完全一致,即Intra-HD = 0。

在实际工程中,可靠性受以下因素影响:

  • 温度漂移:晶体管阈值电压随温度变化,可能导致SRAM单元的上电初值翻转。
  • 电压波动:供电电压的瞬态跌落会影响PUF电路的建立时间。
  • 器件老化:负偏压温度不稳定性(NBTI)和热载流子注入(HCI)会改变晶体管参数。
  • 噪声干扰:电源噪声和衬底耦合噪声可能引起亚稳态。

提升可靠性的常用方法包括:多次读取取多数表决、温度补偿电路、纠错码(如BCH码)、以及模糊提取器中的安全密钥协商机制。

3.3.2 唯一性(Uniqueness)

唯一性衡量的是不同PUF芯片之间响应的差异性。理想情况下,任意两颗不同芯片对同一激励的响应应该完全独立,即芯片间汉明距离(Inter-Hamming Distance,Inter-HD)接近理论最大值50%。如果Inter-HD显著偏离50%,说明PUF的响应存在偏向性(Bias),攻击者可以利用这种偏向性来预测响应。

唯一性的评估方法:在相同测试条件下,对N颗芯片施加相同的激励集,计算所有芯片两两之间的汉明距离,取平均值。理想值为N/2(即50%)。工程上,Inter-HD在45%~55%范围内被认为是可接受的。

3.3.3 不可克隆性(Unclonability)

不可克隆性包含两层含义:物理不可克隆和数学不可克隆。物理不可克隆是指即使攻击者拥有制造PUF的完整工艺参数和光罩文件,也无法制造出一颗响应完全相同的芯片——因为工艺偏差是随机且不可控的。数学不可克隆是指即使攻击者获得了大量的CRP(激励-响应对),也无法通过建模或机器学习方法预测未知激励的响应。

对于强PUF,数学不可克隆性尤为重要。攻击者可能通过收集数千个CRP来训练神经网络模型,试图逼近PUF的传递函数。因此,强PUF的设计必须保证激励-响应关系具有足够的非线性复杂度,使得建模攻击的计算复杂度呈指数级增长。

属性 量化指标 理想值 工程可接受范围 主要威胁
可靠性 Intra-HD / BER 0% < 5%(配合ECC后 < 1e-6) 温度、电压、老化
唯一性 Inter-HD 50% 45% ~ 55% 工艺偏差不足、设计偏向
不可克隆性 建模攻击成功率 ≈ 50%(随机猜测) < 60% 机器学习建模、侧信道

3.4 实战场景:SRAM PUF在安全芯片中的应用

为了更直观地理解PUF的实际应用,我们以一个典型的物联网安全芯片设计为例,展示SRAM PUF如何用于设备身份认证和密钥管理。

3.4.1 项目背景与约束

某智能门锁方案商需要为每把锁生成唯一的设备密钥,用于与手机APP进行蓝牙配对认证。传统方案使用eFuse烧录密钥,但存在以下痛点:

  • eFuse烧录需要额外的测试工序,增加制造成本。
  • 密钥一旦烧录,无法更改,且容易被物理探针读取。
  • 供应链环节存在密钥泄露风险。

3.4.2 初始现象与目标

该方案商决定改用SRAM PUF方案。目标指标:密钥长度128-bit,误码率低于1e-6,芯片间汉明距离大于45%,芯片面积开销小于0.1mm²(在40nm工艺下)。

3.4.3 关键参数与测试数据

在量产测试阶段,对1000颗芯片进行了以下测试:

测试条件:VDD = 1.1V ± 10%,温度范围 -40°C ~ 85°C
测试结果:
- 平均Intra-HD(常温25°C):1.2%
- 最大Intra-HD(85°C高温):3.8%
- 平均Inter-HD:49.7%
- 最小Inter-HD:46.2%
- 128-bit响应中,平均翻转位数:1.5 bit(常温),4.9 bit(高温)

3.4.4 分析判断与方案调整

测试数据显示,常温下可靠性良好,但高温下误码率偏高。分析发现,高温导致SRAM单元中部分临界失配的单元发生翻转。解决方案:

  1. 增加冗余位:将PUF响应长度从128-bit扩展到256-bit,通过BCH纠错码(可纠正8-bit错误)提取128-bit稳定密钥。
  2. 多数表决:每次读取时连续读取7次,取多数值作为最终响应,将有效误码率降低约3个数量级。
  3. 温度补偿:在PUF读取电路中加入温度传感器,当温度超过70°C时,自动调整参考电压。

3.4.5 结果对比与复盘

经过优化后,最终量产数据:

指标 优化前 优化后 目标值
最大BER(85°C) 3.8% 0.02% < 0.1%
密钥重建成功率 96.5% 99.99% > 99.9%
额外面积开销 0.08mm² 0.12mm² < 0.15mm²
经验总结:PUF设计不是简单的“上电读状态”,而是一个需要综合考虑工艺、环境、纠错、安全性的系统工程。建议在项目早期就进行充分的温度循环测试和老化测试,避免在量产阶段才发现可靠性问题。同时,PUF的响应数据属于敏感信息,测试过程中需要防止响应数据泄露到外部接口。

3.5 常见误区与设计要点

在PUF的工程实践中,设计者常陷入以下误区:

误区一:认为PUF可以完全替代TRNG。PUF的输出是确定性的(同一芯片同一激励结果相同),而TRNG的输出必须是非确定性的。两者用途完全不同:PUF用于密钥存储和身份认证,TRNG用于生成会话密钥、随机数种子等。在安全芯片中,两者通常同时存在、协同工作。
误区二:忽视PUF响应的偏置性(Bias)。如果SRAM单元的上电初值偏向于“0”或“1”,会降低有效熵,使Inter-HD偏离50%,同时为攻击者提供可利用的统计信息。设计时应通过后处理(如Von Neumann校正器)来消除偏置。
误区三:认为PUF响应可以直接作为密钥使用。PUF的原始响应包含错误位,不能直接用于加密运算。必须经过模糊提取器(Fuzzy Extractor)处理,包括纠错编码和哈希压缩,才能生成稳定的、均匀分布的密钥。

总结而言,PUF为硬件安全提供了一种“无密钥存储”的全新范式。理解其定义、工作原理、与TRNG/密钥存储的区别,以及可靠性、唯一性、不可克隆性三大属性,是设计安全、可靠、可量产PUF方案的基础。在实际项目中,设计者需要根据应用场景(弱PUF用于密钥生成,强PUF用于认证)选择合适的PUF架构,并通过纠错、温度补偿、后处理等手段确保PUF在真实环境中的稳定性和安全性。