PUF物理原理:硅物理不可克隆函数的物理基础

大家好,我是你们的硬件安全讲师。今天咱们聊点硬核的——PUF的物理原理。说白了,就是搞清楚一件事:为什么芯片能像指纹一样独一无二?

我刚开始接触PUF时,也觉得这东西挺玄乎。一个芯片,怎么就能“不可克隆”呢?后来亲手测了几百颗芯片的PUF响应,才真正理解——秘密就藏在芯片制造的那些“意外”里。

制造工艺偏差:PUF的“先天指纹”

你想想看,芯片制造是个纳米级的精细活。光刻、刻蚀、沉积、掺杂……每一步都有微小的随机波动。这些波动,就是PUF的物理根源。

核心认知:PUF不存储密钥,它“生成”密钥。密钥信息编码在芯片的物理结构中,而非存储在非易失存储器里。这意味着——物理攻击者找不到可读的存储单元。

我曾在某款MCU上做过对比测试:同一晶圆上相邻的两颗芯片,SRAM上电初始值有约12%的位不一致。这就是工艺偏差的直接体现。

常见的工艺偏差来源包括:

  • 栅氧厚度波动——影响阈值电压
  • 掺杂浓度不均匀——影响载流子迁移率
  • 线宽边缘粗糙度——影响互连延迟
  • 接触孔电阻变化——影响信号完整性

这些偏差在宏观上微不足道,但在纳米尺度下,足以让每个晶体管的行为产生可测量的差异。

PUF的熵源分析:你的密钥到底有多“随机”?

熵,是衡量随机性的指标。PUF的熵源质量,直接决定了密钥的安全性。

我个人习惯把PUF的熵源分为三类:

熵源类型 物理机制 典型PUF结构 熵含量
延迟偏差 路径传播延迟的随机波动 环形振荡器PUF、仲裁器PUF 中等(约0.5-0.8 bit/bit)
存储单元偏差 SRAM单元上电竞争状态 SRAM PUF、蝴蝶PUF 较高(约0.7-0.9 bit/bit)
阈值电压偏差 晶体管Vth的随机波动 基于电流镜的PUF 高(约0.8-0.95 bit/bit)

实战经验:我曾经评估过一款商用PUF IP,标称熵含量0.9 bit/bit。但实际测试发现,在高温85°C下,熵含量掉到了0.6。所以——一定要做全温度范围的熵评估,别只看常温数据。

硅物理不可克隆函数的分类与对比

搞清楚了熵源,咱们再看看常见的PUF实现方式。嗯,这里要注意——不同PUF的适用场景差别很大。

我按自己的工程经验,画了张对比表:

PUF类型 面积开销 稳定性 抗攻击能力 典型应用
仲裁器PUF 小(~1000门) 中等(需纠错) 弱(易受建模攻击) 轻量级认证
环形振荡器PUF 中等(~5000门) 较高 中等 密钥生成
SRAM PUF 零额外开销(复用SRAM) 中等(受温度影响大) 较高 低成本设备
基于反相器的PUF 小(~2000门) 高 高 高安全场景

你可能会问:为什么仲裁器PUF抗攻击能力弱?

原因很简单——它的行为可以用线性模型近似。攻击者收集足够多的挑战-响应对,就能用机器学习重建模型。我在一次安全评估中,亲眼看到团队用5000个CRP(挑战-响应对)就攻破了一个128位仲裁器PUF。所以,别在安全等级高的场景里裸用仲裁器PUF。

PUF的物理不可克隆性:到底有多“不可克隆”?

这个问题,我经常被问到。答案是:理论上不可克隆,工程上有条件限制。

物理不可克隆性建立在三个假设上:

  1. 制造偏差不可控——攻击者无法精确控制纳米级工艺波动
  2. 偏差分布随机——每个芯片的偏差模式是独立的
  3. 物理探测困难——反向工程需要破坏芯片结构

但要注意——如果攻击者能拿到芯片做FIB(聚焦离子束)分析,理论上可以提取PUF的物理结构。不过,这需要极高的成本和专业设备。对大多数应用场景来说,PUF提供的安全等级已经足够。

避坑指南:我曾经见过一个项目,把PUF响应直接暴露在芯片引脚上做测试。结果攻击者用逻辑分析仪抓到了完整的PUF响应序列。记住——PUF响应必须在芯片内部处理,永远不要裸传出去。

PUF的熵评估方法论

评估PUF的熵,不能只看平均值。我建议从三个维度入手:

  • 片间熵(Inter-die entropy)——不同芯片之间的差异度
  • 片内熵(Intra-die entropy)——同一芯片不同位置的差异度
  • 时间熵(Temporal entropy)——同一芯片在不同时间/环境下的稳定性

具体评估流程,我习惯这样走:

  1. 采集至少100颗芯片的PUF响应(每颗芯片采集100次以上)
  2. 计算汉明距离分布(片间和片内)
  3. 评估偏置(bias)——理想值是50%
  4. 做NIST随机性测试(至少通过SP 800-22的5项测试)
  5. 全温度范围(-40°C ~ 85°C)重复测试

小技巧:评估片间熵时,我习惯用“最小汉明距离”这个指标。如果任意两颗芯片的PUF响应汉明距离都大于30%(对于128位密钥),那熵源质量基本靠谱。

SVG:PUF物理原理与熵源结构图

下面这张图,是我梳理的PUF物理原理与熵源分析框架。你可以把它当作本章的知识地图。

PUF物理原理与熵源分析框架 制造工艺偏差(根源) 几何结构偏差 电学参数偏差 掺杂分布偏差 延迟型PUF 存储型PUF 模拟型PUF 混合型PUF 片间熵(Inter-die) 不同芯片间的差异度 片内熵(Intra-die) 芯片内部不同位置的差异 时间熵(Temporal) 环境变化下的稳定性 熵评估 → 密钥提取 → 纠错编码 → 安全存储 💡 核心要点: • PUF的物理基础是制造工艺偏差,这些偏差不可控、不可克隆 • 熵源质量决定密钥安全性,必须做全温度范围的熵评估

实战中的熵源陷阱

最后,分享几个我踩过的坑:

陷阱1:温度漂移

我曾经评估一款SRAM PUF,常温下片间汉明距离49.8%,完美。结果放到-20°C环境下,直接掉到32%。原因是低温下SRAM单元的上电竞争行为变了。解决方案——一定要做温度补偿或使用温度鲁棒的PUF结构。

陷阱2:老化效应

芯片用久了,PUF响应会漂移。我测过一批芯片,工作1000小时后,有约5%的位发生了翻转。所以——PUF密钥生成必须配合纠错码(ECC)和辅助数据。

我的建议:如果项目对稳定性要求高(比如车规级),优先考虑基于反相器或环形振荡器的PUF。它们对温度和电压的敏感度比SRAM PUF低一个数量级。