CN109711204B - 基于路径延迟指纹的硬件木马检测方法 - Google Patents
基于路径延迟指纹的硬件木马检测方法 Download PDFInfo
- Publication number
- CN109711204B CN109711204B CN201811268215.6A CN201811268215A CN109711204B CN 109711204 B CN109711204 B CN 109711204B CN 201811268215 A CN201811268215 A CN 201811268215A CN 109711204 B CN109711204 B CN 109711204B
- Authority
- CN
- China
- Prior art keywords
- carrier circuit
- register
- trojan horse
- circuit
- shadow
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Abstract
本发明涉及集成电路检测技术领域,具体涉及一种基于路径延迟指纹的硬件木马检测方法。包括检测结构,所述检测结构包括影子寄存器、影子时钟、结果寄存器和异或门;确定载体电路中的脆弱线路;根据脆弱线路在载体电路上添加检测结构;对添加检测结构的载体电路进行第一次动态仿真;在载体电路中植入预先设定的木马;对植入预先设定的木马的载体电路进行第二次动态仿真;根据所述第一仿真结果和所述第二仿真结果判断所述载体电路中是否被植入了硬件木马。本发明实施例,增加了集成电路的可信度,使得木马攻击的难度加大。
Description
技术领域
本发明涉及集成电路检测技术领域,具体涉及一种基于路径延迟指纹的硬件木马检测方法。
背景技术
当今集成电路供应链的全球化已成趋势,生产出一块合格的芯片大致需要4个环节:IC设计、制造、测试及封装。由于完成各个环节的费用十分昂贵,技术体系十分庞大并且复杂,使得各个环节相分离,彼此单独进行。因此用户使用的芯片被硬件黑客植入木马的可能性变大,由此将引发芯片的安全问题,近年来集成电路的硬件木马问题,不仅仅在学术界,而且在工业界也引起了关注。一部分原因是芯片设计外包,制造厂往低成本地区迁移,使得设计制造分离。还有一部分原因是,随着芯片面积的减小,其集成度和复杂度越来越高,生产流程中对第三方知识产权(IP)和不同厂商自动化工具的依赖增加。从本质上讲,硬件木马植入后的芯片极有可能具备一些设计师、供应商或者用户都不知道的附加功能。经部署后这些附加功能被激发,利用现有芯片去实施一些攻击犯罪。攻击一旦被触发,轻则增加芯片功耗,重则窃取用户敏感数据,使芯片瘫痪。
过去几年已经提出了一些木马检测方法。一般而言,检测方法可以分为反剖芯片、旁路信息分析或木马激活三类。在没有植入木马之前的芯片的时序信息是可以提取到的,将其提取出来作为签名,一旦第三方向芯片中加入了硬件木马就会改变芯片的时序信息。从而被检测出来。这种方法的优点是不需要完全激活木马电路(逻辑测试技术),也不需要破坏电路(失效分析),检测准确度高。基于时序的侧信道检测方法主要有两种,有研究人员使用芯片的延时信息作为水印去判断待测芯片中是否存在硬件木马。也有研究人员使用延时检测结构将芯片中的时延信息提取出来作为水印与待测芯片进行对比。
但是,第一种检测方法只能检测到对关键路径影响较大的硬件木马,而如果需要检测那些只改变非关键路径延时的硬件木马,需要做大量的测试用例。然而木马为了保持其隐蔽性,大多存在于非关键路径上面,从而降低其存在对延时和功耗的影响。同时对于大部分组合逻辑型的硬件木马不存在和时钟网络的连接,因此很难检测到组合逻辑型木马的存在。第二种方法由于其载体电路是一个纯组合逻辑电路,只在每一个原始输出端口添加影子寄存器,这样一来不仅增加了pad的消耗,还增大了面积开销。同时,实际电路中即存在组合逻辑电路也存在时序逻辑电路,因此该方法解决的问题过于片面。使得木马检测无法达到预期的效果。
发明内容
为了解决现有技术中存在的上述问题,本发明提供了基于路径延迟指纹的硬件木马检测方法。本发明要解决的技术问题通过以下技术方案实现:
本发明实施例提供了基于路径延迟指纹的硬件木马检测方法,所述方法步骤如下:
确定所述载体电路中的脆弱线路;
根据所述脆弱线路在载体电路上添加检测结构;
对添加检测结构的载体电路进行第一次动态仿真,得到第一仿真结果;
在载体电路中植入预先设定的木马;
对植入预先设定的木马的载体电路进行第二次动态仿真,得到第二仿真结果;
根据所述第一仿真结果和所述第二仿真结果判断所述载体电路中是否被植入了硬件木马;
其中,所述检测结构包括影子寄存器、影子时钟、结果寄存器和异或门;
所述影子寄存器的控制端与影子时钟连接,所述影子寄存器的输入端与组合逻辑路径的输出端连接,所述影子寄存器的输出端与异或门的一个输入端连接,所述异或门的另一个输入端与目的寄存器的输出端相连,异或门的输出端与结果寄存器的输入端相连,所述结果寄存器和目的寄存器的控制端与主时钟相连。
在本发明的一个实施例中,根据所述脆弱线路在载体电路上添加检测结构,包括,
若脆弱线路的末端是目的寄存器,则在脆弱线路的末端直接添加检测结构;
若脆弱线路的末端是载体电路的原始输出,则在所述原始输出的末端连接寄存器后在脆弱线路的末端添加检测结构。
在本发明的一个实施例中,还包括对添加检测结构的载体电路进行静态分析;根据静态分析结果,对电路中元器件间的距离进行调整,保证目的寄存器和影子寄存器的时钟网络延迟相等。
在本发明的一个实施例中,在载体电路中植入预先设定的木马,包括,
在载体电路中的不同位置插入至少两种木马,且每插入一个木马,都对载体电路进行静态时序分析,若判断载体电路的时序正确则插入下一个木马。
在本发明的一个实施例中,还包括对植入木马的载体电路进行静态分析;根据静态分析结果,对电路中元器件间的距离进行调整,保证目的寄存器和影子寄存器的时钟网络延迟相等。
在本发明的另一个一个实施例中,对植入预先设定的木马的载体电路进行第二次动态仿真,得到第二仿真结果,包括,
对植入木马的载体电路进行动态仿真,得到初次仿真结果;
在对加入木马的载体电路进行仿真的环境中加入工艺偏差;
在加入工艺偏差的环境中对植入木马的载体电路进行带入初次仿真结果的动态仿真,得到第二仿真结果。
本发明还提供了一种基于路径延迟指纹的硬件木马检测方法的检测电路,包括影子寄存器、影子时钟、结果寄存器和异或门;
所述影子寄存器的控制端与影子时钟连接,所述影子寄存器的输入端与组合逻辑的输出端连接,所述影子寄存器的输出端与异或门的一个输入端连接,所述异或门的另一个输入端与目的寄存器的输出端相连,异或门的输出端与结果寄存器的输入端相连,所述结果寄存器的控制端与主时钟相连。
与现有技术相比,本发明的有益效果:
本发明在传统的时序侧信道检测技术的基础上采用了延迟侧信道检测技术,提供了一种可以检测电路中任一条路径延时的方法,在对关键路径进行检测的同时也对电路中的脆弱线路进行检测,使得木马攻击的难度加大,从而增加集成电路的可信度。
附图说明
图1为本发明实施例提供的基于路径延迟指纹的硬件木马检测方法的流程框图;
图2为本发明提供的一种基于路径延迟指纹的硬件木马检测方法的检测电路的结构示意图;
附图说明:影子时钟-1;影子寄存器-2;异或门-3;结果寄存器-4;源寄存器-5;组合逻辑路径-6;目的寄存器7;主时钟-8。
具体实施方式
下面结合具体实施例对本发明做进一步详细的描述,但本发明的实施方式不限于此。
本发明实施例提供了基于路径延迟指纹的硬件木马检测方法,所述方法步骤如下:
确定所述载体电路中的脆弱线路;
根据所述脆弱线路在载体电路上添加检测结构;
对添加检测结构的载体电路进行第一次动态仿真,得到第一仿真结果;
在载体电路中植入预先设定的木马;
对植入预先设定的木马的载体电路进行第二次动态仿真,得到第二仿真结果;
根据所述第一仿真结果和所述第二仿真结果判断所述载体电路中是否被植入了硬件木马;
其中,所述检测结构包括影子寄存器、影子时钟、结果寄存器和异或门;
所述影子寄存器2的控制端与影子时钟1连接,所述影子寄存器2的输入端与组合逻辑路径6的输出端连接,所述影子寄存器2的输出端与异或门3的一个输入端连接,所述异或门3的另一个输入端与目的寄存器7的输出端相连,异或门3的输出端与结果寄存器4的输入端相连,所述结果寄存器4和目的寄存器7的控制端与主时钟8相连。
具体的,载体电路包括源寄存器5、组合逻辑路径6和目的寄存器7,源寄存器5和目的寄存器7的控制端均与主时钟连接,源寄存器5的输出通过组合逻辑路径6与目的寄存器7的输入相连。
具体的,将原始载体电路进行逻辑综合,得到网表文件;在网表中利用可测性设计工具插入扫描链,得到带有扫描链的载体电路,和带有延时信息的文件;使用自动测试向量模式生成工具产生测试向量,将插入扫描链之后的网表文件和延时文件以及库文件在仿真工具中进行仿真;计算每一个节点的翻转率;从翻转率低于阈值Pth的节点出发,采用广度优先搜索算法向后寻找扇出,直到搜索到寄存器或者原始输出停止,找到载体电路中的低活性线路上的短路径作为脆弱路径。
具体的,脆弱线路指的是低活性线路上的短路径。低活性线路保证了木马的隐蔽性,不易被触发;工艺噪声对短路径的影响大于长路径,植入短路径的木马更容易被检测到,为硬件木马植入提供了有益条件。根据本发明的检测结构,可以检测到低活性线路上的短路径的路径延迟,以此作为水印用以对比集成电路是否可信。
具体的,使用Tetramax生成测试向量对载体电路进行动态仿真;将所述电路中的每一个节点的翻转率提取出来;设定所述节点翻转率阈值;根据所述节点的信号翻转率与所述阈值之间的关系建立低可控性节点列表;根据所述低可控性节点列表出发向后寻找扇出,直到找到最短路径;所述最短路径的终点必然为寄存器或者原始输出。
具体的,在传统的时序侧信道检测技术的基础上采用了延迟侧信道检测技术,提供了一种可以检测电路中任一条路径延时的方法,在对关键路径进行检测的同时也对电路中的脆弱线路进行检测,使得木马攻击的难度加大,从而增加集成电路的可信度。
具体的,使用Tetramax生成基于翻转延时故障的测试向量,并使用测试向量进行第一次动态仿真和第二次动态仿真。
在本发明的一个实施例中,根据所述脆弱线路在载体电路上添加检测结构,包括,
若脆弱线路的末端是目的寄存器,则在脆弱线路的末端直接添加检测结构;
若脆弱线路的末端是载体电路的原始输出,则在所述原始输出的末端连接寄存器后在脆弱线路的末端添加检测结构。
具体的,在原始输出的末端连接寄存器还可以减少毛刺产生,使电路更加稳定。
在本发明的一个实施例中,还包括对添加检测结构的载体电路进行静态分析;根据静态分析结果,对电路中元器件间的距离进行调整,保证目的寄存器和影子寄存器2的时钟网络延迟相等。
具体的,为防止添加检测结构后的载体电路因目的寄存器和影子寄存器2的时钟网络延迟不同的问题无法正常运行,需对载体电路进行静态时序分析,并根据静态时序分析结果对电路进行调整。
在本发明的一个实施例中,在载体电路中植入预先设定的木马,包括,
在载体电路中的不同位置插入至少两种木马,且每插入一个木马,都对载体电路进行静态时序分析,若判断载体电路的时序正确则插入下一个木马。
具体的,为确保检测结果的正确性和准确性,需要选取多种木马对电路进行检测。
具体的,选取的至少两种类型的木马,其中包括组合逻辑型木马和时序逻辑型木马,选取的木马是有特定的功能的,具备激活机制和有效载荷。将至少两种木马分别插入不同的位置,在满足一定的情况下可以被激活,在检测过程中不需要被激活。
在本发明的另一个一个实施例中,对植入预先设定的木马的载体电路进行第二次动态仿真,得到第二仿真结果,包括,
对植入木马的载体电路进行动态仿真,得到初次仿真结果;
在对加入木马的载体电路进行仿真的环境中加入工艺偏差;
在加入工艺偏差的环境中对植入木马的载体电路进行带入初次仿真结果的动态仿真,得到第二仿真结果。
具体的,第二次动态仿真具体包括了两种仿真,首先,对植入木马的载体电路进行一次动态仿真,得到初次仿真结果;然后,在仿真环境中加入工艺偏差;最后再对植入木马的载体电路在加入工艺偏差的环境中进行动态仿真,并在动态仿真的过程中加入初次仿真结果。
具体的,初次仿真结果是在植入木马的载体电路不考虑工艺偏差的环境中进行的仿真,所以初次仿真结果更加细致,在加入工艺偏差的环境中进行的动态仿真里带入初次仿真结果,可以防止因为工艺噪声忽视不易检测的电路,使的仿真过程更加准确。
本发明还提供了一种基于路径延迟指纹的硬件木马检测方法的检测电路,包括影子寄存器、影子时钟、结果寄存器和异或门;
所述影子寄存器的控制端与影子时钟连接,所述影子寄存器的输入端与组合逻辑的输出端连接,所述影子寄存器的输出端与异或门的一个输入端连接,所述异或门的另一个输入端与目的寄存器的输出端相连,异或门的输出端与结果寄存器的输入端相连,所述结果寄存器的控制端与主时钟相连。
具体的,请参见2为本发明实施例提供的检测结构示意图。具体地,载体电路中原有的机构分为源寄存器5、目的地寄存器、组合逻辑、影子寄存器2、结果寄存器4、2输入异或门3。图示组合逻辑路径6两端分别连接源寄存器5和目的地寄存器,且源寄存器5和目的寄存器7都由电路中原本的时钟控制,属于载体电路。所述影子寄存器2的输入端与本级组合逻辑路径6的末端相连,输出与异或门3的一个输入相连,所述目的寄存器7的输出与异或门3的另外一个输入相连。所述异或门3的输出结果寄存器4的输入端相连。
具体的,本发明在组合逻辑路径6的末端添加了一个额外的不属于原始载体电路的寄存器,称为影子寄存器2,控制影子寄存器2的时钟也是额外添加入电路的一个时钟,成为影子时钟1。影子时钟1与电路原本的主时钟8是有着相同的频率,但是他们的相位差不相同。影子时钟1相对于电路的时钟存在一个负的相位偏差,而且这个相位偏差是可以调节的。通过调整这个相位偏差去控制目的地寄存器和影子寄存器2去捕捉组合逻辑路径6终点的时间。也就是说,所述影子寄存器2总是提前于目的地寄存器去采样,通过逐步加大这个负的相位偏差,将会把组合逻辑路径6的裕量逐渐逼近于零。这个时候就会出现目的地寄存器和影子寄存器2捕捉不同数值的情况,此时异或门捕捉到‘1’。异或门的捕捉结果存储结果寄存器内。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (5)
1.基于路径延迟指纹的硬件木马检测方法,包括载体电路,其特征在于:所述方法步骤如下:
确定所述载体电路中的脆弱线路;所述脆弱线路指的是低活性线路上的短路径;
根据所述脆弱线路在载体电路上添加检测结构;
对添加检测结构的载体电路进行第一次动态仿真,得到第一仿真结果;
在载体电路中植入预先设定的木马;
对植入预先设定的木马的载体电路进行第二次动态仿真,得到第二仿真结果;
根据所述第一仿真结果和所述第二仿真结果判断所述载体电路中是否被植入了硬件木马;
其中,所述检测结构包括影子寄存器(2)、影子时钟(1)、结果寄存器(4)和异或门(3);
所述影子寄存器(2)的控制端与影子时钟(1)连接,所述影子寄存器(2)的输入端与组合逻辑路径(6)的输出端连接,所述影子寄存器(2)的输出端与异或门(3)的一个输入端连接,所述异或门(3)的另一个输入端与目的寄存器(7)的输出端相连,异或门(3)的输出端与结果寄存器(4)的输入端相连,所述结果寄存器(4)和目的寄存器(7)的控制端与主时钟(8)相连;
根据所述脆弱线路在载体电路上添加检测结构,包括,
若脆弱线路的末端是目的寄存器(7),则在脆弱线路的末端直接添加检测结构;
若脆弱线路的末端是载体电路的原始输出,则在所述原始输出的末端连接寄存器;
在连接寄存器后的脆弱线路的末端添加检测结构。
2.根据权利要求1所述的基于路径延迟指纹的硬件木马检测方法,其特征在于:还包括对添加检测结构的载体电路进行静态分析;根据静态分析结果,对电路中元器件间的距离进行调整,保证目的寄存器(7)和影子寄存器(2)的时钟网络延迟相等。
3.根据权利要求1所述的基于路径延迟指纹的硬件木马检测方法,其特征在于:在载体电路中植入预先设定的木马,包括,
在载体电路中的不同位置插入至少两种木马,且每插入一个木马,都对载体电路进行静态时序分析,若判断载体电路的时序正确则插入下一个木马。
4.根据权利要求3所述的基于路径延迟指纹的硬件木马检测方法,其特征在于:还包括对植入木马的载体电路进行静态分析;根据静态分析结果,对电路中元器件间的距离进行调整,保证目的寄存器(7)和影子寄存器(2)的时钟网络延迟相等。
5.根据权利要求4所述的基于路径延迟指纹的硬件木马检测方法,其特征在于:对植入预先设定的木马的载体电路进行第二次动态仿真,得到第二仿真结果,包括,
对植入木马的载体电路进行动态仿真,得到初次仿真结果;
在对加入木马的载体电路进行仿真的环境中加入工艺偏差;
在加入工艺偏差的环境中对植入木马的载体电路进行带入初次仿真结果的动态仿真,得到第二仿真结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811268215.6A CN109711204B (zh) | 2018-10-29 | 2018-10-29 | 基于路径延迟指纹的硬件木马检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811268215.6A CN109711204B (zh) | 2018-10-29 | 2018-10-29 | 基于路径延迟指纹的硬件木马检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109711204A CN109711204A (zh) | 2019-05-03 |
CN109711204B true CN109711204B (zh) | 2021-02-26 |
Family
ID=66254796
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811268215.6A Active CN109711204B (zh) | 2018-10-29 | 2018-10-29 | 基于路径延迟指纹的硬件木马检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109711204B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110598399B (zh) * | 2019-08-27 | 2023-08-22 | 天津大学 | 基于弱相同路径的硬件木马检测装置和方法 |
CN111208415A (zh) * | 2020-01-15 | 2020-05-29 | 西安电子科技大学 | 分布型环形振荡器网络版图填充硬件木马检测方法及电路 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102520754B (zh) * | 2011-12-28 | 2013-10-23 | 东南大学 | 一种面向动态电压调节系统的片上监测电路 |
CN104239616B (zh) * | 2014-09-02 | 2017-03-08 | 工业和信息化部电子第五研究所 | 集成电路的设计方法及硬件木马检测方法 |
CN104484525A (zh) * | 2014-12-15 | 2015-04-01 | 天津大学 | 一种减弱硬件木马检测中工艺偏差影响的方法 |
CN104950246B (zh) * | 2015-06-11 | 2017-09-19 | 工业和信息化部电子第五研究所 | 基于延时的硬件木马检测方法和系统 |
CN104950248B (zh) * | 2015-06-24 | 2017-09-22 | 中国电子科技集团公司第五十八研究所 | 加速硬件木马触发的电路安全可测性设计方法及对硬件木马的检测方法 |
CN104951698B (zh) * | 2015-06-24 | 2018-03-02 | 中国电子科技集团公司第五十八研究所 | 能检测不活跃硬件木马的电路安全可测性设计方法及对硬件木马的检测方法 |
CN106778263A (zh) * | 2016-11-15 | 2017-05-31 | 天津大学 | 有效提高硬件木马激活概率的方法 |
CN106872876B (zh) * | 2017-01-25 | 2019-05-14 | 天津大学 | 基于电磁和延迟的硬件木马侧信道检测方法 |
-
2018
- 2018-10-29 CN CN201811268215.6A patent/CN109711204B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109711204A (zh) | 2019-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109657464B (zh) | 一种基于路径延时分析的硬件木马检测方法 | |
KR101312978B1 (ko) | 성능 모니터링을 위한 임계―경로 회로 | |
CN104239616B (zh) | 集成电路的设计方法及硬件木马检测方法 | |
CN107480561B (zh) | 基于少态节点遍历的硬件木马检测方法 | |
TWI521378B (zh) | 偵測錯誤注入的裝置與方法 | |
US9360522B2 (en) | Methods and apparatus for automatic fault detection | |
CN109711204B (zh) | 基于路径延迟指纹的硬件木马检测方法 | |
CN108694323B (zh) | 用于检测故障点的设备和方法 | |
CN105372577A (zh) | 芯片上变异侦测方法和集成电路 | |
KR101042979B1 (ko) | 임베디드 시스템의 신뢰성 평가를 위한 시뮬레이션 커널을 이용하는 오류주입시험 장치 | |
CN114880975A (zh) | 一种硬件木马的生成方法、系统、设备以及介质 | |
US20160292332A1 (en) | System for verifying timing constraints of ic design | |
CN106372505B (zh) | 一种针对嵌入式系统代码攻击的快速恢复方法 | |
US6829573B1 (en) | Method and system to search for critical path | |
KR20030020951A (ko) | 디지털 시스템 및 그것의 에러 탐지를 위한 방법 | |
US20220327269A1 (en) | Computing device and method for detecting clock domain crossing violation in design of memory device | |
US8181146B1 (en) | Equivalence checker | |
US10896275B2 (en) | Verification apparatus and method for verifying operation of integrated circuit | |
US8438518B2 (en) | Apparatus for designing semiconductor integrated circuit, method of designing semiconductor integrated circuit, and program for designing semiconductor integrated circuit | |
Iyer et al. | Surprises in sequential redundancy identification | |
CN111695321B (zh) | 电路设计方法及相关的电脑程序产品 | |
US11669419B1 (en) | System and method for performing a failure assessment of an integrated circuit | |
Rajendran et al. | An efficient software tool based on SCOAP for testability analysis of combinational circuits | |
JP2007140877A (ja) | 論理等価性検証システム及びそれを用いた検証方法 | |
Rajendran et al. | Application of Testability Analysis in Hardware Security |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |