CN110232278A - 基于复合型环形振荡器的降频分时a2木马检测方法及装置 - Google Patents
基于复合型环形振荡器的降频分时a2木马检测方法及装置 Download PDFInfo
- Publication number
- CN110232278A CN110232278A CN201910387922.5A CN201910387922A CN110232278A CN 110232278 A CN110232278 A CN 110232278A CN 201910387922 A CN201910387922 A CN 201910387922A CN 110232278 A CN110232278 A CN 110232278A
- Authority
- CN
- China
- Prior art keywords
- chain
- signal
- clear
- ring oscillator
- circuit
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03L—AUTOMATIC CONTROL, STARTING, SYNCHRONISATION, OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
- H03L7/00—Automatic control of frequency or phase; Synchronisation
- H03L7/06—Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
- H03L7/08—Details of the phase-locked loop
- H03L7/099—Details of the phase-locked loop concerning mainly the controlled oscillator of the loop
- H03L7/0995—Details of the phase-locked loop concerning mainly the controlled oscillator of the loop the oscillator comprising a ring oscillator
Abstract
本发明公开一种基于复合型环形振荡器的降频分时A2木马检测方法及装置,步骤包括:S1.在待测芯片的门级网表生成阶段插入多功能控制器以及一个以上的复合型环形振荡器,复合型环形振荡器由链首控制单元以及多个链内显化单元依次连成首尾相接的环形链状结构得到,多功能控制器控制复合型环形振荡器的工作模式;S2.进行检测时,控制使复合型环形振荡器交替工作在正常功能模式和振荡模式以激活植入的A2木马;S3.判断测试程序运行结束时待测芯片的运行结果,若未能达到预期功能,判定待测芯片可能被植入了A2木马。本发明具有实现方法简单、检测精度以及效率高且灵活性强等优点。
Description
技术领域
本发明涉及硬件木马检测技术领域,尤其涉及一种基于复合型环形振荡器的降频分时A2木马检测方法及装置。
背景技术
在芯片的生产制造过程中,木马植入者可能会利用加工过程对芯片植入硬件木马,而硬件木马的植入会造成不可估量的后果,因此对芯片进行硬件木马检测十分必要。根据硬件木马触发电路的工作方式,可将硬件木马分为数字逻辑触发型与模拟电路触发型,其中A2类型触发是一种典型的模拟电路触发,以A2类型触发的木马,统称为A2木马。A2类型触发的触发电路如图1所示,其中M0可视为一个低电平开启的开关,M1可视为一个高电平开启的开关,M2可视为一个栅源短接的二极管,当漏源电压高于该二极管的导通电压时,便有漏极泄漏电流从其漏极流向源极,M3、M4都等效于一个电容,分别用Cunit和Cmain表示;在设计时将使Cmain远远大于Cunit,检测器用于监控Cmain电容电压,当Cmain电压高于检测器的检测阈值,触发输出信号将变成“1”,否则一直为“0”。
上述电容开关的等效原理如图2(a)所示,当触发输入信号为“0”时,M0开关开启,M1开关关断,电源VDD通过开关M0为Cunit充电;当触发输入信号为“1”时,M0开关关断,M1开关开启,Cunit电容上的电荷通过M1开关与Cmain电容进行电荷共享,由于设计时Cmain的容值远远大于Cunit,所以电荷共享结束达到的平衡电压只相对于Cmain的原始电压增加了很小一部分,触发输入信号每发生一次跳变,Cunit与Cmain便发生一次电荷共享,Cmain的电压便增加一点,如图2(b)所示。当Cmain电压增加到接近电源电压VDD(即为极限电压)时,电荷共享已不能再使Cmain电压升高,因此Cmain电压将维持在该极限电压。由于Cmain电容存在电容漏流且M3存在漏极漏流,若触发输入信号长时间不发生跳变,则Cmain的电压将会因电荷泄漏而逐渐降低;当Cmain电压降低到低于检测器的阈值电压时,触发输出信号将变为“0”,其行为模型如图3所示,Cmain从初始0电压上升到检测器阈值电压所需的时间即为触发时间,Cmain从极限电压下降到检测器阈值电压所需的时间即为保持时间。
由上述可知,A2木马触发的条件既不是触发输入信号为“0”,也不是触发输入信号为“1”,而是触发输入信号在一定的时间长度内,其跳变的次数超过一定阈值,若没有跳变的状态持续一定时间,即使已经触发的木马也会自动变成未触发木马,因此,攻击者通常会尽可能地选择跳变频率低的信号作为A2木马的触发输入信号,来使得A2木马逃过流片后的故障测试与功能测试等。
当前针对A2木马的检测方法主要是如图4所示的在线监控检测法,该方法需要在设计时找出原始电路可能会被用作A2木马触发输入信号的可疑信号,然后在原始芯片中插入一个计时器、一个计数器、一个控制器,如果原始芯片中没有中断机制,还需插入支持中断机制的硬件;此外还需根据可疑信号在原始芯片中的应用场景,编写软件判别程序。其检测原理是:通过控制输入信号配置控制器,主要是配置计时器计时窗口的大小和计数器跳变阈值的大小;然后启动芯片进入正常功能模式,在正常工作的过程中,计数器持续监控可疑信号的跳变,若在配置的时间长度窗口中,可疑信号的跳变次数超过了配置的跳变阈值,则频跳确认信号将为“1”,从而触发中断机制;中断机制激活软件判别程序,查看当前芯片是否工作在软件已经定义的可信应用场景之中,若此时芯片并非工作在已被定义为可信的应用场景,则判别程序将给控制器发出报警信号,提示可能存在A2木马。
上述A2木马检测方法会存在以下问题:
1、原始芯片必须自带中断机制,否则需要额外设计中断机制。
2、若存在多个可疑信号需要监控,需要为每个可疑信号都设计一个专属的计时器与计数器,而一般原始芯片中存在多个可能被用作A2木马触发输入的可疑信号,需要设置大量的计时器与计数器,面积开销较大;
而若考虑采用共享计时的方法,即让n个可疑信号共用1个时间窗口,虽然可以节省n-1个计时器,但该n个信号只能设置一个时间窗口长度,又会降低检测灵活性,若每个可疑信号独占一个专有的计数器,如图5(a)所示,该类方式的面积开销依然较大;
若采用分时计数的方法,即采用插入多路选择器的方式,每个时间窗口只对选中的信号进行监控,虽然可以节省计数器的个数,但该类方式可能会导致多路选择器恰好并没有选择正在频繁跳变的可疑信号,漏掉未被选择的可疑信号的跳变,从而未能监控到A2木马的触发,如图5(b)所示。
3、对于每个可疑信号,在不同应用下其跳变的统计特性都不尽相同,因此难以设置合理的时间窗口长度和跳变次数阈值,若时间长度过短或跳变次数过小,正常应用可能会被频繁中断,而若时间长度过长或跳变次数过大,即使A2木马已经触发,也未能使频跳确认信号为“1”,而导致未能起到监控报警的作用。
4、需要能够十分熟悉芯片的应用场景,编写十分详尽的软件处理判别程序,如果有正常的应用并未包含在软件认定的可信范围内,可能发生误报的情况。
发明内容
本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种实现方法简单、检测精度以及效率高且灵活性强的基于复合型环形振荡器的降频分时A2木马检测方法及装置。
为解决上述技术问题,本发明提出的技术方案为:
一种基于复合型环形振荡器的降频分时A2木马检测方法,步骤包括:
S1.在待测芯片的门级网表生成阶段插入多功能控制器以及一个以上的复合型环形振荡器,所述复合型环形振荡器由链首控制单元以及多个用于显化木马的链内显化单元依次连成首尾相接的环形链状结构得到,由所述多功能控制器控制所述复合型环形振荡器的工作模式;
S2.进行检测时,所述多功能控制器控制使所述复合型环形振荡器分时交替工作在正常功能模式和振荡模式以激活所植入的A2木马,所述振荡模式时所述复合型环形振荡器恒定输出交替变化的振荡信号;
S3.判断测试程序运行结束时的运行结果,若未能达到预期功能,则判定待测芯片可能被植入了A2木马。
作为本发明的进一步改进,所述步骤S1的具体步骤为:获取待测芯片的原始电路中所有惰性单元的位置信息;根据获取的所述惰性单元的位置信息插入所需数量的所述复合型环形振荡器,将各所述复合型环形振荡器链内显化单元的输入端与所述惰性单元连接,所述链内显化单元的输出端与所述惰性单元的后继逻辑连接,插入所述多功能控制器后将所述多功能控制器的输出端与各所述复合型环形振荡器中链首控制器的使能端连接。
作为本发明的进一步改进,所述步骤S1中,具体配置两种类型的链首控制单元,包括由或门和与门依次连接构成的H1型链首控制电路、由与门和或门依次连接构成的H2型链首控制电路,所述H1型链首控制电路、H2型链首控制电路的输入信号均包括:振荡使能信号RO_EN、振荡输入信号RO_I以及置位使能信号ST_EN,输出信号均包括:振荡输出信号RO_F,所述振荡使能信号RO_EN、置位使能信号ST_EN由所述多功能控制器提供;
以及配置四种类型的链内显化单元,包括由与门和或非门依次连接构成的S1型链内显化电路、由与门和或门依次连接构成的S2型链内显化电路、由或门和与非门依次连接构成的S3型链内显化电路以及由或门和与门依次连接构成的S4型链内显化电路,所述S1型链内显化电路、S2型链内显化电路、S3型链内显化电路、S4型链内显化电路的输入信号均包括:惰性单元输出信号ORI_I、振荡输入信号RO_I,输出信号均包括:惰性单元后继逻辑输入信号ORI_F、振荡输出信号RO_F,所述后继逻辑输入信号ORI_F用于驱动惰性单元的后继逻辑;
各所述复合型环形振荡器中所述链首控制电路、链内显化电路按照指定的串链规则连成首尾相接的环形结构。
作为本发明的进一步改进,所述串链规则为:
所述H1型链首控制电路后只能接S1型链内显化电路或S2型链内显化电路,所述H2型链首控制电路后只能接S3型链内显化电路或S4型链内显化电路;
所述S1型链内显化电路和S4型链内显化电路后只能接S3型链内显化电路或S4型链内显化电路,所述S2型链内显化电路和S3型链内显化电路后只能接S1型链内显化电路或S2型链内显化电路;
每个所述复合型环形振荡器的链内所包含的S1型链内显化电路和S3型链内显化电路的总数为奇数,若为偶数,在振荡器尾部插入奇数个反相器以凑成奇数;
当前级的振荡输入信号RO_I端口与上一级的振荡输出信号RO_F端口相连,当前级的振荡输出信号RO_F端口与下一级的振荡输入信号RO_I端口相连。
作为本发明的进一步改进,所述步骤S2的具体步骤为:
S21.配置阶段:配置所述多功能控制器为第一模式并维持一个时钟周期,使得在该时钟周期内多功能控制器输出的所有振荡使能信号为有效,将所有复合型环形振荡器同时从正常功能模式变为所述振荡模式;
S22.预热阶段:配置所述多功能控制器的第二模式并持续指定时长,使得在该时长内控制所有复合型环形振荡器保持为所述振荡模式,以使被测芯片中的可疑信号及所述可疑信号驱动的功能逻辑发生振荡跳变;
S23.检测阶段:重新配置所述多功能控制器为所述第一模式并施加所需功能向量,由所述多功能控制器产生分频时钟信号输出给待测芯片,所述复合型环形振荡器在振荡模式下恒定输出交替变化的振荡信号以激活植入的A2木马,直至完成检测。
作为本发明的进一步改进,所述第一模式具体为RO翻转模式,所述RO翻转模式时所述多功能控制器中控制信号生成器形成一条振荡使能信号RO_EN的自反触发器链,即每经历1个时钟周期,所述控制信号生成器输出的振荡使能信号RO_EN按位取反一次,置位使能信号ST_EN始终保持原状态不变。
作为本发明的进一步改进,所述步骤S21中配置阶段时,具体通过配置所述多功能控制器输入的测试使能信号Test_En、模式决策信号Key,使得输入的时钟信号CLK能够通过门控单元传递到所述控制信号生成器中所有扫描触发器,所述控制信号生成器形成一条长度为n的振荡使能信号RO_EN的自反触发器链,每经历1个时钟周期,振荡使能信号RO_EN[n-1:0]按位取反一次,置位使能信号ST_EN[n-1:0]始终保持原状态不变,其中n为所述复合型环形振荡器的个数。
作为本发明的进一步改进,所述第二模式具体为保持模式,所述保持模式时,通过配置所述多功能控制器输入的测试使能信号Test_En、模式决策信号Key,使得输入的时钟信号CLK不能够通过门控单元传递到所述控制信号生成器中所有扫描触发器,所述控制信号生成器中输出的振荡使能信号RO_EN和置位使能信号ST_EN将保持原状态不变。
作为本发明的进一步改进,所述步骤S23中检测时时钟频率小于等于Ft1,且Ft1满足如下条件:
其中,T1为待测芯片插入所述复合型环形振荡器后得到的改进门级网表中最大的寄存器到寄存器延时,T2为芯片正常工作的最小时钟周期。
一种基于复合型环形振荡器的降频分时A2木马检测装置,包括计算机设备,所述计算机设备被编程以执行如上述方法的步骤,或者该计算机设备的存储介质上存储有被编程以执行上述基于复合型环形振荡器的降频分时A2木马检测方法的计算机程序。
与现有技术相比,本发明的优点在于:
1、本发明通过在门级网表阶段插入复合型环形振荡器以及多功能控制器,由多功能控制器控制各复合型环形振荡器的工作模式,采用降频分时检测法,在保证功能电路正常运行所选的功能向量的前提下,通过控制使复合型环形振荡器分时交替工作在正常功能模式和振荡模式,使芯片分时交替处于正常功能状态与振荡状态,利用振荡模式来激活A2木马,由运行结果比对即可判断出是否被植入了A2木马,相比于传统的共享计时、分时计数等方法,实现简单,面积开销小且检测效率及精度高,可以实现简单高效的A2木马激活与检出。
2、本发明在检测阶段每换一次检测激励环形振荡器都会振荡一个CLK周期,使得激活A2木马所需的测试时间短,而且可以有效地防止A2木马因为触发输入信号长时间不发生跳变而休眠的情况发生,且检测所用的检测激励可以取自被测芯片任意应用场景的功能向量,检测灵活性强,原始芯片无需自带中断机制,也无需额外设计中断机制。
3、本发明基于逻辑检测法,通过比较检测时的输出响应与预期的输出响应是否相同来判断待测芯片是否被植入了A2木马,能够检测出改变功能和拒绝服务两类A2木马,同时该方法能够增加A2木马的激活概率,因此对于降低性能和泄漏信息两类A2木马,可以增强侧信道分析法等其他检测方法的检测效果。
附图说明
图1是传统A2类型触发的触发电路图。
图2是传统A2类型触发等效原理图。
图3是传统A2类型触发的触发行为模型图。
图4是传统在线监控检测法的实现原理图。
图5传统在线监控检测法中两种典型方法的原理示意图。
图6是本实施例基于复合型环形振荡器的降频分时A2木马检测方法的实现流程示意图。
图7是本实施例中链首控制单元的结构示意图。
图8是本实施例中链内显化单元的结构示意图。
图9是本实施例中复合型环形振荡器的结构原理示意图。
图10是本实施例中芯片改进前后的结构示意图。
图11是本实施例中多功能控制器的结构示意图。
图12是本实施例中控制信号生成器的电路结构示意图。
图13是本实施例中时钟控制器的电路结构示意图。
图14是具体应用实施例中实现A2木马检测的原理示意图。
图15是本实施例采用降频分时检测时的控制信号时序图。
图16是本实施例采用降频分时检测时的状态时序图。
图17是本实施例木马检测的完整测试流程示意图。
具体实施方式
以下结合说明书附图和具体优选的实施例对本发明作进一步描述,但并不因此而限制本发明的保护范围。
如图6所示,本实施例基于复合型环形振荡器的降频分时A2木马检测方法步骤包括:
S1.在待测芯片的门级网表生成阶段插入多功能控制器以及一个以上的复合型环形振荡器,复合型环形振荡器由链首控制单元以及多个用于显化木马的链内显化单元依次连成首尾相接的环形链状结构得到,由多功能控制器控制所述复合型环形振荡器的工作模式;
S2.进行检测时,多功能控制器控制使所述复合型环形振荡器分时交替工作在正常功能模式和振荡模式以激活所植入的A2木马,振荡模式时复合型环形振荡器恒定输出高、低电平(1,0)交替变化的振荡信号;
S3.判断测试程序运行结束时的运行结果,若未能达到预期功能,则判定待测芯片可能被植入了A2木马。
本实施例通过在门级网表阶段插入复合型环形振荡器以及多功能控制器,复合型环形振荡器为由链首控制单元以及多个链内显化单元构成的首尾相接的振荡器,由多功能控制器控制各复合型环形振荡器的工作模式,可以基于芯片网表级设计同时实现硬件木马的感知及显化,复合型环形振荡器中每个链内显化单元不需要配置扫描触发器,且其既是木马显化电路,又是木马感知电路,可以节省面积开销,且控制实现简单,换测试激励与链内显化单元的赋值可以独立进行,且为链内显化单元赋值时只需简单地配置多功能控制器,可以利于高效实现硬件木马检测,基于复合型环形振荡器还能够对通过输入随机激励来寻找原始设计中惰性单元的攻击方式具有一定误导混淆作用,增加植入硬件木马的难度,使得具有主动防御功能;
同时本实施例基于复合型环形振荡器结构,当对待测芯片进行木马检测时,采用降频分时检测法,在保证功能电路正常运行所选的功能向量的前提下,通过控制使复合型环形振荡器分时交替工作在正常功能模式和振荡模式,使芯片分时交替处于正常功能状态与振荡状态,利用振荡模式来激活A2木马,由运行结果比对即可判断出是否植入了A2木马,相比于传统的共享计时、分时计数等方法,实现简单,面积开销小且检测效率及精度高,可以实现简单高效的A2木马激活与检出。
采用本实施例上述检测方法时,在检测阶段每换一次检测激励环形振荡器都会振荡一个CLK周期,使得激活A2木马所需的测试时间短,而且可以有效地防止A2木马因为触发输入信号长时间不发生跳变而休眠的情况发生,且检测所用的检测激励可以取自被测芯片任意应用场景的功能向量,检测灵活性强,原始芯片无需自带中断机制,也无需额外设计中断机制。
本实施例中,步骤S1的具体步骤为:获取待测芯片的原始电路中所有惰性单元的位置信息;根据获取的惰性单元的位置信息插入所需数量的所述复合型环形振荡器,将各复合型环形振荡器链内显化单元的输入端与惰性单元连接,链内显化单元的输出端与惰性单元的后继逻辑连接,插入多功能控制器后将多功能控制器的输出端与各复合型环形振荡器中链首控制器的输入端连接。芯片原始电路中硬件木马可能插入的位置多为惰性单元位置处,本实施例先获取待测芯片的原始电路中所有惰性单元的位置信息,根据惰性单元的位置插入复合型环形振荡器,将链内显化单元与惰性单元连接,以驱动惰性单元而显化木马,可以提高木马感知的灵敏度。
本实施例中,具体配置两种类型的链首控制单元,如图7所示,包括:由或门和与门依次连接构成的H1型链首控制电路、由与门和或门依次连接构成的H2型链首控制电路,H1型链首控制电路、H2型链首控制电路的输入信号均包括:振荡使能信号RO_EN、振荡输入信号RO_I以及置位使能信号ST_EN,输出信号均包括:振荡输出信号RO_F,振荡使能信号RO_EN、置位使能信号ST_EN由多功能控制器提供;
以及配置四种类型的链内显化单元,如图8所示,包括:由与门和或非门依次连接构成的S1型链内显化电路、由与门和或门依次连接构成的S2型链内显化电路、由或门和与非门依次连接构成的S3型链内显化电路以及由或门和与门依次连接构成的S4型链内显化电路,S1型链内显化电路、S2型链内显化电路、S3型链内显化电路、S4型链内显化电路的输入信号均包括:惰性单元输出信号ORI_I、振荡输入信号RO_I,输出信号均包括:惰性单元后继逻辑输入信号ORI_F、振荡输出信号RO_F,后继逻辑输入信号ORI_F用于驱动惰性单元的后继逻辑。
上述4种链内显化电路中,在常1惰性单元后面插入S1或S2型链内显化单元可以使常1惰性单元的后继逻辑在适当的配置下收到少态值“0”,在常0惰性单元后面插入S3或S4型链内显化单元可以使常0惰性单元的后继逻辑在适当的配置下收到少态值“1”,S1型和S3型链内显化单元具有反相功能,S2和S4型链内显化单元不具有反相功能。
本实施例在芯片设计时对芯片结构进行改进,在门级网表阶段先插入复合型环形振荡器与多功能控制器,复合型环形振荡器由上述2种链首控制电路(H1、H2)、4种链内显化电路(S1、S2、S3、S4)按照指定的串链规则构成首尾相接的振荡器,串链规则具体为:
1、H1型链首控制电路后只能接S1型链内显化电路或S2型链内显化电路,H2型链首控制电路后只能接S3型链内显化电路或S4型链内显化电路;
2、S1型链内显化电路和S4型链内显化电路后只能接S3型链内显化电路或S4型链内显化电路,S2型链内显化电路和S3型链内显化电路后只能接S1型链内显化电路或S2型链内显化电路;
3、每个复合型环形振荡器的链内所包含的S1型链内显化电路和S3型链内显化电路的总数为奇数,若为偶数,插入奇数个反相器以凑成奇数,具体只能在振荡环的尾部插入奇数个反相器,可以在振荡环的任意位置插入偶数个反相器;
4、当前级的振荡输入信号RO_I端口与上一级的振荡输出信号RO_F端口相连,当前级的振荡输出信号RO_F端口与下一级的振荡输入信号RO_I端口相连;
5、链首控制单元的RO_EN端口接来自于控制器生成的振荡使能信号,ST_EN端口接来自于控制器生成的置位使能信号;
6、链内显化单元的ORI_I端口接来自于惰性单元的输出信号,ORI_F端口驱动惰性单元的后继逻辑。
本实施例先获取待测芯片的原始电路中所有惰性单元的位置信息,根据惰性单元的位置、常值信息确定所需配置的复合型环形振荡器的数量,以及确定复合型环形振荡器中所需采用的链首控制电路、链内显化电路的类型,各复合型环形振荡器的链首控制电路、链内显化电路按照上述串链规则连成首尾相接的环形结构,完成复合型环形振荡器的插入。如图9所示,本实施例具体在芯片门级网表阶段,先找到原始设计中易被用作A2木马触发输入的如惰性单元的输出信号线,将该线与链内显化单元(S1或S2或S3或S4)的ORI_I端口相连,以及将该可疑信号的后继逻辑与ORI_F端口相连,然后根据上述串链规则将插入的所有链内显化单元串入复合型振荡器中,最后插入多功能控制器,并将其产生的控制信号分别与各振荡器中链首控制器的RO_EN和ST_EN相连,改进前后芯片结构如图10所示。
本实施例在不同的链首控制信号(RO_EN和ST_EN)作用下,复合型环形振荡器可以工作在正常功能模式、少态置位模式以及振荡模式,具体为:
正常功能模式:该模式时RO_EN=0、ST_EN=0,ORI_I恒等于ORI_F,原始设计的正常工作不受影响。
振荡模式:该模式时RO_EN=1、ST_EN=0,若链内显化单元的ORI_I端口处于常态值,其ORI_F端口始终输出0->1->0(或1->0->1)交替变化的振荡信号,导致ORI_F端口所驱动的惰性单元后继逻辑也随之振荡。
少态置位模式:该模式时ST_EN=1,无论链内显化单元的ORI_I端口收到什么值,其ORI_F端口始终输出ORI_I端口所连接的惰性单元的少态值。
如图11所示,本实施例中多功能控制器包括用于生成控制信号的控制信号生成单元以及用于控制时钟的时钟控制单元,控制信号生成单元与时钟控制单元连接,控制信号生成单元输入信号包括测试使能信号Test_En、模式决策信号Key、模式配置信号CFG、被测电路时钟门控信号STOP、控制器复位信号Rst_n、原始时钟信号CLK,输出信号包括振荡使能信号RO_EN[n-1:0]、置位使能信号ST_EN[n-1:0]、配置信息输出端口CFG_OUT、门控输出时钟信号CLK_OUT,其中n表示复合型环形振荡器的个数。本实施例中控制信号生成单元具体如图12所示控制信号生成器,时钟控制单元具体采用如图13所示的时钟控制器,其中CK_GT是标准AND型集成门控单元,通过对控制信号生成器进行不同的配置,可以产生不同的RO_EN[n-1:0]和ST_EN[n-1:0],从而使复合型环形振荡器进入不同的工作状态。
本实施例多功能控制器通过不同的配置可以处于复位模式、保持模式、移位模式、RO翻转模式、ST翻转模式、RO/ST双翻转模式共6种模式,具体为:
复位模式:该模式时Rst_n=0,控制信号生成器中所有的扫描触发器都被复位成0状态,此时RO_EN[n-1:0]=0,ST_EN[n-1:0]=0,所有复合型环形振荡器也都被复位成正常功能模式,即控制信号生成器对应处于复位模式。
移位模式:该模式时Test_En=1,Key=1,时钟信号CLK能够通过门控单元传递到所有扫描触发器,并且控制信号生成器中所有扫描触发器的扫描使能端SE=1,此时控制信号生成器实质上是一条长度为2n的扫描链,配置信息通过CFG端口移入,通过CFG_OUT端口移出;通过控制CFG的输入值,可以将RO_EN[n-1:0]和ST_EN[n-1:0]配置成任何值。
ST/RO双翻转模式:该模式时Test_En=1,Key=0,时钟信号CLK能够通过门控单元传递到所有扫描触发器,控制信号生成器中所有扫描触发器的扫描使能端SE=0,此时控制信号生成器实质上是一条长度为2n的自反触发器链,每经历1个时钟周期,RO_EN[n-1:0]与ST_EN[n-1:0]便分别按位取反一次。
RO翻转模式:该模式时Test_En=0,Key=1,CFG=1时,时钟信号CLK只能够通过门控单元传递到输出为RO_EN[n-1:0]的扫描触发器,控制信号生成器中所有扫描触发器的扫描使能端SE=0,此时控制信号生成器实质上是一条长度为n的RO_EN自反触发器链,每经历1个时钟周期,RO_EN[n-1:0]按位取反一次,而ST_EN[n-1:0]始终保持原状态不变。
ST翻转模式:该模式时Test_En=0,Key=1,CFG=0,时钟信号CLK只能够通过门控单元传递到输出为ST_EN[n-1:0]的扫描触发器,控制信号生成器中所有扫描触发器的扫描使能端SE=0,此时控制信号生成器实质上是一条长度为n的ST_EN自反触发器链,每经历1个时钟周期,ST_EN[n-1:0]按位取反一次,而RO_EN[n-1:0]始终保持原状态不变。
保持模式:该模式时Test_En=0,Key=0,时钟信号CLK不能够通过门控单元传递到所有扫描触发器,控制信号生成器中所有扫描触发器的扫描使能端SE=0,此时RO_EN[n-1:0]和ST_EN[n-1:0]将始终保持原状态不变。
当完成了如图10所示的电路改进,无论链内显化单元ORI_I所连接的线网翻转频率有多低,都可以通过配置复合型环形振荡器使之在正常功能状态、少态置位状态与振荡状态之间不停的切换,从而强制ORI_F端口所连接的线网随之不停的翻转。若ORI_F所在的路径(存在于如图9所示的原始逻辑1和原始逻辑2)中有线网被用作A2木马的触发输入信号,则通过本实施例上述检测方法可以将该A2木马激活。以图14所示的电路为例,假设t0与t1原本是同一条信号线上的两端,且该信号是容易被用作A2木马触发输入信号的可疑信号,在该线中间插入S1型链内显化单元后,若t1扇出路径中的t1或t2或t3或t4或t5或t6被用作A2木马的触发输入信号,则通过本实施例上述检测方法,可以使该A2木马被激活。
本实施例中,步骤S2的具体步骤为:
S21.配置阶段:配置多功能控制器为第一模式并维持一个时钟周期,使得在该时钟周期内多功能控制器输出的所有振荡使能信号为高(有效状态),以控制将所有复合型环形振荡器同时从正常功能模式变为振荡模式;
S22.预热阶段:配置多功能控制器的第二模式并持续指定时长,使得在该时长内控制所有复合型环形振荡器保持为振荡模式,以使被测芯片中的可疑信号及可疑信号所驱动的功能逻辑发生振荡跳变;
S23.检测阶段:重新配置多功能控制器为第一模式并施加所需功能向量,由多功能控制器产生分频时钟信号输出给待测芯片,复合型环形振荡器在振荡模式下恒定输出0,1交替变化的振荡信号以激活植入的A2木马,直至完成检测。
在具体应用实施例中,第一模式具体为RO翻转模式,第二模式具体为保持模式,上述测试的详细流程为:
在配置阶段时,将多功能控制器配置为RO翻转模式并维持一个时钟周期,在此期间,所有复合型环形振荡器同时从正常功能模式变为为振荡模式;
预热阶段时,将多功能控制器配置为保持模式并持续一段时间t1,在此期间,所有的复合型环形振荡器保持振荡模式,使被测芯片中的可疑信号及其驱动的功能逻辑都发生振荡跳变;
检测阶段时,将多功能控制器配置为RO翻转模式并施加所选择的功能向量,在此期间,令多功能控制器的STOP信号为“1”。
经过上述检测过程后,若在检测过程中所得到的实际响应与该功能向量的预期响应不同,则判定被测芯片中可能存在A2木马。本实施例基于逻辑检测法,通过比较检测时的输出响应与预期的输出响应是否相同来判断待测芯片是否被植入了A2木马,能够检测出改变功能和拒绝服务两类A2木马,同时该方法能够增加A2木马的激活概率,因此对于降低性能和泄漏信息两类A2木马,可以增强其他检测方法(如侧信道分析法等)的检测效果。
本实施例步骤S2中,检测激励可以是任何已知期望输出的非扫描激励,包括该芯片所能被运用到的任何应用场景下的任何程序,检测时钟频率的要求输入时钟频率小于等于Ft1。Ft1满足如下条件:假设改进后的门级网表在完成版图设计之后,最大的寄存器到寄存器延时为T1,而芯片正常工作的最小时钟周期为T2,则所采用的时钟周期Tt1需大于T1与T2两者最大值的2倍,即满足:
本发明具体应用实施例中采用上述降频分时检测方法得到的关键控制信号的时序操作如图15所示,功能电路以及振荡器状态时序如图16所示,其中CLK_OUT是由多功能控制器产生的相对于外部输入时钟CLK的反相2分频时钟信号。从图中可知,即使通过配置控制器把环形振荡器从振荡状态置为正常状态,由于环形振荡路径及其每一级链内显化单元的ORI_F所在的功能路径存在延时,因此功能电路内部线网需经历一段时间之后才能恢复到正常工作时的电平,这段时间即为图15所示的阴影部分时间,功能电路中触发器的采样必须发生在阴影区域之外,否则将采到不确定的状态导致所选程序运行错误,阴影部分的时间的最大长度即为上述公式中的max(T1,T2)。
本实施例上述降频分时检测法适用于在所有故障测试之后的合格品中进行,如图17所示,在固定故障测试、其他故障测试均完成后,采用上述降频分时检测法对待测芯片进行A2木马检测。
本实施例基于复合型环形振荡器的降频分时A2木马检测装置,包括计算机设备,计算机设备被编程以执行上述频分时A2木马检测方法的步骤,或者该计算机设备的存储介质上存储有被编程以执行上述降频分时A2木马检测方法的计算机程序。
上述只是本发明的较佳实施例,并非对本发明作任何形式上的限制。虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明。因此,凡是未脱离本发明技术方案的内容,依据本发明技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均应落在本发明技术方案保护的范围内。
Claims (10)
1.一种基于复合型环形振荡器的降频分时A2木马检测方法,其特征在于,步骤包括:
S1.在待测芯片的门级网表生成阶段插入多功能控制器以及一个以上的复合型环形振荡器,所述复合型环形振荡器由链首控制单元以及多个用于显化木马的链内显化单元依次连成首尾相接的环形链状结构得到,由所述多功能控制器控制各所述复合型环形振荡器的工作模式;
S2.进行检测时,所述多功能控制器控制使所述复合型环形振荡器分时交替工作在正常功能模式和振荡模式以激活所植入的A2木马,所述振荡模式时所述复合型环形振荡器恒定输出交替变化的振荡信号;
S3.判断测试程序运行结束时的运行结果,若未能达到预期功能,则判定待测芯片可能被植入了A2木马。
2.根据权利要求1所述的基于复合型环形振荡器的降频分时A2木马检测方法,其特征在于,所述步骤S1的具体步骤为:获取待测芯片的原始电路中所有惰性单元的位置信息;根据获取的所述惰性单元的位置信息插入所需数量的所述复合型环形振荡器,将各所述复合型环形振荡器链内显化单元的输入端与所述惰性单元连接,所述链内显化单元的输出端与所述惰性单元的后继逻辑连接,插入所述多功能控制器后将所述多功能控制器的输出端与各所述复合型环形振荡器中链首控制器的使能端连接。
3.根据权利要求2所述的基于复合型环形振荡器的降频分时A2木马检测方法,其特征在于,所述步骤S1中具体配置两种类型的链首控制单元,包括由或门和与门依次连接构成的H1型链首控制电路、由与门和或门依次连接构成的H2型链首控制电路,所述H1型链首控制电路、H2型链首控制电路的输入信号包括:振荡使能信号RO_EN、振荡输入信号RO_I以及置位使能信号ST_EN,输出信号包括:振荡输出信号RO_F,所述振荡使能信号RO_EN、置位使能信号ST_EN由所述多功能控制器提供;
以及配置四种类型的链内显化单元,包括由与门和或非门依次连接构成的S1型链内显化电路、由与门和或门依次连接构成的S2型链内显化电路、由或门和与非门依次连接构成的S3型链内显化电路以及由或门和与门依次连接构成的S4型链内显化电路,所述S1型链内显化电路、S2型链内显化电路、S3型链内显化电路、S4型链内显化电路的输入信号均包括:惰性单元输出信号ORI_I、振荡输入信号RO_I,输出信号均包括:惰性单元后继逻辑输入信号ORI_F、振荡输出信号RO_F,所述后继逻辑输入信号ORI_F用于驱动惰性单元的后继逻辑;
各所述复合型环形振荡器中所述链首控制电路、链内显化电路按照指定的串链规则连成首尾相接的环形结构。
4.根据权利要求3所述的基于复合型环形振荡器的降频分时A2木马检测方法,其特征在于,所述串链规则为:
所述H1型链首控制电路后只能接S1型链内显化电路或S2型链内显化电路,所述H2型链首控制电路后只能接S3型链内显化电路或S4型链内显化电路;
所述S1型链内显化电路和S4型链内显化电路后只能接S3型链内显化电路或S4型链内显化电路,所述S2型链内显化电路和S3型链内显化电路后只能接S1型链内显化电路或S2型链内显化电路;
每个所述复合型环形振荡器的链内所包含的S1型链内显化电路和S3型链内显化电路的总数为奇数,若为偶数,在振荡器尾部插入奇数个反相器以凑成奇数;
当前级的振荡输入信号RO_I端口与上一级的振荡输出信号RO_F端口相连,当前级的振荡输出信号RO_F端口与下一级的振荡输入信号RO_I端口相连。
5.根据权利要求1~4中任意一项所述的基于复合型环形振荡器的降频分时A2木马检测方法,其特征在于,所述步骤S2的具体步骤为:
S21.配置阶段:配置所述多功能控制器为第一模式并维持一个时钟周期,使得在该时钟周期内多功能控制器输出的所有振荡使能信号为有效,以控制将所有复合型环形振荡器同时从正常功能模式变为所述振荡模式;
S22.预热阶段:配置所述多功能控制器的第二模式并持续指定时长,使得在该时长内控制所有复合型环形振荡器保持为所述振荡模式,以使被测芯片中的可疑信号及所述可疑信号驱动的功能逻辑发生振荡跳变;
S23.检测阶段:重新配置所述多功能控制器为所述第一模式并施加所需功能向量,由所述多功能控制器产生分频时钟信号输出给待测芯片,所述复合型环形振荡器在振荡模式下恒定输出交替变化的振荡信号以激活植入的A2木马,直至完成检测。
6.根据权利要求5所述的基于复合型环形振荡器的降频分时A2木马检测方法,其特征在于,所述第一模式具体为RO翻转模式,所述RO翻转模式时所述多功能控制器中控制信号生成器形成一条振荡使能信号RO_EN的自反触发器链,即每经历1个时钟周期,所述控制信号生成器输出的振荡使能信号RO_EN按位取反一次,置位使能信号ST_EN始终保持原状态不变。
7.根据权利要求6所述的基于复合型环形振荡器的降频分时A2木马检测方法,其特征在于,所述步骤S21中配置阶段时,具体通过配置所述多功能控制器输入的测试使能信号Test_En、模式决策信号Key,使得输入的时钟信号CLK能够通过门控单元传递到所述控制信号生成器中所有扫描触发器,所述控制信号生成器形成一条长度为n的振荡使能信号RO_EN的自反触发器链,每经历1个时钟周期,振荡使能信号RO_EN[n-1:0]按位取反一次,置位使能信号ST_EN[n-1:0]始终保持原状态不变,其中n为所述复合型环形振荡器的个数。
8.权利要求5或6或7所述的基于复合型环形振荡器的降频分时A2木马检测方法,其特征在于,所述第二模式具体为保持模式,所述保持模式时,通过配置所述多功能控制器输入的测试使能信号Test_En、模式决策信号Key,使得输入的时钟信号CLK不能够通过门控单元传递到所述控制信号生成器中所有扫描触发器,所述控制信号生成器中输出的振荡使能信号RO_EN和置位使能信号ST_EN将保持原状态不变。
9.根据权利要求5或6或7所述的基于复合型环形振荡器的降频分时A2木马检测方法,其特征在于,所述步骤S23中检测时时钟频率小于等于Ft1,且Ft1满足如下条件:
其中,T1为待测芯片插入所述复合型环形振荡器后得到的改进门级网表中最大的寄存器到寄存器延时,T2为芯片正常工作的最小时钟周期。
10.一种基于复合型环形振荡器的降频分时A2木马检测装置,包括计算机设备,其特征在于,所述计算机设备被编程以执行如权利要求1~9中任意一项所述方法的步骤,或者该计算机设备的存储介质上存储有被编程以执行权利要求1~9中任意一项所述基于复合型环形振荡器的降频分时A2木马检测方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910387922.5A CN110232278B (zh) | 2019-05-10 | 2019-05-10 | 基于复合型环形振荡器的降频分时a2木马检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910387922.5A CN110232278B (zh) | 2019-05-10 | 2019-05-10 | 基于复合型环形振荡器的降频分时a2木马检测方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110232278A true CN110232278A (zh) | 2019-09-13 |
CN110232278B CN110232278B (zh) | 2021-03-16 |
Family
ID=67860530
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910387922.5A Active CN110232278B (zh) | 2019-05-10 | 2019-05-10 | 基于复合型环形振荡器的降频分时a2木马检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110232278B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112487504A (zh) * | 2020-12-15 | 2021-03-12 | 电子科技大学 | 一种基于环形振子的硬件木马检测优化技术 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120278893A1 (en) * | 2011-03-23 | 2012-11-01 | Vinayaka Jyothi | Ring oscillator based design-for-trust |
CN106301292A (zh) * | 2016-08-16 | 2017-01-04 | 天津大学 | 基于电磁信号远程激活硬件木马的装置 |
CN108256357A (zh) * | 2018-01-10 | 2018-07-06 | 中国人民解放军国防科技大学 | 红外图像与正态分布分析结合的硬件木马检测方法 |
-
2019
- 2019-05-10 CN CN201910387922.5A patent/CN110232278B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120278893A1 (en) * | 2011-03-23 | 2012-11-01 | Vinayaka Jyothi | Ring oscillator based design-for-trust |
CN106301292A (zh) * | 2016-08-16 | 2017-01-04 | 天津大学 | 基于电磁信号远程激活硬件木马的装置 |
CN108256357A (zh) * | 2018-01-10 | 2018-07-06 | 中国人民解放军国防科技大学 | 红外图像与正态分布分析结合的硬件木马检测方法 |
Non-Patent Citations (2)
Title |
---|
YETAI QIN ETC: "Sensitivity analysis of ring oscillator based hardware Trojan detection", 《IEEE》 * |
李旭: "基于内建电路的硬件木马检测技术研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112487504A (zh) * | 2020-12-15 | 2021-03-12 | 电子科技大学 | 一种基于环形振子的硬件木马检测优化技术 |
CN112487504B (zh) * | 2020-12-15 | 2022-04-22 | 电子科技大学 | 一种基于环形振子的硬件木马检测优化方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110232278B (zh) | 2021-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8499209B2 (en) | At-speed scan testing with controlled switching activity | |
US7412343B2 (en) | Methods for delay-fault testing in field-programmable gate arrays | |
US8164966B2 (en) | Variable-loop-path ring oscillator test circuit and systems and methods utilizing same | |
CN105445653B (zh) | 具有低功耗扫描触发器的集成电路 | |
JP6544772B2 (ja) | スキャンテスト用のテストモード制御信号を生成可能な集積回路 | |
CN110210258B (zh) | 芯片网表级混淆防御硬件木马的装置、方法及检测方法 | |
CN105204684B (zh) | 触摸屏驱动频率控制方法、装置及电子设备 | |
CN104950248B (zh) | 加速硬件木马触发的电路安全可测性设计方法及对硬件木马的检测方法 | |
CN102043123B (zh) | 一种扫描链测试电路 | |
CN108062267A (zh) | 一种可配置寄存器文件自测试方法及生成装置 | |
CN108919006A (zh) | 接口扩展模组、老化测试系统、老化测试方法及存储介质 | |
CN110007217A (zh) | 一种低功耗边界扫描测试方法 | |
TW201443462A (zh) | 核心的全域低功率擷取方法 | |
CN110197069A (zh) | 一种兼容故障扫描测试实现a2木马检测的方法及装置 | |
CN110232278A (zh) | 基于复合型环形振荡器的降频分时a2木马检测方法及装置 | |
CN110514981A (zh) | 集成电路的时钟控制方法、装置及集成电路 | |
CN105956322A (zh) | 数字电路的工艺角检测装置和方法 | |
CN108333501A (zh) | 硬件木马的旁路检测方法和装置、仿真验证方法和装置 | |
CN102663185A (zh) | 一种基于模糊处理的抗硬件木马电路设计方法 | |
CN109240130A (zh) | 可程序化接脚位准的控制电路 | |
TW200931047A (en) | Scan chain cell with delay testing capability | |
CN106226678B (zh) | 一种基于并行施加测试激励的低功耗扫描测试方法及装置 | |
CN108254644A (zh) | Esd检测装置、系统及方法 | |
CN110068775B (zh) | 基于多ro单元的fpga电源鲁棒性检测装置和方法 | |
CN104833910B (zh) | 驱动故障反馈信号的处理方法和电路 |
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 |