稳定位筛选
用多采样筛选提升 PUF 原始质量,降低对纠错码的依赖
什么是稳定位筛选
SRAM 上电时,每个存储单元由于晶体管阈值电压的随机失配,会倾向 0 或 1。其中一部分单元的偏向非常强——无论温度、电压如何变化,每次上电结果都相同,这些称为稳定位。另一部分单元偏向较弱,容易受热噪声、电压波动影响而翻转,称为不稳定位。
稳定位筛选(Stable Bit Screening)的基本思路是:对同一 SRAM 区域多次上电采样,记录每次结果,只选取那些在所有采样中表现一致的比特位用于 PUF 密钥生成。
核心权衡:筛选得越严格,留下的比特越稳定;但筛选时间越久(每次掉电时间至少要数百毫秒)。
筛选方法
多次上电采样法
在产线注册阶段,对目标 SRAM 区域执行 N 次上电采样(通常 N = 3 ~ 11 次),记录每次的 0/1 结果:
位地址: 0 1 2 3 4 5 6 7 ... 采样 1: 0 1 0 1 1 0 1 0 采样 2: 0 1 0 0 1 0 1 0 采样 3: 0 1 0 0 1 0 1 1 ------------------------------- 一致? ✅ ✅ ✅ ❌ ✅ ✅ ✅ ❌
筛选策略:
- 严格模式(N 次全一致):要求所有 N 次采样结果完全相同,筛选出的比特 BER 极低,但可用比特数较少
- 宽松模式(多数一致):允许少数次采样不一致(如 5 次中至少 4 次相同),可保留更多比特,但 BER 略高
筛选效果
根据对真实 MCU SRAM 的实测数据,多次采样筛选的效果如下:
| 采样次数 | 筛选条件 | 稳定位比例 |
| 4次 | 4 次全一致 | ~81% |
| 16 次 | 16 次全一致 | ~79% |
| 32 次 | 32 次全一致 | ~78% |
| 64 次 | 64 次全一致 | ~77% |
注意:以上数据为典型值,具体比例因芯片制造工艺、SRAM 类型和工作环境而异。实际应用中建议在目标芯片上进行实测标定。
与纠错码的配合
稳定位筛选与纠错码是两种互补的降低 FRR 手段:
| 手段 | 原理 | 优点 | 缺点 |
| 稳定位筛选 | 从源头减少噪声比特 | 降低输入 BER,减轻 ECC 负担 | 需要多次上电采样,占用额外 Flash 存掩码 |
| 纠错码 | 从算法层面纠正噪声比特 | 无需额外硬件操作,纯软件实现 | 纠错能力有限,冗余越大提取比越低 |
在 HonPUF 中,两者的配合策略:
- 小布局(COMBO_2080 / COMBO_5120):纠错能力较弱,强烈建议配合稳定位筛选使用,将输入 BER 降至 5% 以下
- 中等布局(COMBO_13760 ~ COMBO_22016):纠错能力足以应对消费/工业级噪声,可不做筛选直接使用
- 大布局(COMBO_286208 及以上):纠错能力极强,无需筛选
提取比的影响
稳定位筛选会降低有效提取比——因为掩码丢弃了一部分不稳定比特,等效于需要更大的原始 SRAM 面积来产出同等长度的密钥。
举例:若原始 SRAM 可用 32KB,筛选后仅有 75% 的比特稳定,则有效 PUF 大小降至 24KB。为获得 256 位密钥:
- 不筛选:选 COMBO_15824(1.98KB)即可,提取比 1.63%
- 筛选后(75%可用):等效 PUF 大小为 1.98KB ÷ 0.75 ≈ 2.64KB,需要更大的布局或在芯片上分配更多 SRAM 区域
但筛选带来的好处是显著的——筛选后的 BER 大幅降低,使得小布局也能在极低 FRR 下稳定工作,对于 SRAM 资源极度受限的 MCU(如仅有 4~8KB 可用 SRAM)来说,这是唯一可行的方案。
产线流程
在产线注册中集成稳定位筛选的典型流程:
1. 对 SRAM 区域进行 N 次上电采样,记录每次结果 2. 逐比特比对 N 次采样结果,生成稳定位掩码 3. 将掩码写入片上 Flash 读保护区域(或 OTP) 4. 用稳定位掩码过滤后的数据,执行正常的 PUF 注册流程 5. 产线重建验证:用掩码 + 注册数据重建密钥,确认一致性
对于 HonPUF,由于采用级联纠错码,即使筛选后的稳定位仍有少量残余噪声,也能通过 ECC 自动纠正,不增加 FRR。