论文部分内容阅读
随着集成电路技术的快速发展,芯片安全问题受到越来越多的关注。由于集成电路产业链全球化的趋势不可阻挡,很多芯片公司出于经济利益的考虑,将设计和制造分离,导致芯片被植入硬件木马的可能性急剧增大。硬件木马会对芯片产生十分严峻的危害,因此,硬件木马的检测对信息时代的芯片安全有着至关重要的作用。本文课题来源于国家部委项目。针对上述硬件木马检测问题,本文研究了一种适用于大规模集成电路且具有低开销、高覆盖率和高精度特点的硬件木马检测方法,并建立了完整的检测流程。该检测方法首先在芯片的设计初期植入路径延迟检测结构,之后利用该延迟检测结构提取黄金模型中的延迟特征作为水印,最后将所提取待测芯片的延时特征与水印做对比以检测芯片中是否存在硬件木马。该方法克服了传统侧信道检测方法需要耗费大量精力激活木马的问题。针对超速扫描延时测量方法和影子寄存器结构延时测量方法存在的缺陷,本文将超速扫描延时检测方法和影子寄存器测延时方法相结合,提出了适用于大规模集成电路的SC-SP延迟检测方法,此方法可以应用于电路中不可观察的路径。SC-SP方法的具体实现方式是,由于片上和片外测试时钟的限制,对于能够应用于芯片的最大频率所能覆盖到的长路径,应用基于超速扫描的延时测量方法,对于超速扫描方法覆盖不到的短路径进行脆弱线路搜索,在这些脆弱线路上添加本文所改进的影子寄存器延时检测结构以进行路径延迟测量。本文提出的SC-SP延时检测方法能够应用于大规模集成电路生命周期的每个阶段。针对硬件木马的有效载荷和激活机制所在的位置及规模对电路延迟的影响,本文进行了数学建模,实验结果表明,基于延迟特性的硬件木马检测方法,对有效载荷门连接在电路中的改变功能型木马具有较好的检测效果。为了验证所提出方法的准确性和灵活性,本文首先用C语言实现了脆弱路径搜索和芯片上延迟检测结构的自动添加,然后在ISCAS’89的s38417载体电路上植入了三种不同类型的木马,之后对带有检测结构的有木马载体电路和无木马载体电路分别进行逻辑综合、扫描链插入、物理设计和翻转延时故障测试向量生成。最后使用Perl语言对工艺偏差进行了模拟并使用C语言对仿真数据进行预处理。针对芯片延迟特征数据维度太高的问题,本文使用Matlab工具实现MDS算法,并将得到的木马芯片和无木马芯片的水印进行降维处理,然后使用Quickhull算法将无木马芯片的特征水印构造成一个凸包,待测芯片的指纹表现为特征点,从而根据待测芯片的特征点与凸包的相对位置来判断待测芯片中是否存在硬件木马。最终实验结果表明,该硬件木马检测方法对显式有效载荷木马具有很好的检测效果,木马面积越大,检测效果越好,并且靠近扫描触发器输入输出节点的木马更容易被检测到。