CN104636687A - 提高硬件木马检测分辨率的电路设计方法及硬件木马检测方法 - Google Patents
提高硬件木马检测分辨率的电路设计方法及硬件木马检测方法 Download PDFInfo
- Publication number
- CN104636687A CN104636687A CN201510093298.XA CN201510093298A CN104636687A CN 104636687 A CN104636687 A CN 104636687A CN 201510093298 A CN201510093298 A CN 201510093298A CN 104636687 A CN104636687 A CN 104636687A
- Authority
- CN
- China
- Prior art keywords
- circuit
- hardware trojan
- region
- trojan horse
- test
- 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/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/273—Tester hardware, i.e. output processing circuits
-
- 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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/72—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Mathematical Physics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种提高硬件木马检测分辨率的电路设计方法及高效的硬件木马检测方法。首先在完成原始电路的功能设计后,将此电路按一定的规则分成不同的区域,对各个区域加上不同的门控时钟。其次,在电路内部添加一个自测试模块,在电路内部产生多种测试向量。然后在芯片的测试过程中,通过门控时钟单元关闭不工作区域的时钟,只测量一个区域工作时的瞬态电流曲线。最后,比较不同时间窗中电路进行相同操作对应的瞬态电流曲线。若将所有不同时间窗对应的电路瞬态电流曲线进行拟合后没有超出阈值且不发生曲线交叉,则认为电路中不含硬件木马,否则认为电路中含有硬件木马。本发明尤其适合检测电路规模较小的硬件木马。
Description
技术领域
本发明涉及一种提高硬件木马检测分辨率的电路设计方法及硬件木马检测方法,属于集成电路检测领域。
背景技术
随着集成电路设计的日益复杂,制造成本日趋高昂,集成电路产业正朝着全球化合作的趋势发展。打造完全自主可控集成电路产业链不仅建设周期长,同时还面临技术和资本上的巨大挑战。因此在未来相当长的一段时间内,我国的集成电路仍将面对来源众多控的第三方的设计服务及IP(Intellectual Property)、EDA(Electronic Design Automation)软件以及不受控的晶圆厂和封装测试厂,在这些环节当中,芯片很有可能被人为的修改,比如恶意的增加,删除或者改变芯片内部原来有电路结构,或者在制造阶段改变工艺参数影响晶体管的正常工作参数,如改变掺杂的程度,这类对电路的功能,性能,可靠性,安全性等会产生影响的恶意的电路修改即称为硬件木马。硬件木马的种类有很多,有些硬件木马会影响电路的正常工作,在一些关键的应用场合如空间卫星、火箭、导弹、飞机以及核设施等,硬件木马可能会造成灾难性的后果。有些硬件木马通过内置后门,在数据传输的过程中,同时泄漏机密信息。还有些硬件木马本身不对电路的工作产生任何影响,也不泄漏机密信息,但其为软件木马提供后门,协助软件木马对系统进行攻击。最近几年国际上已经涌现了多起由于硬件木马引起的会危害国家安全的严重事件,比如“斯诺登棱镜门”事件,伊朗的“震网”事件。由于我国每年进口的集成电路等电子元器件的价值已经达到近3000亿美元,超过石油的进口,硬件木马不仅影响国家的信息安全,社会稳定,还会造成经济上的巨大浪费,影响我国的现代化建设。
硬件木马的检测方法目前主要有破坏性检测,系统运行检测,逻辑测试和旁路分析四类。
破坏性检测即是将待测芯片去封装,然后使用扫描电镜等设备对电路一层一层的进行拍照,然后与原始电路的版图作对比,从而判断芯片中有无硬件木马。此方法虽然最为直观,但只适用于规模较小的电路,因为随着电路规模的增大,其难度与耗费时间也会显著增加,且针对一批芯片中只有少数几颗芯片含有硬有木马的情况,这种破坏性检测的方法有可能漏检,因此,此方法更多的是作为一种辅助手段,在通过使用其他检测方法确定待测芯片含量有硬件木马后,再通过此方法来确定待测芯片中的硬件木马的形态与结构,便于未来分析。
系统运行检测即是将待测芯片用于原型系统中,通过系统运行,来观测芯片的运行过程中功能是否正确。此方法虽然可以检测出大多数在运行过程中出现的问题,但对于一些需要很长时间,比如数年,才能触发的硬件木马,运行验证的方法显然不现实。
逻辑测试即是根据可测试性设计(DFT)的概念,在芯片测试过程中,在输入端添加不同的测试向量,观察输出的结果是否匹配,此方法的缺陷是芯片的测试覆盖率很难达到100%,即使达到100%的覆盖,一旦经过第三方的修改植入木马,原有的100%的测试覆盖率也将下降,因此,此方法在理论上就存在一定的缺陷,更多的只是作为一种辅助手段。
旁路分析即是利用芯片工作时的旁路信息(如电磁辐射,电流或者电路延时等信息)来对木马进行检测。其原理是因为电路中植入的硬件木马会对芯片的一些旁路信号,如电流,频率或路径延时产生影响,因此通过观察芯片的旁路信号并与原始芯片的旁路信息作比较,进而检测出芯片中是否有硬件木马的存在。对电路进行基于旁路分析的硬件木马检测的最大优点是可以使硬件木马不被触发的情形下被检测出来,但是其也有显著的缺点,即当待测电路的总体规模很大,电路内部被植入的硬件木马的规模很小,一些旁路信息,比如电流和路径延时,其变化幅度极小。考虑到测量过程中引入的噪声,以及芯片制造过程中由于工艺漂移带来的噪声,这种极小的旁路信号变化将无法被实际测量出来或者即使被测量出来也难以确定是由于硬件木马引起的,还是由于测量噪声,工艺漂移噪声引起的。
发明内容
本发明的目的是克服现有技术的不足,提供一种提高硬件木马检测分辨率的电路设计方法及硬件木马检测方法,它是一种通过在电路设计阶段添加额外电路从而使得硬件木马更容易被检测出来的设计方法,以及一种高效的硬件木马检测流程,尤其适合检测电路规模较小的硬件木马。
按照本发明提供的技术方案,所述的提高硬件木马检测分辨率的电路设计方法,包括以下步骤:
a)、完成原始电路的功能设计,并完成功能仿真后,将电路划分成多个区域,每个区域包括一个或多个功能模块;
b)、将经过划分的每个区域添加单独控制的门控时钟单元,且每个区域的门控时钟单元的开关不受其他门控时钟单元的影响;
c)、在电路内部添加一个自测试模块用于产生测试向量,此自测试模块的输出能够作为划分后的任一区域的输入,使得各区域在相邻区域被关闭时钟后,仍可以由自测试模块输入测试向量而正常工作。
具体的,步骤a对电路进行区域划分时,可以使用以下规则中的一条或混合使用以下规则来划分:
1)、根据不同的时钟域来划分,如高速接口物理层等电路中具有多个时钟;
2)、根据不同的功能模块来进行划分,如各种不同的IP;
3)、根据数据通路上不同的数据宽度来划分,比如数据通路各种数据位宽不同的模块;
4)、根据电路节点深度来划分,比如在电路中选择一个电路节点,然后以这个电路节点为中心,以这个节点的扇入和扇出深度为半径划分区域。
步骤c添加的自测试模块需要满足以下条件:
1)、自测试模块产生的自测试向量能够被各个划分后的区域当成输入,并正常工作;
2)、自测试模块必须能够产生高翻转率和低翻转率以及各种不同翻转率的测试向量;
3)、自测试模块产生的每一个测试向量中都要有重复多次的测试码,使得电路在工作时能进行多次相同的操作。
所述自测试模块生成的测试向量集合S’,有如下要求:
1)、测试向量必须重复向量内某一测试码段多次,使电路在执行这一测试向量时,能够进行多次重复的操作;
2)、新的测试向量内的重复测试码段,可以连续执行,也可以间隔一定的时间再执行。
所述门控时钟单元包括:多路选择器、D触发器以及2输入与门;所述多路选择器的输入为多个不同的时钟源,使得被门控时钟控制的区域能够选择不同时钟源的时钟;多路选择器的输出作为D触发器的时钟输入,也作为与2输入与门的其中一个输入,D触发器的数据输入信号为门控时钟信号,D触发器的输出作为2输入与门的另一个输入,所述2输入与门的输出即为门控时钟单元的时钟输出。
所述门控时钟单元与每个划分的区域的连接关系如下:
1)、每个门控时间单元都有单独的门控时钟使能信号en_1, en_2, …, en_n,这些信号由电路内部寄存器的输出来产生,或者直接为电路外部的输入信号;
2)、每个门控时钟单元的输出都与一个划分的区域相连,且每个门控时钟单元都只能与一个区域相连,每个划分的区域也只能接收一个门控时钟单元的控制。
相应的一种硬件木马检测方法如下:
a)、将待测芯片通过使用门控时钟单元关闭多个区域的时钟,利用自测试模块产生的测试向量来测量在只有一个区域工作下的电路瞬态电流曲线;自测试模块产生的每一个测试向量中都要有重复多次的测试码;
b)、对记录下的测试向量所对应的瞬态电流曲线,找出测试向量内相同测试码对应不同时间窗的瞬态电流曲线,并将这多组不同时间窗内瞬态电流曲线进行重叠拟合;
c)、将重叠拟合后的电路瞬态电流曲线进行比较,当这几条拟合在一起的瞬态电流曲线彼此之间有数据点的最大变化超出阈值范围,或者不同瞬态电流曲线之间出现交叉,即认为该区域内部含有硬件木马;否则,认为该区域内部不含有硬件木马;
d)、利用自测试模块产生不同的测试向量,按步骤a到c的顺序重复操作,当将所有的区域全部测试完毕后,都没有发现曲线变化超出阈值或者曲线之间出现交叉,则认为该待测芯片内部不含有硬件木马。
本发明的优点是:当硬件木马在电路中所占规模极小,所植入的硬件木马对整个电路旁路信息(如电流,频率等)的改变不足以被区分出来时,通过此方法,即可以减小处于工作状态的电路规模,从而提升硬件木马在处于工作状态的电路中所占的电路规模比例,提高由于硬件木马对电路旁路信息改变的比例,而使硬件木马被检测出来。且该方法不需要首先获得不含有硬件木马的电路从而得到基准曲线,显著提高检测的效率,降低检测的成本。
附图说明
图1为本发明在一实施例中的流程示意图。
图2为本发明在一实施例中的硬件木马电路结构。
图3为ISCAS89 S820基准电路在植入图2的木马后进行仿真得到的不同时间窗对应的瞬态电流曲线示意图。
图4为本发明在一实施例中添加自测试模块和将电路划分区域的示意图。
图5为门控时钟单元的电路结构图。
图6为门控时钟单元与划分后区域的连接示意图。
图7为本发明在一实施例中添加的自测试模块结构示意图。
图8为不采用分区检测技术对硬件木马检测的不同时间窗瞬态电流曲线重叠拟合示意图。
图9为本发明在一实施例中采用分区检测技术对硬件木马检测的不同时间窗瞬态电流曲线重叠拟合示意图。
具体实施方式
众所周知,集成电路的瞬态电流是由于内部电路节点存在‘0’,‘1’翻转引起的,其总的瞬态电流是在当前周期下每个翻转门产生的瞬态电流总和。
电路在工作时,都是根据外部输入或者写入内部寄存器的值,然后电路根据相应的输入执行操作。当电路的在某一时刻的操作相同,且处理的数据内容也相同时,电路内部处于工作状态的单元应该相同,因此这一时刻,电路的瞬态电流也应该相同。
当电路内部存在硬件木马时,当硬件木马与原始电路的联系没有那么紧密,即硬件木马的行为不一定和具体的输入有一一对应的关系。
图2所示的一个同步时序的硬件木马电路,其触发条件只和时钟有关系,当对时钟计数到一定的程度后,此硬件木马即触发。
这种类型的硬件木马在工作时对瞬态电流的贡献只与时间有关,而与输入内容的并没有具体的关系,从而使得含有硬件木马的电路在工作的时候,即使执行相同的操作,输入相同的执行内容,电路的瞬态电流曲线也不一定完全相同,且在不同的时候,瞬态电流的变化可能有大有小,这就为我们检测电路中可能存在的硬件木马提供了可能。
我们选择了ISCAS 89基准电路中的S820电路作为目标电路,被向其内部植入一个如图2所示的8比特计数器的硬件木马,当满足一定的条件时,此木马会改变其内部信号值。我们使用Synopsys公司的HSpice作为仿真工具,基于SMIC 0.18um工艺库进行仿真,且仿真所用的向量中会使电路在不同的时间进行一次相同的操作,
图3即是从电路执行相同操作的两个时间窗中采集了20个数据点进行比较,我们可以看到,这两个时间窗对应曲线的数据点之间发生了较大的差异,且曲线间发生了交叉,且变化具有随机性,结果表明了电路内部存在硬件木马。
但是当硬件木马的规模很小时,即使对电路的瞬态电流产生了一定的变化,但由于芯片在制造过程中存在工艺漂移噪声,并且在测量其瞬态电流参数时也可能存在一定的测量噪声。
因此在瞬态电流变化很小,且并没有超出规定的变化阈值范围的情况下,我们并不能够准确判断该瞬态电流的变化是由于硬件木马造成的,还是由于各种噪声和误差引起的。
本发明通过在电路设计中将电路划分成不同的区域,并且每个区域可以单独工作,使得电路制造以后进行测试时,可以测量某一区域单独工作时的动态电流,而不是整个电路工作时的动态电流,从而提高硬件木马产生的动态电流在总动态电流中的比值,从而更好的将含有硬件木马的电路区分出来。
本发明在电路设计阶段,将电路按照一定的规则划分成多个区域,每个区域包括一个或多个功能模块,划分区域的规则可以按照不同的时钟域,不同的IP,不同的数据位宽,不同的电路节点深度等。
给经过上述规则划分的每个区域添加单独控制的门控时钟单元,且每个区域的门控时钟单元可以随意开关,不受其他门控时钟单元的影响。
在电路内部添加一个自测试模块用于产生测试向量,此自测试模块的输出可以作为划分后的任一区域的输入,使得各划分后的区域在相邻区域被关闭时钟后,仍可以由自测试模块输入测试向量而正常工作。
上述自测试模块针对每一个划分的区域都可以产生多组、不同内容的测试向量,且不同的测试向量能够使得目标区域的电路在工作的时候其内部电路节点的翻转率可以比较高,也可以比较低,即测试向量可以为高翻转率(high switching-activity)向量,也可以为低翻转率(low switching-activity)向量。
自测试模块产生的每一个测试向量中都要有重复多次的测试码,使得电路在工作时能进行多次相同的操作。
当利用上述设计方法的电路完成制造后,即可通过门控时钟单元关闭不工作区域的时钟,只保持一个区域工作,并测量其工作时的瞬态电流曲线。
对记录下的测试向量所对应的瞬态电流曲线,找出不同时间窗对应的电路进行相同操作的瞬态电流曲线,并将这多组不同时间窗内瞬态电流曲线进行重叠拟合;
将重叠拟合后的电路瞬态电流曲线进行比较,当这几条拟合在一起的瞬态电流曲线彼此之间有数据点的最大变化超出阈值范围或者不同瞬态电流曲线之间出现交叉,即认为该待测区域内部含有硬件木马;否则认为该待测区域内部不含有硬件木马。
当所有的区域按上述方法进行测试完毕以后,即可以判断所测电路内部是否含有硬件木马。
重复上述检测步骤,就可以将所有的待测芯片进行区分,正确筛选出不含有硬件木马的芯片进行使用。
下面结合具体附图和实施例对本发明作进一步说明,但本发明的实施方式不限于此。
如图1所示,本发明在一实施例中包括如下的步骤:
S100、进行原始电路的设计,完成功能设计,以及相应的功能仿真;
S101、在电路设计过程,将电路按规则分成多个区域,每个区域包括一个或多个功能模块;
S102、当电路分区完成以后,将每个区域都加上门控时钟单元,且每个区域的门控时钟单元可以随意开关,不受其他门控时钟单元的影响;
S103、为电路设计一个自测试模块,此自测试模块可以产生作为任一区域输入的测试向量;
S104、在电路中添加自测试模块,并将自测试模块的输入连接到各划分区域的输入上,使得此自测试模块可以为任何区域添加测试向量。
S105、利用自测试模块产生测试向量,且每个测试向量必须包含多次重复的操作,这些重新操作可以连续重复,也可以间隔一定时间再重复。
S106、在制造完毕后的芯片中任意选取一颗,通过门控时钟单元轮流关闭各个区域的时钟,来测量在只有一个区域工作下的瞬态电流曲线,得到所有区域单独工作下的曲线。
S107、将不同时间窗中执行相同操作所对应的电路瞬态电流曲线找出并重叠拟合,当拟合的曲线变化没有超过变化阈值,且不发生曲线交叉,则认为该共区域没有硬件木马;否则认为该区域存在硬件木马。
将所有的区域按上述方法重复,即可确定待测芯片中是否含有硬件木马,以待后续使用。
图4为一个千兆以太网物理层接口的PCS(物理编码子层)架构图,主要由编码、解码、位宽转换、帧同步以及弹性缓存等模块组成。我们将此电路共分成五个区域,其中:
区域一主要是编码,输入位宽为8比特,输出位宽为10比特;
区域二主要是位宽转换电路,将编码过后的10比特数据转换成8比特数据输出,另外在该区域内,我们选择植入占电路总面积约为0.6%的时序组合逻辑木马,如图2所示;
区域三是另一位宽转换电路,将接收到的8比特数据转换成10比特数据输出;
区域四主要包括帧同步电路和弹性缓存,输入和输出数据的位宽都相同,但输入的时钟和输出时钟不一样,属于不同的时钟域;
区域五主要是解码电路,将接收到10比特数据解码,生成8比特原始数据输出。
给每个区域都添加如图5结构的门控时钟单元,该门控时钟单元中:多路选择器MUX的输入为多个不同的时钟源clk1,…,clkn,使得被门控时钟控制的区域能够选择不同时钟源的时钟;多路选择器的输出作为D触发器的时钟输入,也作为与2输入与门的其中一个输入,D触发器的数据输入信号为门控时钟信号clk_en,D触发器的输出作为2输入与门的另一个输入,所述2输入与门的输出即为门控时钟单元的时钟输出。其中MUX的输入连接的是一个区域所有可能的时钟源输入,MUX的输入时钟用来同步门控时钟信号clk_en,使得门控时钟信号与时钟进行与操作时,避免毛刺(glitch)的产生。
图6为该门控时钟单元在一实际电路内如何与电路中划分的区域相连。每个门控时间单元都有单独的门控时钟使能信号en_1, en_2, …, en_n,这些信号由电路内部寄存器的输出来产生,或者直接为电路外部的输入信号;每个门控时钟单元的输出都与一个划分的区域相连,且每个门控时钟单元都只能与一个区域相连,每个划分的区域也只能接收一个门控时钟单元的控制。
在本实施例中添加的自测试模块的结构如图7所示,主要由:数据初始值生成模块S108,测试数据生成模块S109,测试数据选择器S110和8b/10b编码模块S111构成。
初始值生成模块S108主要是一组8位的寄存器,可以设置为任意8位数据。
自测试数据生成模块S109主要是进行各种类型的逻辑运算,此实施例中共定义了8种数据运算类型:包括所有字节相同、每字节累加、每字节累减、每字节取反、左移一个比特、右移一个比特或8位并行PRBS(Pseudo-Random Binary Sequence)-7序列,S109的输入为8比特,输出也同样为8比特。
自测试数据选择器S110是一个8选1的多路选择器,根据外部输入的选择信号,确定到底选择哪一种逻辑运算生成的数据作为输出。
8b/10b编码模块S111主要作用是为此自测试模块提供10比特的数据输出,以满足电路中不同区域的数据处理位宽要求。
通过在电路设计中添加上述步骤,使得芯片在生产完毕进行测试的时候,可以通过轮流测量每个区域开启时的动态电流,来区分来是否有区域含有硬件木马,且可以大致判断硬件木马在哪个区域。
在位宽转换模块中植入约占电路总体规模的0.6%的如图2所示的计数器型硬件木马。图8为不采用分区检测技术对硬件木马检测的不同时间窗对应的电路瞬态曲线,可以看出由于硬件木马的规范较小,因此不同时间窗的瞬态电流曲线几乎重合,难以正确判断电路内是否存在硬件木马。
当利用门控时钟单元只开启一个区域工作,且关闭其余不工作区域的时候后,电路的瞬态电流就基本是由工作的区域产生,一旦某个区域内存在硬件木马,该硬件木马产生的瞬态电流其对电路总体瞬态电流产生的贡献就显著变大。
图9为利用门控时钟单元后,针对区域二的电路瞬态电流曲线图。从图中可以看出,当只有区域二处于激活状态时,其两次时间窗对应的瞬态电流曲线出现了明显的变化相同采样点对应的数据变化将近10%,且两条曲线之间出现了交叉,曲线的随机性进一步增加,因此已经可以确定该区域含有硬件木马,即该电路内部含有硬件木马。
上述方法可以对规模较小硬件木马进行有效的检测,克服了因为硬件木马电路较小而导致的旁路信号改变较小而无法区分的问题,且该方法不需要依赖基准曲线,能够显著提高硬件木马的检测效率,从而保证自主设计的集成电路即使在其他环节中被植入较小的木马,也能够被检测出来。
Claims (8)
1. 提高硬件木马检测分辨率的电路设计方法,其特征在于,包括以下步骤:
a)、完成原始电路的功能设计,并完成功能仿真后,将电路划分成多个区域,每个区域包括一个或多个功能模块;
b)、将经过划分的每个区域添加单独控制的门控时钟单元,且每个区域的门控时钟单元的开关不受其他门控时钟单元的影响;
c)、在电路内部添加一个自测试模块用于产生测试向量,此自测试模块的输出能够作为划分后的任一区域的输入,使得各区域在相邻区域被关闭时钟后,仍可以由自测试模块输入测试向量而正常工作。
2.根据权利要求1所述的提高硬件木马检测分辨率的电路设计方法,其特征在于,步骤a对电路进行区域划分时,可以使用以下规则中的一条或混合使用以下规则来划分:
a)、根据不同的时钟域来划分;
b)、根据不同的功能模块来进行划分;
c)、根据数据通路上不同的数据宽度来划分;
d)、根据电路节点深度来划分。
3.根据权利要求2所述的提高硬件木马检测分辨率的电路设计方法,其特征在于,所述根据电路节点深度来划分的方法为:在电路中选择一个电路节点,然后以这个电路节点为中心,以这个节点的扇入和扇出深度为半径划分区域。
4.根据权利要求1所述的提高硬件木马检测分辨率的电路设计方法,其特征在于,所述门控时钟单元包括:多路选择器、D触发器以及2输入与门;所述多路选择器的输入为多个不同的时钟源,使得被门控时钟控制的区域能够选择不同时钟源的时钟;多路选择器的输出作为D触发器的时钟输入,也作为与2输入与门的其中一个输入,D触发器的数据输入信号为门控时钟信号,D触发器的输出作为2输入与门的另一个输入,所述2输入与门的输出即为门控时钟单元的时钟输出。
5.根据权利要求1所述的提高硬件木马检测分辨率的电路设计方法,其特征在于,所述门控时钟单元与每个划分的区域的连接关系如下:
a)、每个门控时间单元都有单独的门控时钟使能信号en_1, en_2, …, en_n,这些信号由电路内部寄存器的输出来产生,或者直接为电路外部的输入信号;
b)、每个门控时钟单元的输出都与一个划分的区域相连,且每个门控时钟单元都只能与一个区域相连,每个划分的区域也只能接收一个门控时钟单元的控制。
6.根据权利要求1所述的提高硬件木马检测分辨率的电路设计方法,其特征在于,步骤c添加的自测试模块需要满足以下条件:
a)、自测试模块产生的自测试向量能够被各个划分后的区域当成输入,并正常工作;
b)、自测试模块必须能够产生高翻转率和低翻转率以及各种不同翻转率的测试向量;
c)、自测试模块产生的每一个测试向量中都要有重复多次的测试码,使得电路在工作时能进行多次相同的操作。
7.根据权利要求6所述的提高硬件木马检测分辨率的电路设计方法,其特征在于,所述自测试模块生成的测试向量集合S’,有如下要求:
a)、测试向量必须重复向量内某一测试码段多次,使电路在执行这一测试向量时,能够进行多次重复的操作;
b)、新的测试向量内的重复测试码段,可以连续执行,也可以间隔一定的时间再执行。
8.一种硬件木马检测方法,其特征在于:
首先,待测芯片的电路被划分成多个区域,其中每个区域包括一个或多个功能模块,将每个区域添加单独控制的门控时钟单元,且每个区域的门控时钟单元的开关不受其他门控时钟单元的影响;待测芯片的电路内部具有一个自测试模块用于产生测试向量,此自测试模块的输出能够作为划分后的任一区域的输入,使得各区域在相邻区域被关闭时钟后,仍可以由自测试模块输入测试向量而正常工作;
然后进行如下步骤:
a)、将待测芯片通过使用门控时钟单元关闭多个区域的时钟,利用自测试模块产生的测试向量来测量在只有一个区域工作下的电路瞬态电流曲线;自测试模块产生的每一个测试向量中都要有重复多次的测试码;
b)、对记录下的测试向量所对应的瞬态电流曲线,找出测试向量内相同测试码对应不同时间窗的瞬态电流曲线,并将这多组不同时间窗内瞬态电流曲线进行重叠拟合;
c)、将重叠拟合后的电路瞬态电流曲线进行比较,当这几条拟合在一起的瞬态电流曲线彼此之间有数据点的最大变化超出阈值范围,或者不同瞬态电流曲线之间出现交叉,即认为该区域内部含有硬件木马;否则,认为该区域内部不含有硬件木马;
d)、利用自测试模块产生不同的测试向量,按步骤a到c的顺序重复操作,当将所有的区域全部测试完毕后,都没有发现曲线变化超出阈值或者曲线之间出现交叉,则认为该待测芯片内部不含有硬件木马。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510093298.XA CN104636687B (zh) | 2015-03-02 | 2015-03-02 | 提高硬件木马检测分辨率的电路设计方法及硬件木马检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510093298.XA CN104636687B (zh) | 2015-03-02 | 2015-03-02 | 提高硬件木马检测分辨率的电路设计方法及硬件木马检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104636687A true CN104636687A (zh) | 2015-05-20 |
CN104636687B CN104636687B (zh) | 2017-12-22 |
Family
ID=53215421
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510093298.XA Active CN104636687B (zh) | 2015-03-02 | 2015-03-02 | 提高硬件木马检测分辨率的电路设计方法及硬件木马检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104636687B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104950248A (zh) * | 2015-06-24 | 2015-09-30 | 中国电子科技集团公司第五十八研究所 | 加速硬件木马触发的电路安全可测性设计方法及对硬件木马的检测方法 |
CN106093522A (zh) * | 2016-06-20 | 2016-11-09 | 张升泽 | 电子芯片的电流绘制方法及系统 |
WO2017219193A1 (zh) * | 2016-06-20 | 2017-12-28 | 张升泽 | 电子芯片的电流绘制方法及系统 |
CN112685800A (zh) * | 2019-10-17 | 2021-04-20 | 北京大学 | 一种基于时间窗自比较的硬件木马检测方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102662144A (zh) * | 2012-03-30 | 2012-09-12 | 北京大学 | 一种基于活性测度的硬件木马检测方法 |
CN104330721A (zh) * | 2014-10-29 | 2015-02-04 | 工业和信息化部电子第五研究所 | 集成电路硬件木马检测方法和系统 |
-
2015
- 2015-03-02 CN CN201510093298.XA patent/CN104636687B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102662144A (zh) * | 2012-03-30 | 2012-09-12 | 北京大学 | 一种基于活性测度的硬件木马检测方法 |
CN104330721A (zh) * | 2014-10-29 | 2015-02-04 | 工业和信息化部电子第五研究所 | 集成电路硬件木马检测方法和系统 |
Non-Patent Citations (3)
Title |
---|
MAINAK BANGA ET AL: "《2008 IEEE International Workshop on Hardware-Oriented Security and Trust》", 9 July 2008 * |
SWARUOP BHUNIA ET AL: "Hardware Trojan Attacks: Threat Analysis and Countermeasures", 《PROCEEDINGS OF THE IEEE》 * |
李海燕 等: "一种基于区域划分的硬件木马功耗显化方法", 《第十八界计算机工程与工艺年会暨第四届微处理器技术论坛论文集》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104950248A (zh) * | 2015-06-24 | 2015-09-30 | 中国电子科技集团公司第五十八研究所 | 加速硬件木马触发的电路安全可测性设计方法及对硬件木马的检测方法 |
CN106093522A (zh) * | 2016-06-20 | 2016-11-09 | 张升泽 | 电子芯片的电流绘制方法及系统 |
WO2017219193A1 (zh) * | 2016-06-20 | 2017-12-28 | 张升泽 | 电子芯片的电流绘制方法及系统 |
CN112685800A (zh) * | 2019-10-17 | 2021-04-20 | 北京大学 | 一种基于时间窗自比较的硬件木马检测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104636687B (zh) | 2017-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Huang et al. | Scalable test generation for Trojan detection using side channel analysis | |
CN104615950A (zh) | 能检测极小硬件木马的电路设计方法及检测方法 | |
CN104615949B (zh) | 基于电源隔离的提高硬件木马检测分辨率的电路设计方法及对硬件木马的检测方法 | |
CN104635144A (zh) | 一种不依赖基准曲线的硬件木马检测方法 | |
CN104636687A (zh) | 提高硬件木马检测分辨率的电路设计方法及硬件木马检测方法 | |
CN104636686A (zh) | 基于门控时钟的提高硬件木马检测分辨率的电路设计方法及对硬件木马的检测方法 | |
CN104950248A (zh) | 加速硬件木马触发的电路安全可测性设计方法及对硬件木马的检测方法 | |
Provost et al. | Generation of single input change test sequences for conformance test of programmable logic controllers | |
Jahanirad et al. | BIST-based Testing and Diagnosis of LUTs in SRAM-based FPGAs | |
Erb et al. | Multi-cycle circuit parameter independent ATPG for interconnect open defects | |
Rahman et al. | Ll-atpg: logic-locking aware test using valet keys in an untrusted environment | |
Li et al. | A XGBoost based hybrid detection scheme for gate-level hardware Trojan | |
Sauer et al. | Provably optimal test cube generation using quantified Boolean formula solving | |
Popat et al. | Transition probabilistic approach for detection and diagnosis of Hardware Trojan in combinational circuits | |
Manjunath et al. | Qusaf: A fast atpg for safs in vlsi circuits using a quantum computing algorithm | |
Giridharan et al. | A MUX based Latch Technique for the detection of HardwareTrojan using Path Delay Analysis | |
CN109143039A (zh) | 单固定型故障低功耗测试方法 | |
Luth et al. | Towards a methodology for self-verification | |
Zhong et al. | A comprehensive test pattern generation approach exploiting the SAT attack for logic locking | |
Alt et al. | Simulation of non-classical faults on the gate level-fault modeling | |
Erb et al. | Mixed 01X-RSL-Encoding for fast and accurate ATPG with unknowns | |
Bernardeschi et al. | Application of a genetic algorithm for testing SEUs in SRAM-FPGA Systems | |
Cook et al. | Diagnosis of multiple faults with highly compacted test responses | |
CN104849648A (zh) | 一种提高木马活性的测试向量生成方法 | |
Anita et al. | Multiple fault diagnosis and test power reduction using genetic algorithms |
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 |