ChipDNA PUF技术:从晶体管失配到硬件安全密钥的工程实践
1. 项目概述当芯片拥有“DNA”嵌入式安全进入新纪元在嵌入式系统设计领域安全从来不是一个可以事后弥补的附加功能而是必须从硬件层面开始构建的基石。随着物联网设备的爆炸式增长从智能门锁到工业控制器每一个联网的节点都可能成为攻击的入口。传统的基于软件或固定密钥的加密方案在面对日益精密的物理攻击时显得愈发脆弱。攻击者不再满足于远程入侵他们开始动用探针、电子显微镜甚至聚焦离子束试图直接从芯片内部“窃取”秘密。正是在这样的背景下一种被称为“物理不可克隆功能”的技术开始从学术论文走向商业芯片成为硬件安全皇冠上的明珠。它背后的理念非常巧妙与其费尽心思去保护一个存储在非易失性存储器里的密钥不如让密钥本身“物理上不存在”。今天我想和大家深入聊聊一种具体的PUF实现——ChipDNA技术。它没有使用复杂的光学或量子效应而是巧妙地利用了每一颗芯片在制造过程中都无法避免的“瑕疵”MOSFET晶体管的随机模拟特性。这就像是为每一颗芯片提取了独一无二的“DNA”用它来生成加密密钥既无法预测也无法复制。这篇文章适合所有关心嵌入式系统安全、正在选型安全芯片或是对硬件密码学底层原理感兴趣的朋友。无论你是系统架构师、硬件工程师还是固件开发者理解PUF如何工作都能帮助你在设计下一个产品时构建起更坚固的安全防线。我们将从PUF为何能抵抗物理攻击说起拆解ChipDNA的具体电路原理分析其可靠性与随机性如何达到加密标准并探讨它在实际产品中的几种典型用法。2. 安全威胁演进与PUF的破局思路要理解PUF的价值我们必须先看清对手的招数。针对安全芯片的攻击早已超越了简单的密码破解演变成一场在物理层面的“微观战争”。2.1 侵入式攻击芯片的“外科手术”侵入式攻击是最高级别的威胁其目标直指芯片的硅基底。攻击流程通常像一次精密的外科手术开封与去层使用化学腐蚀或机械研磨的方式逐层去除芯片的封装和金属互联层直到暴露出最底层的晶体管电路。电路成像与逆向工程利用扫描电子显微镜或聚焦离子束等设备对裸露的电路进行高分辨率成像。如图1所示攻击者能获得清晰的晶体管布局图。更高级的工具能将这些图像自动转换成网表甚至原理图如图2相当于拿到了芯片的“电路蓝图”。微探测与电路修改使用纳米级的微探针直接连接到芯片内部特定的信号线上监听或注入电信号。更激进的攻击者甚至会使用聚焦离子束在电路上“飞线”或切断特定路径以绕过安全检测逻辑。面对这种攻击传统的主动屏蔽层、传感器网格等物理防护措施虽然能增加难度但本质上是一场“道高一尺魔高一丈”的军备竞赛。防护层可以被更精细的工具穿透传感器也可能被绕过。问题的核心在于只要密钥以静态的、可预测的电子形态比如存储在EEPROM或Flash中的电荷存在于芯片某处它就是一个潜在的目标。2.2 PUF的核心思想密钥即“体质”PUF技术提供了一种范式转换的思路。它不再“存储”密钥而是“生成”密钥。其核心依赖于一个基本事实在深亚微米半导体制造过程中由于光刻精度、掺杂浓度、氧化层厚度等物理参数的微观随机波动没有任何两个晶体管即使是紧邻的是完全相同的。这些差异体现在阈值电压、跨导、漏电流等模拟特性上。PUF电路的作用就是设计一个精密的“测量”系统去读取并量化这些固有的、随机的物理差异并将其转换成一个稳定的数字比特流。这个比特流就是芯片的“指纹”或“DNA”也就是加密密钥。它的安全性建立在两个物理基础上不可克隆性由于这种随机性源于不可控的制造过程噪声即使拥有完全相同的设计版图在另一块晶圆上也无法制造出具有完全相同电学特性的晶体管阵列。因此密钥无法被复制。抗探测性当外部探针试图接触PUF的核心模拟电路节点时引入的寄生电容、电感或电阻负载会显著改变该节点的电气状态。这就像试图用一根粗大的温度计去测量一粒沙子的温度测量行为本身会彻底破坏被测量的对象。因此通过物理探测提取密钥在理论上极其困难。ChipDNA技术正是将这一思想发挥到极致的典范。它没有引入任何特殊工艺或材料而是最大化地利用了CMOS标准工艺中这些“令人烦恼”的晶体管失配将其转化为最宝贵的资产。3. ChipDNA PUF技术深度解析从晶体管失配到加密密钥Maxim Integrated现为ADI一部分的ChipDNA PUF其精妙之处在于用一套完全模拟的、自稳定的电路系统将微观的晶体管差异可靠地放大并数字化。3.1 核心构建模块PUF元件对ChipDNA PUF的核心不是一个复杂的数字状态机而是一个由大量基本模拟单元构成的阵列。每个单元我们可以将其理解为一个“PUF元件”。它本质上是一对精心设计、力求对称但物理上必然失配的MOSFET晶体管电路例如一对差分对管或电流镜。在制造完成后、出厂前芯片会执行一个关键的“工厂调理”过程。这个过程不是写入数据而是进行一场精密的“配对相亲”。测试系统会测量阵列中所有PUF元件的静态工作点如某个偏置电压下的输出电流。然后通过算法将电学特性差异最显著、最稳定的两个元件配成一对。例如元件A的电流总是略高于元件B。这一对元件就代表了一个密钥位。为什么是“配对比较”而不是“绝对测量”这是确保环境稳定性的关键。单个晶体管的参数会随着温度、电压、老化而漂移。但如果一对晶体管在相同的环境条件下经历相同的漂移它们之间的相对差值比如电流差ΔI则会保持惊人的稳定。通过比较一对元件的相对强弱来生成“0”或“1”可以极大地抵消共模干扰这是实现高可靠性的基石。3.2 系统架构与密钥生成流程图3展示了一个128位密钥的ChipDNA PUF简化架构。我们将其工作流程拆解如下阵列规模系统包含一个16x256的PUF元件阵列总计4096个元件。这提供了巨大的选择空间。对于128位密钥只需要256个元件配成128对其余元件作为冗余和可靠性增强的储备。配对选择在工厂调理阶段算法从4096个元件中选出256个特性最稳定、配对后差值最明显的元件组成128对。这些配对关系信息会被安全地存储例如用主密钥加密后存储但它不包含最终的密钥位信息。只知道“A和B是一对”但不知道比较结果是AB代表1还是BA代表0。密钥生成上电运行时芯片上电后安全模块启动PUF电路。电路依次对预先配好的128对元件施加完全相同的偏置条件。一个高精度、低失调的模拟比较器可能是动态锁存比较器架构会同时读取每一对中两个元件的输出信号如电压。比较器根据两者的相对强弱输出一个稳定的数字电平“1”或“0”。依次处理完128对就得到了一个128位的原始密钥序列。密钥使用与销毁这个原始密钥可以直接使用或作为根密钥推导出更多密钥。最关键的一步是该密钥仅在芯片的加密引擎如AES或ECC模块需要它进行运算的极短时间内存在于易失性寄存器或总线中。运算一旦完成控制逻辑会立即清除所有相关寄存器和临时存储单元确保密钥不会以数字形式驻留在任何静态存储中。一个重要的实操细节纠错码ECC的引入尽管晶体管配对比较具有很高的稳定性但极端环境如-40°C到125°C的极端温度循环、10年老化仍可能导致极少数位发生“翻转”即这次读出来是1下次变成0。对于加密密钥哪怕一位错误也是灾难性的。 因此在实际产品中如DS28E38PUF系统会与一个“模糊提取器”模块协同工作。在工厂调理阶段除了配对信息系统还会用PUF首次生成的原始密钥K_raw计算出一小段辅助纠错数据Helper Data。Helper Data本身不泄露密钥信息但可以用于纠正后续读取K_raw‘时产生的少量位错误从而恢复出正确的K_raw。这个Helper Data可以公开存储而真正的密钥K_raw永远不需要静态存储。4. 为何难以攻击ChipDNA的安全壁垒分析ChipDNA PUF之所以能有效抵御侵入式攻击是因为它在多个层面设置了障碍。4.1 模拟特性的内在敏感性PUF的核心信息蕴含在晶体管的模拟工作点中。试图用微探针去测量一个MOSFET的栅极电压或漏极电流就如同前文比喻会引入无法忽略的寄生参数。一个典型的微探针的接触电阻可能在几十到上百欧姆并联电容可达数fF到pF级。对于工作在微安甚至纳安电流、节点阻抗很高的模拟敏感节点这样的负载会完全改变其直流偏置点和交流响应导致测量结果与真实值毫无关系。攻击者得到的是一堆被污染的数据无法还原出原始的晶体管特性差异。4.2 全局与局部信息的脱钩即使攻击者神通广大逆向工程出了整个PUF阵列的版图如图1、2所示他依然无法获得密钥。原因在于他知道结构但不知道配对关系阵列有4096个元件工厂调理选择的256个是哪些它们是如何配对的这个映射表是保密的。他知道配对但不知道比较结果即使通过某种方式如侧信道分析运行时的功耗推测出了配对关系密钥位取决于上电时那一瞬间的比较结果。这个结果由当时的环境条件温度、电压和晶体管瞬时状态共同决定。没有精确的模拟仿真模型而这需要每个晶体管的精确SPICE模型这是不可能获得的无法预测。密钥永不静态存在攻击者无法在芯片断电后在非易失性存储器里找到一个叫“密钥”的数据块。密钥是动态生成的用完即焚。4.3 制造随机性的数学保障MOSFET的随机失配服从特定的统计分布如正态分布。ChipDNA利用的是大量元件成百上千的集体随机性。从信息论角度看要从制造偏差中预测出具体哪一对的差值方向所需的制造工艺控制精度远远超出当前及可预见的未来半导体工业水平。这本质上是一个利用“工艺熵”来生成真随机数的过程。5. 从理论到实践可靠性、随机性与标准化评估一个能用于商业加密的PUF不能只是“理论上安全”它必须在整个产品生命周期内极度可靠并且其输出必须具备密码学强度的随机性。5.1 可靠性验证应对时间、温度与应力的挑战芯片在其生命周期内会经历严苛的环境考验。ChipDNA的可靠性研究遵循了JEDEC固态技术协会的标准认证流程这是一个系统性的压力测试高温工作寿命将芯片置于远高于额定结温如125°C或更高的环境下施加电压并持续运行数千小时。这加速了电迁移、热载流子注入等老化效应。温度循环在-55°C到125°C之间进行数百甚至上千次快速温度循环考验芯片内部不同材料硅、金属、钝化层之间热膨胀系数不匹配带来的机械应力。湿热偏压在高湿度、高温、加电状态下进行测试评估潮气侵入和电化学腐蚀的影响。回流焊模拟模拟PCB组装时经历的高温焊锡回流过程确保封装应力不会改变PUF特性。经过这些测试后工程师会分析每一对PUF元件其特性差值即生成密钥位的“裕量”的变化。根据应用笔记中的数据最恶劣情况下这个裕量也只消耗了约7%。基于大量的统计样本最终计算出密钥错误率KER为5ppb十亿分之五。这是什么概念假设你的密钥是256位产品设计寿命10年。KER5ppb意味着对于单个芯片在其整个生命周期内发生哪怕1位密钥翻转的概率是5乘以10的负9次方。这个概率低到在统计学上可以视为不可能发生。在实际系统中还会结合前文提到的纠错码Fuzzy Extractor进一步将有效错误率降至接近于零。5.2 随机性测试通过NIST的严苛考验加密密钥必须是随机的不可预测的。如果PUF的输出存在模式或偏差攻击者就可能利用这些弱点。评估随机性的黄金标准是美国国家标准与技术研究院的NIST SP 800-22测试套件。ChipDNA PUF的评估方法是从大量不同的芯片成千上万颗中收集PUF输出序列形成一个超长的比特流然后提交给NIST测试套件。关键的测试包括单比特频率测试检查0和1的比例是否接近50/50。扑克测试检查所有长度为m的比特块如4位块的分布是否均匀。游程测试检查连续0或连续1的序列长度分布是否符合随机序列的预期。长游程测试确保没有异常长的连续0或1序列。根据应用笔记ChipDNA PUF的输出在这些测试中均表现优异证明了其输出在统计上与真随机序列无法区分完全满足生成加密密钥的随机性要求。5.3 第三方安全评估来自“黑客”的背书除了自证Maxim还邀请了第三方专业的安全评估公司应用笔记中提及的领先美国公司对ChipDNA进行渗透测试。这类公司通常由顶尖的硬件安全研究员组成擅长使用各种先进的侵入和半侵入式攻击手段。他们的定性结论——“非常有效且能够抵抗物理逆向工程攻击”——为ChipDNA的实战安全性提供了强有力的独立背书。6. ChipDNA在实际系统中的三大应用模式理解了原理和特性我们来看看ChipDNA PUF在具体的安全IC中如何大显身手。它主要扮演三种关键角色6.1 模式一作为存储数据的加密引擎密钥图4原理这是最直接的应用。安全芯片内部通常都有需要保护的敏感数据比如用户的证书、系统的配置参数、交易记录等它们存储于片内EEPROM或Flash中。工作流程系统需要写入数据时PUF被激活生成一个唯一的芯片密钥K_puf。使用K_puf作为AES算法的密钥对明文数据Data_plain进行加密得到密文Data_encrypted。将Data_encrypted存入非易失性存储器。K_puf在加密操作完成后立即从寄存器中清除。系统需要读取数据时再次激活PUF生成相同的K_puf用它解密Data_encrypted得到Data_plain供使用。安全优势密钥永不离开芯片K_puf只在芯片内部生成和使用从未以任何形式输出到芯片引脚。存储数据无效即使攻击者通过侵入手段如FIB切割直接读取到存储器中的内容得到的也只是Data_encrypted。没有K_puf这些密文毫无价值。而K_puf本身并不存储。每颗芯片独一无二即使同一批次的芯片其K_puf也不同。因此破解一颗芯片无法用于其他任何芯片。6.2 模式二作为非对称加密的私钥图5原理这种模式用于实现强大的身份认证和数字签名例如在物联网设备与云平台之间。工作流程以ECDSA为例在设备生产或初始化阶段激活PUF生成一个随机数作为椭圆曲线加密ECC的私钥d这是一个256位的数。同样d在生成后立即被清除只保留其衍生的公钥或相关句柄。根据椭圆曲线密码学由私钥d可以计算出一个对应的公钥Q。这个Q可以公开。设备制造商或一个受信任的证书颁发机构CA使用自己的根证书对设备公钥Q及其设备信息进行签名生成一个设备证书并将其安全地注入到设备的存储器中。在设备联网认证时服务器发出一个随机挑战。设备再次用PUF生成相同的私钥d用d对挑战进行签名然后将签名和设备证书一起发送给服务器。服务器验证证书的有效性并用证书中的公钥Q验证签名。如果通过则证明该设备是合法的且拥有与证书对应的、不可克隆的私钥。安全优势完美的密钥隔离私钥d永远不以数字形式存在从根本上杜绝了从存储器中提取私钥的可能性。强身份认证结合证书体系提供了从设备硬件到云端服务的完整信任链。6.3 模式三作为系统信任根的锚点密钥图6原理在更复杂的系统中一个安全芯片可能需要管理多个密钥或为上层应用提供密钥派生服务。这时PUF生成的密钥可以作为最顶层的“根密钥”或“主密钥”。工作流程PUF生成根密钥K_root。使用K_root和一个公开的、芯片唯一的标识符如ROM ID作为输入通过一个密钥派生函数KDF如HMAC-SHA256派生出多个子密钥K_sub1,K_sub2...。这些子密钥可以用于不同的用途K_sub1用于加密存储A区的数据K_sub2用于与模块B通信的会话加密K_sub3用于验证另一颗外围芯片的固件等。设计优势密钥管理简化系统只需要安全地保护一个PUF的激活机制就能衍生出整个系统的密钥体系。密钥隔离与派生即使某个应用或模块被攻破泄露了其子密钥也不会危及根密钥和其他子密钥的安全因为无法从子密钥反向推导出根密钥。7. 实战选型基于ChipDNA的商用芯片与设计考量MaximADI提供了两款基于ChipDNA PUF的成熟安全认证器芯片方便工程师快速集成。7.1 DS28E38基于ECC的非对称认证器核心特性加密引擎集成硬件ECC-P256椭圆曲线引擎支持ECDSA签名和验证。PUF应用ChipDNA PUF可直接作为ECDSA的私钥或用于生成保护内部2Kb EEPROM数据的加密密钥。其他功能真随机数发生器TRNG、64位唯一ROM ID、递减计数器。接口单触点1-Wire接口布线极其简单只需一根数据线加地线。典型应用场景医疗传感器认证确保一次性使用的传感器探头是原装正品防止兼容耗材带来的风险。工业耗材管理打印机墨盒、工具电池的认证保护商业模式。高端消费品防伪名酒、奢侈品配件的真伪验证。7.2 DS28E50基于SHA-3的对称认证器核心特性加密引擎集成硬件SHA3-256引擎用于双向挑战-响应认证和HMAC计算。PUF应用ChipDNA PUF用于生成保护内部2Kb EEPROM和用于认证计算的密钥。其他功能TRNG、安全GPIO可被认证状态控制、64位唯一ROM ID、递减计数器。接口单触点1-Wire接口。典型应用场景物联网节点认证网关验证传感器节点的合法性防止恶意节点接入。系统配件识别电动工具的主机验证电池包是否经过安全认证。固件更新保护只有用正确的密钥签名的固件才能通过安全GPIO控制更新使能引脚。7.3 设计集成注意事项在实际项目中使用这类芯片时有几个关键点需要关注PUF激活时间PUF从唤醒到稳定输出密钥需要一定时间通常在几毫秒量级。在系统启动或需要认证时需提前规划好时序避免总线超时。通信安全虽然密钥不出芯片但芯片与主机MCU之间的通信如1-Wire协议可能被监听。DS28E38/50的认证流程本身是抗重放攻击的但设计时仍需确保物理通信线路不易被搭线窃听。电源完整性PUF电路和模拟比较器对电源噪声比较敏感。在PCB布局时应确保芯片的电源引脚有良好的去耦建议使用一个1μF和一个0.1μF的电容并联并靠近芯片放置。工厂初始化流程这是最关键也最容易出错的环节。芯片的配对信息生成、纠错辅助数据计算、证书注入等操作必须在受控的安全产线环境中完成。需要与芯片供应商或方案商紧密合作建立安全的密钥注入和个性化生产流程。生命周期管理思考如果终端产品需要返修如何在不泄露密钥的前提下进行设备重置或密钥轮换。有些安全芯片提供密钥销毁或冻结功能需要在系统设计中统筹考虑。8. 常见问题与设计陷阱实录在我参与过的几个集成PUF安全芯片的项目中踩过一些坑也总结了一些经验。问题一PUF输出每次真的完全一样吗是否需要软件参与纠错这是一个常见的误解。理论上由于环境噪声原始PUF输出K_raw的某些“弱位”可能会有极低的翻转概率。但正如前文所述商用芯片如DS28E38内部已经集成了“模糊提取器”硬件模块。工程师在软件层面完全无需处理纠错。你调用“生成密钥”的指令芯片内部会自动完成读取PUF阵列 - 使用出厂时生成的Helper Data进行纠错 - 输出一个稳定的、100%可重复的密钥。Helper Data是公开存储在芯片内的它不泄露密钥信息只用于纠错。问题二如果芯片坏了密钥不就丢了吗如何备份这正是PUF作为“物理不可克隆”功能的另一面密钥不可备份也不应备份。PUF密钥的本质是这颗芯片的物理身份。如果芯片物理损坏其身份也随之消失。这听起来很可怕但实际上符合安全原则对于设备身份认证场景芯片损坏设备就失效需要更换新的安全芯片。新芯片有新的PUF和新的密钥/证书。这是将硬件安全与设备实体绑定的必然结果。对于数据加密场景如果加密的数据仅在本设备使用如设备的配置参数那么芯片损坏数据自然无法解密这是合理的。如果数据需要迁移如用户凭证则不应仅用PUF密钥加密而应采用一种密钥派生方案使得解密密钥能通过一个更高层级的、可安全备份的密钥来恢复。这需要在系统架构设计时就考虑进去。问题三在极端环境如汽车前舱下PUF还能可靠工作吗这是可靠性验证要回答的问题。以AEC-Q100车规级认证为目标的安全芯片其PUF模块必须通过更严苛的 Grade-0 或 Grade-1 温度测试-40°C ~ 150°C结温。在选择芯片时务必查阅数据手册中的“可靠性特性”或“认证标准”章节。Maxim的ChipDNA技术经过的HTOL、温度循环等测试就是为此提供数据支撑。对于非车规但环境恶劣的工业应用关注芯片的“工作温度范围”指标并确保留有足够余量。问题四如何防止攻击者通过频繁上电断电来“研磨”PUF输出这属于侧信道攻击的一种思路——希望通过多次测量统计出PUF位在噪声下的倾向性。成熟的PUF设计会包含对抗措施速率限制芯片内部会对单位时间内PUF激活次数进行限制防止高速重复读取。防篡改响应如果检测到异常频繁的访问尝试安全逻辑可能会触发锁定或返回随机错误数据。模拟前端稳定性设计通过精心的电路设计如使用高精度偏置电流源、稳定的比较器架构确保每次上电后PUF电路的初始状态和判决阈值都高度一致减少内部噪声对输出位的影响。一个真实的陷阱忽略通信链路的安全曾经有一个消费电子项目使用了DS28E38做配件认证设计本身没问题。但在试产时发现组装线上工人的静电手环接地不良偶尔会导致1-Wire通信线上产生毛刺让认证失败。更糟糕的是有评估人员尝试在通信线上注入特定格式的故障脉冲竟然诱使芯片在少数情况下返回了成功的认证响应一种故障攻击。教训是即使密钥在芯片内部绝对安全芯片与主机之间的通信接口也可能成为攻击面。务必确保物理连接可靠并在主机MCU的软件层面对通信协议进行完整性检查甚至考虑对关键命令进行时序和格式的混淆。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2629951.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!