二、硬件信任根(RoT):PUF物理不可克隆函数、OTP存储、安全密钥注入

好,咱们接着聊硬件信任根。说白了,这就是芯片的「出生证明」和「身份证」。你想想看,一颗AI芯片要安全启动,总得有个最底层的信任锚点吧?这个锚点就是RoT。我个人习惯把RoT比作芯片的「基因」,它必须是唯一的、不可伪造的、不可篡改的。

在实际项目中,我见过太多因为RoT设计不到位导致整个安全体系崩塌的案例。嗯,这里要注意,RoT不是单一技术,而是PUF、OTP、密钥注入这三板斧的组合拳。

2.1 PUF:芯片的「指纹」

PUF,物理不可克隆函数。名字听着玄乎,其实原理很简单——利用芯片制造过程中不可避免的工艺偏差。每颗芯片的晶体管阈值电压、金属线延迟、SRAM上电初始值都不一样,这些差异就是PUF的物理熵源。

核心要点:PUF不是存储密钥,而是「生成」密钥。密钥只在需要时临时产生,用完即消失。这就避免了密钥被静态存储带来的泄露风险。

我在项目中遇到过一种典型的PUF实现——SRAM PUF。SRAM上电时,每个bit单元会随机偏向0或1,这个初始值就是芯片的「指纹」。但有个坑:SRAM PUF的稳定性受温度和电压影响很大。我曾经调试过一个案子,芯片在25℃下生成的密钥,到了85℃就变了5%的bit。这要是用在安全启动上,直接就变砖了。

避坑指南:我曾经因为PUF的可靠性评估不充分,导致量产时5%的芯片无法通过安全启动验证。后来我们加入了纠错码(ECC)和模糊提取器(Fuzzy Extractor),才把错误率压到ppm级别。记住,PUF必须配合辅助数据(Helper Data)使用,否则就是空中楼阁。

常见的PUF类型对比:

类型 熵源 优点 缺点
SRAM PUF SRAM上电状态 无需额外电路,标准CMOS工艺 对环境敏感,需要ECC
环形振荡器PUF 门延迟差异 稳定性较好 面积大,功耗高
仲裁器PUF 路径延迟差异 响应速度快 易受建模攻击
蝴蝶PUF 锁存器亚稳态 低功耗 需要校准

我个人偏好SRAM PUF,因为它在标准CMOS工艺下就能实现,不需要额外的模拟电路。但要注意,SRAM PUF的熵源质量取决于SRAM阵列的设计。我建议在芯片设计阶段就预留专门的PUF SRAM区域,别用系统主存来凑合。

2.2 OTP存储:一次编程,终身锁定

OTP,一次性可编程存储器。说白了就是「写一次,读无数次,再也不能改」。为什么需要OTP?因为安全启动的根密钥必须固化在芯片里,而且不能被篡改。

常见的OTP实现方式有两种:

  • 熔丝(Fuse)型:通过大电流烧断金属连线,编程后不可恢复。优点是可靠性高,缺点是面积大。
  • 反熔丝(Anti-fuse)型:通过击穿栅氧化层形成导电通道。优点是面积小,但编程电压高。

我记得有一次,客户要求我们在一颗AI芯片上实现安全启动。他们原本打算用Flash来存储根密钥,被我直接否了。为什么?Flash可以擦写,攻击者可以通过电压扰动、激光照射等手段篡改Flash内容。OTP一旦编程,物理上就无法改变,这才是硬件信任根该有的样子。

实战技巧:OTP的容量规划要留余量。我一般建议预留20%的冗余bit用于ECC纠错和后期功能扩展。另外,OTP的编程接口必须在量产阶段物理熔断,或者通过安全策略锁定,防止攻击者通过JTAG/SWD接口重新编程。

OTP在安全启动中的典型用途:

  1. 存储PUF的辅助数据(Helper Data)
  2. 存储芯片唯一ID
  3. 存储根公钥的哈希值
  4. 存储安全配置位(如调试接口锁定标志)
  5. 存储生命周期状态(如开发态→量产态→RMA态)

2.3 安全密钥注入:给芯片「上户口」

有了PUF生成密钥的能力,有了OTP存储不可变数据的能力,接下来就是密钥注入环节。这一步是在芯片量产时完成的,说白了就是给每颗芯片写入独一无二的「身份信息」。

安全密钥注入的流程,我总结为三步:

1. 芯片上电,PUF生成原始密钥K_puf
2. 使用K_puf解密从OTP读取的辅助数据,恢复出稳定密钥K_root
3. 将K_root写入安全寄存器,锁定OTP编程接口,完成注入

这里有个关键点:密钥注入必须在安全环境中进行。我参与过的一个项目,量产时直接在SMT产线上用JTAG烧录密钥,结果被中间人攻击截获了密钥流。后来我们改用了加密通道,产线设备与安全服务器之间建立TLS连接,密钥在传输过程中全程加密。

血的教训:我曾经见过一个团队,为了省成本,把密钥注入和功能测试放在同一个工站。结果测试程序有后门,攻击者通过修改测试向量,把量产芯片的密钥全部替换成了自己预设的值。嗯,从那以后,我坚持密钥注入必须使用独立的、物理隔离的安全工站。

安全密钥注入的三种模式:

模式 适用场景 安全等级 成本
离线注入 小批量、开发阶段
在线注入(加密通道) 中批量量产
硬件安全模块(HSM)注入 大批量、高安全要求

我个人建议,AI芯片这种高价值产品,至少要用在线注入+加密通道的方案。如果涉及车规或金融安全,直接上HSM,别犹豫。

2.4 三者的协同工作

PUF、OTP、密钥注入不是孤立的,它们必须协同工作才能构建完整的硬件信任根。我画个简单的逻辑流:

芯片上电
  → PUF生成临时密钥K_puf
  → 从OTP读取辅助数据Helper Data
  → 使用K_puf和Helper Data恢复根密钥K_root
  → K_root用于验证Boot ROM签名
  → 验证通过后,解锁下一级Boot Loader
  → 锁定调试接口,防止旁路攻击

你想想看,这个链条中任何一个环节被攻破,整个安全体系就崩塌了。所以我在设计时,会特别关注以下几点:

  • PUF的熵源质量必须经过充分测试,包括温度、电压、老化测试
  • OTP的编程接口必须在量产完成后物理熔断
  • 密钥注入过程必须有审计日志,每颗芯片的注入记录都要可追溯
  • Boot ROM必须固化在芯片中,不可修改

总结一句话:硬件信任根是AI芯片安全启动的「第一块砖」。PUF提供唯一性,OTP提供持久性,密钥注入提供可控性。三者缺一不可,顺序也不能乱。

好了,这一章的内容就到这里。下一章我们聊聊安全启动的完整流程,看看Boot ROM是怎么一步步把信任链传递下去的。