CN104950248B - 加速硬件木马触发的电路安全可测性设计方法及对硬件木马的检测方法 - Google Patents
加速硬件木马触发的电路安全可测性设计方法及对硬件木马的检测方法 Download PDFInfo
- Publication number
- CN104950248B CN104950248B CN201510354794.6A CN201510354794A CN104950248B CN 104950248 B CN104950248 B CN 104950248B CN 201510354794 A CN201510354794 A CN 201510354794A CN 104950248 B CN104950248 B CN 104950248B
- Authority
- CN
- China
- Prior art keywords
- circuit
- test pattern
- clock frequency
- under
- design
- 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
Abstract
本发明涉及一种加速硬件木马触发的电路安全可测性设计方法。首先完成电路的功能设计与验证。其次,选择一个高于正常工作时的时钟频率作为安全测试模式下的时钟频率。然后,完成相应的综合,扫描链插入,布局布线,静态时序分析等工作,确保在以安全测试模式的时钟频率下,进行功能测试和扫描链测试的功能以及时序都完全正确。这样在电路制造完毕后,将电路配置到高时钟频率的安全性测试模式,对于触发条件依赖时间的如时间炸弹类的硬件木马,使用本发明所述方法设计的电路就能够显著加速硬件木马的触发概率。该设计方法也可以显著增加硬件木马的植入难度。
Description
技术领域
本发明涉及一种能加速硬件木马触发的电路安全可测性设计方法,尤其是一种通过在电路设计阶段添加额外电路从而使得硬件木马更容易触发的设计方法与检测流程,尤其适合检测需要较长时间才会触发的硬件木马。
背景技术
随着集成电路产业朝着全球合作的趋势发展,在集成电路产业链环节上,有越来越多的第三方参与,使得集成电路在设计与制造过程中不受控的因素越来越多,由此引发了对集成电路安全性的担忧。由于第三方不受控环节的参与,集成电路在设计与制造过程中很容易遭到恶意修改,并被植入硬件木马。这些硬件木马有的会改变电路的功能,降低电路的性能,缩短电路的寿命,甚至有的会泄露电路内部的机密信息,从而严重影响集成电路以及使用该集成电路的信息化设备的安全性,如斯诺登棱镜门事件。
目前国内外已经有很多针对集成电路内可能含有的硬件木马的检测方法的研究。目前的硬件木马检测方法中研究最多的是基于旁路分析的检测技术以及基于逻辑测试的检测技术。基于旁路分析的检测主要是利用芯片工作时的旁路信息(如电磁辐射,电流或者电路延时等信息)来对硬件木马进行检测。其原理是因为电路中植入的硬件木马会对芯片的旁路信号,如电流,频率或路径延时产生影响,因此通过观察芯片的旁路信号并与原始芯片的旁路信息作比较,进而检测出芯片中是否有硬件木马的存在。基于逻辑测试的硬件木马检测,主要是通过功能与结果测试的方法,即产生各种各样的测试向量,通过观测测试向量的输出是否满足预期值来判断电路内部是否含有硬件木马。
上述两类方法能够在一定程度上,对某一类特定的硬件木马进行检测,但都依赖于需要触发硬件木马或者需要硬件木马一直处于工作状态从而影响电路功耗与频率关系,以及路径延迟等信息。但对于较长时间才会触发的硬件木马,上述两类方法较难进行有效的检测。
发明内容
基于此,本发明提供一种加速硬件木马触发的电路安全可测性设计方法,包括以下步骤:
a)、完成原始电路的功能设计与验证,
b)、选择一个高于正常工作时的时钟频率作为安全性测试模式下的时钟频率;
c)、通过配置一个内部寄存器来选择电路的正常工作模式还是安全性测试模式,且该寄存器应为用户不可见;
d)、完成两种时钟频率下的逻辑综合,扫描链插入,布局布线以及静态时序分析等设计工作,并保证两种频率下的电路功能与时序都完全正确;
e)、将功能测试的向量用于安全性测试模式,保证电路在安全性测试模式下,功能测试向量也能通过。
进一步地,步骤b)在选择一个高于正常工作时的时钟频率作为安全性测试模式下的时钟频率时,可以有以下规则:
b1)、根据想比正常工作时钟频率提高的数量,确定安全性测试模式下的时钟频率;
b2)、根据在使用的制造工艺条件下,电路逻辑结构能够达到的最大频率来确定安全性测试模式下的时钟频率;
b3)、根据能够允许的电路面积上限,确定安全性测试模式下的时钟频率。
进一步地,根据上述任一项电路安全可测性设计方法的对硬件木马的检测方法,包括下述步骤:
f1)、将电路或根据设计的电路制作的芯片配置到安全性测试模式下,添加测试激励,以安全性测试模式下的时钟频率进行多次重复测试;每次测试持续一个足够时间段;
f2)、若电路或根据设计的电路制作的芯片的输出响应与预期不符,且每次测试时的不符结果都相同,则认为电路内部含有硬件木马,且该硬件木马的植入水平较高,能满足安全性测试模式下的时序要求;
f3)、若电路或根据设计的电路制作的芯片的输出响应与预期不符,且每次测试时的不符结果会变化,则也认为电路内部含有硬件木马,且该硬件木马的植入水平较低,植入过程中破坏了安全性测试模式下的时序要求,造成安全性测试模式下数据有时序问题。
本发明的技术效果在于:
电路中的被植入了触发时间较长的硬件木马后,能够通过本发明,加快硬件木马的触发速度,从而被检测出来。
附图说明
图1为本发明的一实施例中的流程示意图。
图2为本发明的一实施例中同步计数器型硬件木马改变CPU内核电路节点逻辑值的示意图。
具体实施方式
下面结合具体附图和实施例对本发明作进一步说明。
可测性设计(DFT,Design for Testability)是在集成电路设计中非常重要的一环,主要用于检测芯片在制造过程中是否存在制造缺陷,从而影响到电路的功能,以及成品率。且人们已经研发了多种DFT技术来更有效的检测芯片制造中的缺陷。
但是,对于集成电路内是否存在硬件木马的安全性检测,目前尚没有一个如DFT这样的通用,标准流程。
当前的针对硬件木马检测的技术如逻辑测试,都需要电路内部的硬件木马触发,并改变电路内部节点的逻辑值,这样才能通过观察输出来判断电路内部是否含有硬件木马。但是硬件木马的触发条件众多,如时序型触发,即完全依赖电路内部的时钟,当电路运行到某一时间点时,硬件木马触发,造成功能性故障。
这种时序型的硬件木马,可以灵巧的设计置触发时间,从而避开常规的各种检测,从而进入供应链,进入各种信息化设备中,造成潜在的威胁。
逻辑测试是硬件木马检测的一种重要手段,通过对电路施加不同的测试激励,观穿过输出响应来判断电路内部是否正常工作。
逻辑测试方法简单,自动化程度高,适合大规模的集成电路测试,效率高。
但是通过逻辑测试来进行硬件木马的检测,必须找到硬件木马的触发条件。如果有一类硬件木马的需要运行后一年才会触发,那么目前常规的各种测试方法都无法将其进行检测。
针对这类完全由运行时间控制的硬件木马,其唯一的方法,就是要加速其运行时间,使之提前触发,从而被测试人员检测出来。
本发明针对上述情况,提出一种能加速硬件木马触发的电路安全可测性设计方法,使得电路在进行安全性测试时,能够以超出正常工作频率的速度加快进行,进而缩短硬件木马触发的时间。
下面结合附图和实施例对本发明作进一步的说明
图1即为本发明所述的一种电路安全可测性设计方法的实施步骤。按照步骤S100所述,完成原始电路的设计与功能验证。
其次按照步骤S101所述,按照本发明中内容b)中所述,按照规则确定电路安全性测试模式下的频率。在本实施例中,验证电路采用了TI公司MSP430内核,正常工作时钟定为20MHz。在电路安全性测试模式下的频率定为200MHz,即提高10倍的工作频率。并分配内部寄存器地址来选择正常工作模式和安全性测试模式。
电路安全性测试模式的任何信息,除了设计人员自己以外,对外都应该处于保密状态。
按照步骤S102所述,完成在SMIC 55nm下的综合,以及布局布线等工作。且综合和布局布线的时钟约束条件都为200MHz,并完成电路在两种工作频率下的时序收敛。
按照步骤S103所述,当电路完成布局布线后,完成功能测试以及安全性测试,使得同一个测试向量能在上述两种模式下都正常工作。
在此MSP430电路设计过程中,若植入如图2所示的同步计数器型硬件木马。假设这个硬件木马是一个48位的同步计数器,其触发状态为48位全部为‘1’,根据电路正常工作频率20MHz计算,这个硬件木马触发的条件为连续正常工作163天。
按照步骤S104所述,对含有此硬件木马的电路进行测试,若按照20MHz的频率进行功能测试,则需要连续测试163天才能观测到输出值与预期不同。
若在安全性测试模式下,利用200MHz的时钟频率进行测试,则计数器值达到饱和从而触发硬件木马的时间理论上就缩短了10倍,只需约16天,就可以观测到输出值与预期不同,显著提高了安全性测试的实用性。
本实施例中,直接对植入了硬件木马的电路进行了测试,在实际研发和生产中,电路设计在研发企业中进行,而根据设计的电路生产芯片则通常外包给芯片厂家进行,那么在设计者得到生产的芯片后,就可以利用上述相同的方法对芯片进行测试,以防止芯片在外加工工程中被人为植入硬件木马。
显然,如果安全性测试的时钟频率超过正常工作的时钟频率越多,则触发硬件木马的速度就越快。但是受到电路设计的复杂度,电路制造工艺,以及电路面积(通常同一电路在同一目标制造工艺下,要达到更高的工作频率,其面积比实现较低的工作频率要大)等因素的制约,电路安全性测试模式下的时钟频率不可能无限制的提高,需要在上述各个因素之间寻找到一个平衡点,即能够显著缩短硬件木马的触发时间,又要在能够接受的设计成本之内。
增加较高时钟频率的电路安全性测试模式,也显著提高了硬件木马植入的难度。一旦硬件木马植入的水平不够高,在频率较低的正常工作模式下植入的硬件木马即使能满足正常工作模式下的时序关系,也很难满足高时钟频率下的时序收敛要求,很可能在高时钟频率测试模式下发生很多由于时序原因造成的输出错误,从而使得设计者不需要等到硬件木马的触发,就能判断电路内部被恶意篡改过。
Claims (2)
1.一种加速硬件木马触发的电路安全可测性设计方法,其特征在于,包括以下步骤:
a)、完成原始电路的功能设计与验证,
b)、选择一个高于正常工作时的时钟频率作为安全性测试模式下的时钟频率;
c)、通过配置一个内部寄存器来选择电路的正常工作模式还是安全性测试模式,且该寄存器应为用户不可见;
d)、完成正常工作的时钟频率和安全性测试模式下的时钟频率两种时钟频率下的设计工作,并保证两种频率下的电路功能与时序都完全正确;
e)、将功能测试的向量用于安全性测试模式,保证电路在安全性测试模式下,功能测试向量也能通过;
步骤b)在选择一个高于正常工作时的时钟频率作为安全性测试模式下的时钟频率时,有以下规则:
b1)、根据相比正常工作时钟频率提高的数量,确定安全性测试模式下的时钟频率;
b2)、根据在使用的制造工艺条件下,电路逻辑结构能够达到的最大频率来确定安全性测试模式下的时钟频率;
b3)、根据能够允许的电路面积上限,确定安全性测试模式下的时钟频率。
2.一种根据权利要求1所述电路安全可测性设计方法的对硬件木马的检测方法,包括下述步骤:
f1)、将电路或根据设计的电路制作的芯片配置到安全性测试模式下,添加测试激励,以安全性测试模式下的时钟频率进行多次重复测试;每次测试持续一个足够时间段;
f2)、若电路或根据设计的电路制作的芯片的输出响应与预期不符,且每次测试时的不符结果都相同,则认为电路内部含有硬件木马,且该硬件木马能满足安全性测试模式下的时序要求;
f3)、若电路或根据设计的电路制作的芯片的输出响应与预期不符,且每次测试时的不符结果会变化,则也认为电路内部含有硬件木马,且该硬件木马植入过程中破坏了安全性测试模式下的时序要求,造成安全性测试模式下数据有时序问题。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510354794.6A CN104950248B (zh) | 2015-06-24 | 2015-06-24 | 加速硬件木马触发的电路安全可测性设计方法及对硬件木马的检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510354794.6A CN104950248B (zh) | 2015-06-24 | 2015-06-24 | 加速硬件木马触发的电路安全可测性设计方法及对硬件木马的检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104950248A CN104950248A (zh) | 2015-09-30 |
CN104950248B true CN104950248B (zh) | 2017-09-22 |
Family
ID=54165047
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510354794.6A Active CN104950248B (zh) | 2015-06-24 | 2015-06-24 | 加速硬件木马触发的电路安全可测性设计方法及对硬件木马的检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104950248B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106918773B (zh) * | 2017-03-01 | 2019-07-05 | 中国电子产品可靠性与环境试验研究所 | 工艺型硬件木马监测方法与装置 |
CN107370743B (zh) * | 2017-08-01 | 2019-08-20 | 华南理工大学 | 针对众核芯片上篡改数据包的恶意木马的检测及防御方法 |
CN108681669A (zh) * | 2018-04-23 | 2018-10-19 | 东南大学 | 一种基于多参数侧信道分析的硬件木马检测系统及方法 |
CN109543464A (zh) * | 2018-10-19 | 2019-03-29 | 天津大学 | 基于fpga局部可重构硬件木马安全防护方法及装置 |
CN109711204B (zh) * | 2018-10-29 | 2021-02-26 | 西安电子科技大学 | 基于路径延迟指纹的硬件木马检测方法 |
CN110059504B (zh) * | 2019-03-01 | 2021-02-26 | 西安电子科技大学 | 一种硬件木马检测方法及装置 |
CN113010883B (zh) * | 2019-12-20 | 2022-10-25 | 天津大学 | 一种基于自组织神经网络的硬件木马检测方法 |
CN112906345B (zh) * | 2021-03-30 | 2022-10-04 | 天津飞腾信息技术有限公司 | 验证逻辑电路中的路径的方法、系统和介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10275140A (ja) * | 1997-03-31 | 1998-10-13 | Nec Ic Microcomput Syst Ltd | マイクロコンピュータ |
CN102854454B (zh) * | 2012-08-23 | 2014-07-30 | 天津大学 | 在集成电路测试中用于缩短硬件木马的验证时间的方法 |
US9218506B2 (en) * | 2013-03-12 | 2015-12-22 | University Of Connecticut | Methods and systems for preventing hardware trojan insertion |
CN104615950B (zh) * | 2015-03-02 | 2017-08-25 | 中国电子科技集团公司第五十八研究所 | 能检测极小硬件木马的电路设计方法及检测方法 |
CN104636687B (zh) * | 2015-03-02 | 2017-12-22 | 中国电子科技集团公司第五十八研究所 | 提高硬件木马检测分辨率的电路设计方法及硬件木马检测方法 |
-
2015
- 2015-06-24 CN CN201510354794.6A patent/CN104950248B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN104950248A (zh) | 2015-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104950248B (zh) | 加速硬件木马触发的电路安全可测性设计方法及对硬件木马的检测方法 | |
Huang et al. | Scalable test generation for Trojan detection using side channel analysis | |
Cruz et al. | Hardware Trojan detection using ATPG and model checking | |
Banga et al. | Trusted RTL: Trojan detection methodology in pre-silicon designs | |
Banga et al. | Odette: A non-scan design-for-test methodology for trojan detection in ics | |
Chakraborty et al. | A flexible online checking technique to enhance hardware trojan horse detectability by reliability analysis | |
CN104951698B (zh) | 能检测不活跃硬件木马的电路安全可测性设计方法及对硬件木马的检测方法 | |
Wang et al. | Sequential hardware trojan: Side-channel aware design and placement | |
Vaidyanathan et al. | Detecting reliability attacks during split fabrication using test-only BEOL stack | |
US11144648B2 (en) | Trojan insertion tool | |
Papadimitriou et al. | A multiple fault injection methodology based on cone partitioning towards RTL modeling of laser attacks | |
CN105046153B (zh) | 基于少态点分析的硬件木马检测方法 | |
CN104101828A (zh) | 基于激活概率分析的抗硬件木马电路设计方法 | |
Kamhoua et al. | Testing for hardware trojans: A game-theoretic approach | |
US10393796B2 (en) | Testing integrated circuits during split fabrication | |
Pomeranz et al. | Unspecified transition faults: a transition fault model for at-speed fault simulation and test generation | |
Han et al. | Hazard initialized LOC tests for TDF undetectable CMOS open defects | |
Li et al. | A XGBoost based hybrid detection scheme for gate-level hardware Trojan | |
Lodhi et al. | Formal analysis of macro synchronous micro asychronous pipeline for hardware Trojan detection | |
Ye et al. | An anti-Trojans design approach based on activation probability analysis | |
Jacob et al. | Detection of malicious circuitry using transition probability based node reduction technique | |
Cornell et al. | Combinational hardware Trojan detection using logic implications | |
Giridharan et al. | A MUX based Latch Technique for the detection of HardwareTrojan using Path Delay Analysis | |
CN104849648B (zh) | 一种提高木马活性的测试向量生成方法 | |
Guimarães | Testing Techniques for Detection of Hardware Trojans in Integrated Circuits of Trusted Systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |