
1. 项目概述当VLSI设计遇上“信任危机”在芯片设计这个行当里干了十几年我亲眼见证了行业从“闭门造车”到“全球化协作”的深刻转变。如今一颗先进芯片的诞生往往横跨多个大洲美国公司做架构设计欧洲团队提供IP核亚洲的晶圆厂负责流片最后封装测试可能又在另一个地方。这种分工极大地提升了效率降低了成本但也埋下了一个巨大的隐患信任。你如何确保送到海外代工厂的GDSII版图文件不被复制、篡改如何防止竞争对手买来你的芯片磨掉封装一层层拍照把你的核心设计偷走更可怕的是如果代工厂内部有“内鬼”在你不察觉的情况下在芯片里植入一个硬件木马Hardware Trojan平时相安无事一旦触发特定条件比如某个日期、某个指令序列就可能让整个系统瘫痪或泄露关键数据。这不再是科幻情节而是半导体行业每年面临数十亿美元损失的残酷现实。传统的安全手段如软件加密、防火墙在硬件层面几乎无用武之地。硬件是软件的根基如果根基被动了手脚上层建筑再坚固也是徒劳。这就催生了一个全新的研究方向硬件安全与信任。其核心目标是在芯片的设计和制造流程中主动嵌入安全机制从物理和逻辑层面保护知识产权IP和功能完整性。有意思的是解决这个“信任危机”的灵感并非完全来自密码学或网络安全而是源于一个我们芯片设计者再熟悉不过的领域VLSI测试。测试的目的是发现制造过程中引入的非故意缺陷而硬件安全要防范的是故意、隐蔽的攻击。两者看似目标迥异但在底层逻辑上却惊人地相通都需要控制Controllability和观察Observability电路内部节点的状态都需要分析信号如何传播Propagation和可能被掩盖Masking。本文将深入探讨如何将成熟的VLSI测试原理转化为四种强大的“为信任而设计”Design-for-Trust, DfTr技术逻辑加密、分割制造、IC伪装和木马激活。这些技术不是简单的功能堆砌而是基于对电路本质理解的、精巧的“防御艺术”。2. 核心威胁模型与防御思路拆解在部署任何防御之前我们必须先搞清楚敌人在哪里以及他们想干什么。硬件安全的威胁模型主要围绕两个不信任的环节不信任的制造厂Untrusted Foundry和不信任的终端用户Untrusted End-User。2.1 主要攻击手段逆向工程Reverse Engineering攻击者通过化学腐蚀逐层剥离芯片用电子显微镜对每一层进行成像然后通过图像处理和算法重建出门级网表Gate-level Netlist。一旦获得网表芯片的所有设计细节包括核心算法和电路结构都将暴露无遗。IP盗版与芯片超量生产IP Piracy IC Overproduction不信任的代工厂在完成订单后利用已有的光罩和工艺数据私自额外生产芯片并销售。或者终端用户通过逆向工程获得设计后自行找其他工厂流片。这两种行为都直接窃取了设计公司的知识产权和利润。硬件木马插入Hardware Trojan Insertion代工厂内部的恶意人员在设计版图中插入极其微小、难以检测的恶意电路。这些木马通常只在极其罕见的条件下激活在常规测试中完全隐形但一旦被触发可能导致信息泄露、功能错误或系统失效。2.2 防御哲学从“测试思维”到“安全思维”VLSI测试的核心是故障模型。我们假设某个节点“粘滞”在0或1Stuck-at fault然后通过输入向量Test Pattern去激励这个故障并构造一条敏化路径将故障效应传播到可观测的输出端同时避免故障效应在传播途中被其他信号掩盖。硬件安全防御可以巧妙地借用这套模型逻辑加密/IC伪装中的错误密钥或错误功能- 可被视为注入电路的故障。攻击者尝试错误密钥/功能- 相当于在施加一个试图激励这个“故障”的输入模式。错误输出能否被观察到- 取决于这个“故障”效应能否被传播到输出端而不被掩盖。因此一个强大的DfTr技术其目标就是确保当攻击者使用错误密钥、错误连接或错误功能假设时他注入的“故障”能够以极高的概率理想是50%被激励并传播到输出导致芯片功能错误从而使其盗版或逆向工程得到的芯片无法使用。同时还要确保攻击者无法通过分析输入输出关系轻易地破解密钥或分辨出伪装单元的真实功能。3. 四大“为信任而设计”技术深度解析下面我们逐一拆解这四种核心技术不仅看它们怎么做更要理解它们为什么这么做以及初期“朴素”实现方式的致命缺陷。3.1 逻辑加密给芯片加上“逻辑锁”3.1.1 基本思想与朴素实现的陷阱逻辑加密的核心思想是在原始电路网表中插入额外的逻辑门称为密钥门。最常见的是插入XOR/XNOR门或MUX。插入后电路必须输入正确的密钥序列才能正常工作输入错误密钥电路输出将是混乱的。注意这里的“加密”不是指对设计文件进行AES加密而是对硬件功能本身进行加密。一个加密后的网表即使被攻击者获得在没有密钥的情况下也无法正确使用。最初的朴素想法是随机插入密钥门。但这存在两个严重问题如图1所示问题一输出腐化率不足。随机插入的密钥门对于很多输入向量即使施加错误密钥电路仍能产生正确输出。这意味着攻击者拿到的“锁芯”有很多把钥匙都能碰巧打开加密形同虚设。安全性的一个关键指标是汉明距离即错误密钥和正确密钥输出之间的差异位数。理想情况下对于任何输入和任何错误密钥都应有50%的输出位不同。随机插入远达不到这个目标。问题二密钥易被破解。如图1(b)所示攻击者如果获得了加密网表并通过黑市购买或其它手段获得了一些“正确输入-输出对”他可以通过逻辑分析找到某些输入模式能够将某个密钥位的值直接“敏化”到输出端观察出来。一旦能逐个击破密钥位整个加密体系就崩溃了。3.1.2 基于故障分析的增强型逻辑加密解决方案正是深度借鉴测试原理。我们将“施加错误密钥”建模为在密钥门输出端注入一个固定型故障Stuck-at-0或Stuck-at-1。故障激励对应测试原理1选择一个错误密钥相当于在对应的密钥门输出端固定了一个故障值。故障传播对应测试原理3我们的目标是让这个故障效应尽可能传播到多个原始输出。这就需要计算每个潜在插入点的故障影响力。故障掩盖对应测试原理4需要避免插入多个密钥门后它们引入的错误效应在传播途中相互抵消导致输出反而正确。实操中的关键算法我们不再随机选点而是进行故障模拟。对于电路中每一个候选节点我们模拟在其上插入XOR密钥门后施加大量随机输入向量和错误密钥时平均有多少输出位会被影响。选择那些故障影响力最高的节点进行插入。通过迭代这个过程可以系统性地将输出腐化率推向50%的黄金标准。3.1.3 构建“难破解”的互锁结构为了防止密钥被逐个破解我们需要在密钥门之间制造干扰。借鉴测试中的敏化原理测试原理2我们故意将密钥门插入到这样的位置当攻击者试图将密钥门A的效应敏化到输出时必须通过密钥门B所在的路径而B的密钥值未知且不可控从而阻塞了敏化路径。如图2所示密钥门K1和K2被插入到相互制约的位置。攻击者无法单独将K1或K2的效应传播到输出他必须同时猜测K1和K2的值。这迫使攻击者从线性复杂度的攻击逐个破解转向指数复杂度的暴力破解安全性得到质的提升。3.1.4 每芯片唯一密钥与PUF的应用如果一个设计对所有芯片使用同一个密钥那么一旦一个芯片的密钥泄露所有芯片都沦陷。因此需要每芯片唯一密钥。这可以通过物理不可克隆函数实现。PUF是一种利用制造过程中不可避免的、随机的微观物理差异如晶体管阈值电压波动的电路。对于相同的输入不同芯片的PUF会产生不同的、不可预测的输出响应就像芯片的“指纹”。集成方案设计阶段在芯片中集成一个弱PUF电路和逻辑加密模块。制造后设计师从每个芯片中读取出其唯一的PUF响应值芯片密钥Chip Key。密钥生成设计师将一个全局的“设计解锁密钥”与每个芯片的Chip Key进行异或生成最终的“芯片解锁密钥”。交付将芯片和对应的唯一芯片解锁密钥交付给用户。 这样即使一个芯片的密钥泄露也无法用于其他芯片因为它们的PUF响应不同。3.2 分割制造把秘密“分开保管”3.2.1 基本思想与“邻近攻击”的威胁分割制造将芯片的制造流程物理拆分。通常将包含晶体管和底层金属层如M1-M4的前端工序交给一个可能不信任的高端晶圆厂完成而将高层互连金属层如M5及以上的后端工序交给一个信任的、成本较低的工厂完成。最后由设计公司或可信方将两部分整合。理想情况下不信任的前端厂只拥有不完整的版图无法得知顶层金属的互连关系因此无法进行完整的逆向工程或准确插入木马。然而朴素的分割方案存在“邻近攻击”漏洞。物理设计工具布局布线工具为了优化时序和线长有一个核心启发式规则将需要连接的引脚放置得尽可能近。攻击者即使不知道高层金属的连接关系也可以简单地根据前端层中模块引脚的物理位置将距离最近的两个兼容引脚连接起来就能以很高的概率猜中正确的连接从而重建电路。3.2.2 基于故障分析的引脚交换策略防御邻近攻击的思路是故意欺骗布局布线工具。我们通过交换模块间的连接引脚破坏“最近即连接”的启发式规则。具体操作上这同样可以转化为一个故障分析问题故障激励将“交换两个引脚”视为在其中一个引脚上注入一个故障其信号值变为另一个引脚的值。故障传播我们需要选择那些一旦交换其错误值能最大程度传播到输出的引脚对。故障掩盖需要避免交换多对引脚时产生的错误效应相互抵消。安全度量我们定义引脚交换影响力。对于一对候选交换引脚A, B我们在网表中模拟交换它们然后施加大量随机测试向量统计输出位发生错误的总次数。选择影响力高的引脚对进行交换。通过有策略地交换一小部分关键引脚例如对于ISCAS-85基准电路通常只需交换不到20对引脚就能使攻击者基于邻近猜测得到的网表其功能与原始设计的汉明距离接近50%从而使其完全失效。3.3 IC伪装在版图上玩“大家来找茬”3.3.1 基本思想与实现方式IC伪装是在版图级别进行的欺骗。它制造一些看起来完全一样但实际功能不同的标准单元。最常见的方法是使用伪接触孔。一个真正的接触孔是实心的连接两层金属或金属与多晶硅而一个伪接触孔中间有间隙实际上并不导通但从顶视图看两者一模一样。例如我们可以设计一个NAND门和一个NOR门让它们在版图上看起来完全一样。在提取出的网表中攻击者将无法区分这个单元到底是NAND还是NOR或者其他什么功能。3.3.2 朴素伪装的失效与增强策略随机选择一些门进行伪装同样会失败原因与逻辑加密类似输出影响弱伪装的门可能位于电路的“死角”其功能错误无法传播到输出攻击者即使猜错功能芯片行为依然正确。功能可解析攻击者可以通过施加特定的输入向量将伪装门的输出敏化到可观测端口从而直接“读出”其真实功能。增强策略我们需要选择那些对输出有高影响力的门进行伪装。这同样可以通过故障模拟来实现。我们将“给伪装门赋予错误功能”建模为在其输出端注入一个固定型故障。计算每个门的输出腐化能力指标即当该门功能错误时平均能影响多少输出位。优先伪装那些腐化能力高的门。同时为了制造“难破解”的伪装我们需要在伪装的单元之间创建功能干扰。就像逻辑加密中的密钥门互锁一样选择一组伪装门使得要确定其中一个的功能必须同时知道其他几个的功能迫使攻击者进行组合爆炸式的暴力破解。3.4 硬件木马激活让“沉睡者”现形3.4.1 木马的隐匿性与检测挑战硬件木马为了逃避制造后测试通常被设计为仅在极低概率的条件下激活。例如木马的触发条件可能是一个在正常操作中几乎不会出现的特定128位内部状态。因此在有限的测试时间内木马被激活的概率微乎其微。基于旁道分析的检测方法如功耗、延时指纹分析假设木马电路会增加额外的功耗或延时。但如果木马连接在电路低翻转概率的节点上其静态和动态功耗都极低难以从工艺偏差的背景噪声中被检测出来。3.4.2 利用dSFF增加内部节点活动性解决方案是主动改造电路增加内部节点的可控制性和可观测性——这恰恰是扫描链的设计初衷。我们可以在低活动性的节点后插入伪扫描触发器。dSFF在测试模式下可以通过扫描链被直接控制从而我们可以主动地向这些低活动性节点注入高频率的翻转信号。这就像给一个平静的池塘里扔石头如果池塘里藏着一条“木马鱼”它就会被惊动。增加的翻转活动会导致木马电路消耗更多动态功耗使其在功耗旁道分析中更容易暴露。在正常功能模式下dSFF被旁路不影响电路原有功能。通过算法优化dSFF的插入位置可以用最少的面积和功耗开销最大化地提升电路内部节点的平均翻转概率从而压缩木马的藏身空间。4. 技术选型与工程实践考量4.1 如何选择适合的DfTr技术没一种技术是万能的。选择取决于你的威胁模型和业务模式。技术主要防御对象信任假设适用场景开销类型逻辑加密IP盗版、超量生产、逆向工程、木马插入间接信任设计方和终端用户不信任代工厂。设计公司拥有核心IP需要外包制造。面积、功耗、性能密钥门延迟需要片上安全存储。分割制造IP盗版、超量生产、木马插入间接信任后端厂和系统集成商不信任前端代工厂。拥有可信的后端集成能力且前端工艺依赖不可信的高端厂。制造成本增加两次流片、对准集成、设计复杂度。IC伪装逆向工程、IP盗版信任代工厂不信任终端用户/竞争对手。防止终端产品被物理逆向。对代工厂泄露版图细节风险可控。面积、功耗伪装单元通常比标准单元大且慢。木马激活硬件木马检测不信任代工厂信任测试环境。对安全性要求极高的领域军事、金融、基础设施需进行出厂前高可信检测。面积、功耗dSFF及旁路逻辑、测试时间。组合使用对于最高安全等级的应用可以采用“纵深防御”。例如对核心模块同时使用逻辑加密防代工厂和IC伪装防终端用户并在测试阶段使用木马激活技术进行筛查。4.2 实际部署中的挑战与心得开销权衡所有安全特性都会带来开销。逻辑加密和IC伪装增加面积和功耗可能影响时序收敛。分割制造显著增加成本和制造周期。在项目初期就必须将安全预算纳入PPA评估。EDA工具支持目前主流EDA工具链对DfTr的原生支持还很有限。很多技术如基于故障分析的密钥门插入、引脚交换需要研究人员自己开发脚本或工具与现有综合、布局布线流程集成是一大挑战。与EDA厂商合作或采用学术界的开源工具是可行路径。测试与验证的复杂性加密或伪装后的电路其功能验证和制造测试变得更加复杂。你需要确保在正确密钥下电路功能100%正确同时还要验证错误密钥下的行为符合安全预期。这需要扩展验证计划开发新的测试向量生成方法。侧信道新风险逻辑加密等技术可能引入新的侧信道漏洞。例如加密电路的功耗或电磁辐射特征可能与密钥相关可能被高阶攻击者利用。需要在设计时考虑抗侧信道攻击设计。标准化与生态硬件安全技术尚未像软件加密那样形成广泛的标准。IP供应商、设计公司、代工厂之间需要建立新的信任模型和数据交换协议例如如何安全传递密钥或分割的版图。5. 未来展望与结语硬件安全与信任领域正在从学术研究快速走向工业实践。我们看到将VLSI测试这一成熟领域的深厚积淀应用于新兴的安全挑战是一条非常富有成效的路径。它不仅仅是工具的复用更是一种思维模式的迁移——从“发现缺陷”到“植入可控的‘缺陷’以防御恶意行为”。未来的趋势将集中在几个方面一是自动化与工具化将DfTr技术无缝集成到商业EDA流程中降低设计门槛二是与新兴技术结合例如利用机器学习优化安全单元密钥门、伪装单元的布局或利用量子计算研究后量子时代的硬件安全原语三是标准化与认证建立行业公认的硬件安全评估基准和认证体系。作为一名深耕一线的工程师我的体会是硬件安全不再是可选的“加分项”而是必须从设计伊始就统筹考虑的“基础项”。它要求我们不仅是一名电路设计师还要具备安全架构师的思维。这个过程充满挑战但看着自己设计的芯片能够真正抵御来自供应链和物理世界的威胁这种成就感是无可替代的。安全是一场攻防永续的马拉松而基于测试原理的DfTr技术为我们提供了一套坚实、可分析、可工程化的起跑装备。