基于eDRAM PUF的芯片自认证架构:低成本硬件信任根实现
1. 项目概述当芯片需要一张无法伪造的“身份证”在芯片设计领域有一个问题一直像幽灵般困扰着从业者如何确保一颗芯片是“正品”而不是一个廉价的、功能不稳定的克隆品传统的解决方案比如在芯片里烧录一个唯一的序列号ID就像给产品贴上一个防伪标签。但问题在于这个标签本身是可以被复制和伪造的。攻击者通过物理手段如逐层剥离芯片读取到这个ID就能批量生产出拥有相同“身份证”的假芯片混入供应链造成巨大的安全和经济损失。这就引出了硬件安全的一个核心概念硬件信任根。我们需要一个从物理层面就独一无二、无法克隆的“根”来证明芯片的身份。物理不可克隆功能PUF就是这个问题的优雅答案。它不存储任何信息而是巧妙地利用了半导体制造过程中无法避免、也无法精确控制的微观工艺偏差——比如晶体管阈值电压的微小差异、电容氧化层厚度的不均匀性。这些偏差对于每个晶体管、每个存储单元都是随机的就像人类的指纹一样使得每一颗芯片都拥有一个独一无二的物理特征。我这次要深入拆解的是IBM研究团队在2013年提出的一种非常巧妙的PUF实现方案基于嵌入式DRAMeDRAM的自认证芯片架构。它没有使用额外的专用电路来生成PUF而是“废物利用”将芯片中本就大量存在的嵌入式DRAM内存阵列变成了一个巨大且稳定的物理指纹源。这个设计的精妙之处在于它不仅生成了指纹还构建了一套完整的、芯片可以“自证清白”的认证协议极大地减轻了服务器端OEM的验证负担。对于从事安全芯片、物联网终端、处理器设计的工程师来说理解这套架构背后的设计哲学和实现细节能为我们打开一扇新的大门如何在不显著增加成本和面积的前提下为芯片赋予原生、高强度的安全身份。2. 核心思路从“指纹库比对”到“密钥问答挑战”在深入技术细节前我们得先看看传统PUF认证方案的瓶颈在哪里这样才能理解这篇论文设计的出发点。2.1 传统PUF认证的沉重负担想象一下你有一百万个员工每个员工都有一张包含4096个随机点比特的指纹卡即一个4Kb的PUF响应。当某个员工需要进门时门卫OEM服务器需要把他的实时指纹可能因为出汗、污渍有少量点模糊和数据库里一百万张指纹卡逐一进行模糊比对直到找到一个相似度超过84%的为止。这种“全数据库模糊匹配”的模式存在几个致命问题存储爆炸每个芯片的“指纹”是完整的4Kb位图。一百万个芯片就需要约500MB的存储空间1M * 4Kb。这还只是一个指纹如果为了增强安全性存储多个开销呈线性增长。算力黑洞每次认证都需要进行一百万次高维度的相似度计算例如计算汉明距离计算复杂度是O(N)随着芯片数量增加服务器很快就会不堪重负。延迟显著海量比对导致认证延迟很高难以应对高并发场景。论文中提到的“Chip Bitmap ID”方法就面临这样的困境。它虽然利用了PUF的不可克隆性但把所有的计算和存储压力都甩给了OEM端在规模化部署时缺乏可行性。2.2 SAIID架构的范式转换SAIIDSelf-Authenticating Intrinsic ID架构的核心思想是进行了一次巧妙的范式转换将“指纹比对”问题转化为“密钥问答”问题。芯片不再需要提交完整的指纹而是证明自己拥有生成特定指纹的“能力”。具体来说这个架构包含了以下几个关键创新点分离身份与认证公开ID一个简短的如20位序列号存储在eFUSE中。它的作用仅仅是让OEM在庞大的数据库中快速“找到”这台设备的档案类似于身份证号。这个ID可以被克隆但单独它没有认证价值。秘密密钥OEM数据库为每个芯片存储的不是完整的指纹位图而是一组“指令”或“配方”。这个配方包括从整个大内存阵列中随机选择了哪几个小区域域以及对这些区域的指纹进行随机偏移叠加的规则。这个密钥非常短论文中约152比特是OEM和芯片之间的共享秘密。芯片端完成核心计算当芯片需要认证时OEM通过加密网络向芯片发送挑战即那个“秘密密钥”。芯片收到指令后在本地利用其嵌入式DRAM根据密钥指定的域和偏移规则重新生成一个4Kb的位图称为再生SAIID。芯片内部还有一个在出厂时生成并永久存储在eFUSE中的本地SAIID副本。芯片内部的一个比较器会将再生SAIID与本地SAIID进行比对。注意这里比对的是两个由相同物理DRAM、根据相同“配方”生成的位图。由于工艺偏差是固定的在相同操作条件下它们应该高度一致。“测谎仪”协议提升安全性芯片不会简单回答“匹配”或“不匹配”。攻击者可以劫持这个单比特输出有50%的猜中概率。取而代之的是OEM会发起多轮挑战。每一轮它都发送一个不同的“配方”即选择不同的内存域和偏移组合。对于真正的芯片只有当配方恰好是当初生成本地SAIID的那个或那几个时内部比对才会成功输出“真”对于其他任意配方比对都会失败输出“假”。芯片将多轮挑战的应答一串“真/假”比特流串联起来构成一个应答字符串。只有真正的芯片才能对OEM发出的特定随机挑战序列给出完全正确的应答模式。为了进一步提升安全性芯片甚至可以将这串应答字符串进行哈希如SHA-3运算只将哈希值发送给OEM。OEM在本地进行同样的计算并比对哈希值。这样即使网络被窃听攻击者也无法从哈希值反推出应答模式也无法得知哪些挑战对应了“真”结果。这个架构的精髓在于将海量位图的存储和模糊匹配的计算从OEM服务器转移到了每个芯片内部。OEM只需要存储极短的密钥并进行快速的哈希值比对开销微乎其微。而芯片则利用其固有的、不可克隆的物理特性完成了一次优雅的“自认证”。3. 技术基石如何从嵌入式DRAM中“榨取”稳定指纹理解了顶层架构我们再来看看地基——如何从普通的嵌入式DRAM中稳定、可靠地提取出作为PUF的“指纹”。这是整个方案能否落地的关键。3.1 利用DRAM的“保持时间”特性DRAM动态随机存取存储器靠电容存储电荷来表示数据“1”或“0”。由于电容会通过晶体管漏电数据会随时间丢失因此需要定期刷新这个时间就是“保持时间”。论文利用的正是这个特性在可控的条件下故意让某些存储单元因漏电过快而失效这些失效单元的分布模式就是芯片的物理指纹。具体操作流程如下写入背景向整个DRAM阵列如4Mb的所有单元写入逻辑“1”即对电容充电。可控泄漏进入一个特定的“保持”阶段。此时通过调节字线低电压VWL可以精确控制晶体管的亚阈值漏电流。提高VWL会增加漏电。读取与生成位图经过一个设定的暂停时间后读取阵列。那些因漏电导致电荷低于感应放大器Sense Amplifier阈值的单元会读出“0”FAIL其他单元读出“1”PASS。这样就得到了一张显示哪些单元“失效”的位图Bitmap。实操心得VWL调节是关键为什么选择调节VWL而不是简单地等待更长时间因为温度和工艺波动会严重影响漏电速率。固定时间下同一芯片在不同温度下产生的失效位图可能差异很大导致PUF响应不稳定。通过动态调节VWL可以主动补偿这些环境变化目标是让每次生成的位图中失效单元的总数稳定在一个目标值如32K个失效。这相当于将不稳定的“绝对漏电速度”转换成了稳定的“相对失效数量”大大提高了指纹的可重复性。3.2 从海量位图到精炼的“指纹串”直接使用整个4Mb的原始失效位图作为指纹是不现实的它太庞大且包含大量冗余信息。SAIID架构通过以下步骤进行精炼逻辑域划分将整个4Mb的物理存储空间通过地址加扰如镜像操作的方式逻辑上划分为1024个1K互不重叠的4Kb小区域称为“域”。加扰的目的是打破物理上相邻单元可能存在的相关性比如同一行单元可能因工艺梯度同时失效确保每个域内的失效分布是随机的。生成指纹串对每个4Kb的域将其位图转换成一个4096位的二进制串称为指纹串FPS。由于目标是在4Mb中产生32K个失效平均到每个4Kb域大约有32个位是“1”失效其余都是“0”通过。因此FPS是极度偏向“0”的稀疏向量。3.3 核心加密步骤随机域选择与偏移叠加这是生成最终SAIID的“魔法”步骤也是秘密密钥的主要组成部分。随机选择从1024个域中随机选择6个。这个选择组合本身就是秘密的一部分。选择6个域而非全部既提供了足够的随机性组合数巨大又控制了最终SAIID的生成复杂度。随机偏移对每个被选中的域的4096位FPS进行循环随机偏移。比如将整个串向右循环移动X位X是0到4095之间的随机数。这个偏移量是另一个秘密。按位或叠加将6个经过随机偏移后的4Kb FPS进行按位“或”操作。因为FPS非常稀疏大部分是0叠加后最终SAIID中“1”的位置基本就是这6个域中所有失效位经过偏移后的并集。平均会产生约6 * 32 192个“1”。设计考量为什么是“或”操作而不是其他使用“或”操作有两个好处一是计算简单硬件实现容易一组或门即可二是它具有“累积性”只要某个域在某个位置有失效最终SAIID对应位置就是“1”这保证了从同一个芯片、根据相同密钥生成的SAIID具有高度一致性。如果使用“与”操作则要求所有被选域在相同位置都失效概率极低会导致生成的SAIID极其稀疏甚至全零不适合用于比对。通过这一系列操作我们得到了一个4Kb的SAIID。它源自芯片独特的物理特性并且其生成方式哪6个域、每个域偏移多少被加密成了一个很短的密钥约152位。不知道这个密钥即使拥有完全相同的物理芯片也无法复现出相同的SAIID。4. 硬件实现与系统流程拆解纸上谈兵终觉浅我们来看看这套精妙的逻辑是如何映射到实际的硅片上的。论文中给出了一个可能的VLSI实现框图我们可以沿着数据流来理解。4.1 生成阶段指纹的诞生与固化BIST引擎驱动芯片内部有一个内建自测试引擎它负责执行前述的DRAM指纹提取流程。它控制写入“1”的背景模式管理VWL的调节算法通常是二分搜索以达成目标失效数如32K并最终扫描出整个4Mb的失效位图。扫描与域捕获BIST引擎以流水线方式在扫描时钟驱动下将4Mb的位图数据串行输出。同时它产生地址。一个地址加扰器如镜像电路将物理地址转换为逻辑域地址。系统中有6组4Kb的移位寄存器每一组都预置了OEM指定的“域选择地址”密钥的一部分。当扫描到的逻辑域地址与某个寄存器的选择地址匹配时该域的4Kb位图数据就会被捕获到对应的移位寄存器中。偏移与叠加当6个指定域的位图都被捕获后每个移位寄存器根据密钥中对应的偏移量进行循环移位。最后6个移位寄存器的输出并行送入一个按位“或”逻辑阵列实时产生最终的4Kb SAIID位流。熔丝存储生成的SAIID被编程写入到一次可编程电熔丝阵列中作为本地SAIID永久保存。eFUSE是非易失性的即使断电信息也不会丢失。这一步在芯片出厂测试阶段完成。4.2 认证阶段芯片的“自证”仪式当芯片在终端现场需要证明自己时一场精密的问答开始了身份声明认证方OEM服务器首先询问芯片的公开ID从eFUSE中读取。OEM用这个ID在自己的数据库中找到对应的记录取出该芯片的秘密密钥即那6个域的地址和6个偏移量。发起挑战OEM通过加密信道将秘密密钥发送给芯片。这就是一个“问题”“请根据配方A域X1,X2…X6 偏移O1,O2…O6重新生成你的SAIID。”芯片应答芯片内部的SAIID生成器再次启动。由于4Mb的原始指纹位图在生成后可以保留在DRAM中或需要时快速重新生成它利用这个位图、结合收到的密钥在本地再生SAIID。芯片从eFUSE中读出之前存储的本地SAIID。一个内部的比较器电路对这两个4Kb的位图进行逐位比对。由于工艺偏差和环境条件可能略有变化这里采用“模糊匹配”即计算两个位图之间相同的比特数或汉明距离。芯片内部根据比对结果产生一个初步的布尔输出匹配真或不匹配假。多轮挑战与测谎OEM不会只问一个问题。它会连续发起多轮比如128轮挑战每一轮都使用一个随机生成的密钥。对于真正的芯片只有当挑战密钥恰好与它本地存储的SAIID生成密钥之一匹配时内部比对才会成功。对于其他随机密钥比对都会失败。因此真正的芯片会输出一串特定的“真/假”模式。最终验证芯片将这128位的应答模式进行哈希运算将得到的哈希值发送给OEM。OEM在本地根据该芯片的合法密钥模拟同样的挑战-应答过程计算出预期的哈希值。两者比对一致则认证通过。注意事项时间与面积开销时间初始生成4Mb指纹位图大约需要1毫秒主要耗时在VWL二分搜索。之后每次生成SAIID主要是扫描4Mb数据并处理在1GHz时钟下约需4毫秒。多轮挑战如128轮总时间在几百毫秒量级对于设备上电认证等场景是可接受的。面积论文估算在22nm工艺下整个SAIID生成器包括移位寄存器、控制逻辑、比较器等的面积小于0.2平方毫米4Kb的eFUSE阵列面积约0.04平方毫米。对于现代SoC芯片面积往往在几十到上百平方毫米这个开销是微不足道的真正实现了“低成本高安全”。5. 安全性分析与工程化挑战任何安全方案都必须经受严格的安全性分析。SAIID架构的安全性建立在几个关键支柱上同时也面临一些工程实现上的挑战。5.1 防碰撞性如何保证指纹的唯一性核心问题是两个不同的芯片恰好产生相同SAIID的概率有多大这个概率必须极低否则就会出现“撞指纹”的虚假认证。理论基础由于每个DRAM单元的失效是独立的随机事件且每个域平均只有约32个失效点从1024个域中任选6个进行叠加产生的192个失效点在4Kb空间中的分布可以近似用超几何分布模型来分析。论文通过蒙特卡洛模拟和理论计算表明对于一百万颗芯片将认证阈值设置为50个重叠失效点即两个SAIID有50个以上的“1”位置相同才判为匹配其碰撞概率远低于10^-12完全可以满足99.9999%的成功认证率要求。硬件验证在22nm SOI工艺的超过50颗测试芯片上实测了芯片间SAIID的碰撞情况。如图9(b)所示最大观测到的重叠失效点数为18远低于50的安全阈值为实际部署提供了充足的保护带。5.2 抗攻击性如何抵御暴力破解和物理探测抗暴力破解攻击者不知道密钥只能盲目尝试。可能的攻击面是反复对芯片发起认证请求观察响应试图找出规律。SAIID架构的防御措施包括巨大的密钥空间选择6个域从1024中选有C(1024,6) ≈ 1.6e15种组合每个域的偏移有4096种可能。总的组合数超过7e22种。即使以每秒10亿次尝试的速度也需要超过10亿年才能穷举。这从计算上是不可能的。“测谎仪”协议单次应答没有意义。OEM通过随机、多轮的挑战要求芯片输出一长串特定的应答模式。攻击者即使猜中一次“真”也无法猜中整个128位的随机序列。哈希输出最终只输出哈希值攻击者无法从窃听的数据中反推哪些挑战是有效的。抗物理攻击侵入式攻击如去层、探针试图直接读取eFUSE中的本地SAIID或探测内部信号。然而即使攻击者成功克隆了本地SAIID这个位图离开了产生它的那片特定DRAM就毫无意义。因为其他芯片的DRAM物理特性不同无法用克隆的SAIID通过认证。更重要的是物理侵入行为本身很可能会改变DRAM单元的微观环境如应力、温度从而导致其指纹发生改变使得克隆的SAIID失效。这构成了一个内在的防篡改机制。侧信道攻击通过分析功耗、电磁辐射等来推断内部操作。这需要针对性的防护设计例如添加随机延迟、功耗均衡逻辑等这些可以集成在SAIID生成器的控制逻辑中。5.3 稳定性挑战如何应对环境波动这是PUF实际部署中最棘手的问题之一。温度、电压波动会导致DRAM单元的漏电特性变化从而可能让一些原本失效的单元通过或者让原本通过的单元失效。筛选机制在芯片出厂生成SAIID时并非所有生成的候选SAIID都会被采纳。论文设定了一个筛选阈值只保留那些包含至少100个失效比特的SAIID。如图7所示这确保了即使在最坏情况下假设只有50%的失效比特是绝对稳定的被选中的SAIID也至少有50个稳定失效比特高于防碰撞阈值50从而保证了认证窗口的存在。动态VWL补偿如前所述通过调节字线电压来动态补偿环境变化使每次生成的失效总数稳定在目标值附近这是提高比特级稳定性的根本手段。认证窗口如图10(c)所示硬件实测表明存在一个可靠的“认证窗口”。下限是防碰撞阈值如43个重叠比特上限是最坏情况下可稳定认证的比特数如100个。只要再生的SAIID与本地SAIID匹配的比特数落在这个窗口内就可以确信地通过认证。5.4 常见问题与排查思路在实际工程化中可能会遇到以下问题及应对策略问题现象可能原因排查思路与解决方案SAIID生成失败无法达到目标失效数1. DRAM工艺一致性太好固有缺陷少。2.VWL调节范围不足或算法陷入局部最优。3. 测试环境温度、电压极端。1.放宽目标适当降低目标失效数如从32K降至28K但需重新评估碰撞概率。2.优化算法采用更智能的VWL搜索算法或结合温度传感器进行前馈补偿。3.工艺设计在DRAM设计时可适当引入可控的工艺微变以增强PUF熵源。认证成功率随温度变化剧烈VWL补偿机制未能完全抵消温度对漏电的影响。1.增加温度校准点在多个温度点下表征VWL与失效数的关系建立查找表。2.采用片上温度传感器实时读取温度动态选择或插值VWD补偿曲线。3.引入纠错码对本地SAIID采用轻量级纠错码如BCH码存储认证时允许少量比特错误。芯片老化导致认证失败晶体管经年老化后阈值电压漂移改变了单元的漏电特性。1.老化预测模型在生成阶段模拟一定时间的老化预留余量。2.周期性刷新设计安全协议允许在设备生命周期内如在安全环境中重新生成并更新本地SAIID需更新OEM数据库密钥。3.选择老化效应小的单元研究表明某些类型的存储单元或工作点对老化相对不敏感。面积/功耗超出预算SAIID生成器、大容量eFUSE、哈希模块增加了开销。1.逻辑复用SAIID生成器中的移位寄存器、比较器等逻辑可与芯片已有的BIST或测试逻辑部分复用。2.减小规模评估安全性需求可考虑使用更小的DRAM阵列如1Mb或更少的域如4个以面积换安全。3.采用更先进的eFUSE新型eFUSE单元密度更高面积更小。6. 方案对比与演进思考将SAIID架构与传统的认证方案进行对比能更清晰地看到其优势特性传统熔丝ID芯片位图ID (PUF)SAIID (本文方案)唯一性编程确定可克隆物理唯一不可克隆物理唯一不可克隆防物理攻击弱可被探测读取强攻击会改变指纹强攻击会改变指纹OEM数据库开销极小仅存储ID极大存储完整位图极小存储短密钥认证速度快直接比对慢全库模糊匹配快哈希比对芯片面积开销小仅熔丝阵列无利用现有内存很小增加控制逻辑认证协议安全性低静态ID中提交完整指纹高挑战-应答可哈希从对比可以看出SAIID在继承了PUF物理不可克隆优点的同时完美解决了传统PUF认证方案在服务器端的扩展性瓶颈是一种非常实用的工程化方案。演进思考与扩展应用扩展到其他PUF类型该架构的核心思想——“存储生成指纹的配方而非指纹本身”——具有普适性。它可以应用于SRAM PUF、环形振荡器PUF等。只要能从物理结构中提取出稳定、熵值足够的比特流就可以用类似的随机选择、变换、叠加的方式进行加密和认证。与系统安全深度集成SAIID生成的密钥不仅可以用于身份认证还可以作为根密钥衍生出用于数据加密、安全启动、数字版权管理的芯片唯一密钥。这为构建完整的硬件信任链奠定了基础。物联网设备的理想选择对于海量、低成本的物联网设备面积和成本极其敏感无法承受复杂的安全芯片。利用SoC中已有的eDRAM或SRAM来实现SAIID几乎不增加额外成本却能提供强大的设备身份认证和防克隆能力是物联网安全方案的绝佳候选。应对量子计算威胁PUF的随机性源于物理世界其熵源在理论上对抗量子计算是稳健的。虽然上层的加密算法如哈希可能需要升级为抗量子算法但物理不可克隆的“根”依然有效。回顾整个SAIID架构它的美在于一种平衡的智慧在物理世界的随机性与数字世界的确定性之间在芯片端的计算能力与服务器端的存储压力之间在安全强度与实现成本之间找到了一个精巧的平衡点。它告诉我们最高级的安全有时并非源于最复杂的密码学而是源于对硬件本身特性的深刻理解和创造性运用。对于一名芯片设计者或安全架构师而言这种将系统思维、电路设计和密码学协议深度融合的方案其启发价值远超过一项具体的技术。