HonPUF 技术方案
基于级联纠错码的纯软件 SRAM PUF
方案架构
HonPUF 的核心流程分为注册(Enroll)和重建(Reconstruct)两个阶段:
注册 (Enroll): SRAM 上电数据 ⊕ rand_input(enrollKey)→ 级联编码 → 生成 Helper Data(可公开存储) 重建 (Reconstruct): 新的 SRAM 上电数据 ⊕ Helper Data → 级联解码 → 恢复密钥(reconKey)
级联纠错码(Cascade Code)
级联码是 HonPUF 的核心技术,与传统纠错码(RS、BCH)不同:
- 超强纠错能力,可以容忍高达 47% 的原始 BER
- 相比 BCH代数纠错码+软判决等方案,实现复杂度降低一个数量级
- 利用密码学哈希(SHA256)对重建结果进行校验,确保要么恢复出正确密钥,要么明确报告失败——不会静默产生错误密钥
后向修正(Backward Correct)
HonPUF 的一个独特能力:用恢复出的密钥反向修正带噪声的 SRAM 数据,得到"干净"的原始 PUF 数据。
这使得 HonPUF 不仅可以提取密钥,还可以用于芯片身份认证等需要原始 PUF 指纹的场景。
布局选型
HonPUF 提供 9 种预计算布局,覆盖从资源受限到高安全性的多种场景:
| 布局 | PUF 大小 | 密钥 (bits) | 适用场景 |
| COMBO_2080 | 2080 bits (260 B) | 260 | 极低资源 MCU (建议稳定位筛选) |
| COMBO_5120 | 5120 bits (640 B) | 256 | 小容量 SRAM (建议稳定位筛选) |
| COMBO_13760 | 13760 bits (1720 B) | 258 | 主流 MCU |
| COMBO_15824 | 15824 bits (1978 B) | 258 | 中等安全需求 |
| COMBO_22016 | 22016 bits (2752 B) | 258 | 高安全性 |
| COMBO_151360 | 151360 bits (18920 B) | 258 | 极高安全性 |
| COMBO_286208 | 286208 bits (35776 B) | 258 | 旗舰 MCU |
| COMBO_538704 | 538704 bits (67338 B) | 258 | 应用处理器 |
| COMBO_682496 | 682496 bits (85312 B) | 258 | 最高安全级别 |