PUF 基础知识
物理不可克隆函数(Physical Unclonable Function)入门
什么是 PUF
PUF(Physical Unclonable Function,物理不可克隆函数)是一种利用芯片制造过程中产生的物理差异来生成唯一"指纹"的技术。
每一颗芯片在制造时,即使设计完全相同,由于掺杂浓度、线宽偏差、氧化层厚度等工艺参数的微观随机波动,其物理特性也存在细微差异。PUF 就是利用这种天然的物理随机性来产生芯片独有的标识或密钥。
SRAM PUF应用
SRAM PUF输出一个与芯片唯一绑定的根密钥,作为信任根,提供芯片、设备的身份识别、认证、追踪、管控,提供其他密钥的安全存储。
可以在一定程度上增强设备安全性。
SRAM PUF 原理
SRAM(静态随机存储器)在上电瞬间,每个存储单元会随机进入 0 或 1 的状态。这种随机性来源于 CMOS 工艺中晶体管的阈值电压失配。
理想情况下,SRAM 上电数据应该是完全随机的 50% 概率分布,但由于芯片制造过程中引入的固定偏差,某些单元会有固定的倾向(偏向 0 或偏向 1),这些"偏差"构成了 PUF 的物理指纹。
关键在于:
- 芯片间差异大:不同芯片的 SRAM 上电数据模式不同
- 芯片内可重复:同一颗芯片多次上电,大部分比特位结果一致
- 噪声存在:由于热噪声、电压波动、温度变化,部分比特位每次上电结果可能翻转
BER(比特错误率)
BER(Bit Error Rate)即比特错误率,指 SRAM 上电数据中,与参考值(注册时采集的原始数据)不一致的比特所占比例。
例如:注册时采集到某比特为 1,重建时同一地址读出来是 0,则发生了一次比特错误。
根据实测数据,真实 MCU 的 SRAM 相邻采样之间稳定位比例约为 78% ~ 82%,折合 BER 约 10%。温度变化、电压波动、老化会增高 BER,达到20%。
传统 PUF 方案要求 BER ≤ 25%,HonPUF 可容忍高达 47% 的 BER。
FRR(错误拒绝率)
FRR(False Rejection Rate)即错误拒绝率,指合法的 PUF 注册数据在重建时因噪声导致纠错失败、被错误拒绝的概率。FRR 与 BER 正相关,BER 越高,纠错失败的几率越大。在 PUF 应用中,FRR 通常通过增加纠错冗余来降低,但这会牺牲提取比。
提取比
提取比指从原始 SRAM 数据中能够提取出的有效密钥比特占总比特数的比例。提取比与 BER 容忍能力是一对 trade-off:容忍的 BER 越高,需要的纠错冗余越大,提取比就越低。HonPUF 在容忍 47% BER 的极端噪声下,仍可通过优化的纠错设计维持一定的提取比。
三者关系
BER、FRR、提取比三者相互制约:纠错冗余(ECC)是连接三者的核心杠杆——增加冗余可降低 FRR、提高 BER 容忍度,但会降低提取比。HonPUF 提供多种布局,在不同取舍点上取得最佳平衡。
上图示意了不同提取比下 FRR 随 BER 变化的趋势:提取比越低(纠错冗余越大),曲线越往右偏移,能在更高的 BER 下维持较低的 FRR。HonPUF 的 9 种布局覆盖了从 12.5% 到 0.038% 的提取比范围,可根据目标 BER 和 FRR 要求灵活选型。
除了增大冗余,更好的纠错方案本身也能把曲线右移——在相同提取比下,级联码的重试次数越多,纠错越充分,同等 BER 下的 FRR 越低。HonPUF 的级联码支持可配置重试次数,例如重试 256 次的效果远优于不重试,让同一条曲线进一步右移。