CN108333501A - 硬件木马的旁路检测方法和装置、仿真验证方法和装置 - Google Patents
硬件木马的旁路检测方法和装置、仿真验证方法和装置 Download PDFInfo
- Publication number
- CN108333501A CN108333501A CN201810253885.4A CN201810253885A CN108333501A CN 108333501 A CN108333501 A CN 108333501A CN 201810253885 A CN201810253885 A CN 201810253885A CN 108333501 A CN108333501 A CN 108333501A
- Authority
- CN
- China
- Prior art keywords
- circuit
- test
- test vector
- power consumption
- vector group
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/2851—Testing of integrated circuits [IC]
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R19/00—Arrangements for measuring currents or voltages or for indicating presence or sign thereof
- G01R19/25—Arrangements for measuring currents or voltages or for indicating presence or sign thereof using digital measurement techniques
-
- 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
Abstract
本申请公开了一种硬件木马的旁路检测方法和装置。该检测方法在电流参量检测基础上,使用一组测试向量组内的多个测试向量对应的功耗检测结果进行硬件木马的旁路信号检测。该方法通过比较待测电路与无木马电路的检测结果中的电流绝对差异与预设阈值的关系,来做出待测电路中有无硬件木马的判断。该方法不需要多次迭代或通过其他方法得到最优测试向量,而是利用基于测试向量获得的电流绝对差异作为判断依据,不依赖特殊测试结构,能够降低工艺波动的影响,提高检测效率,增加检测结果的可信性。此外,本申请还公开了一种硬件木马旁路检测的仿真验证方法和装置。
Description
技术领域
本申请涉及信息安全技术领域,尤其涉及一种硬件木马的旁路检测方法和装置以及一种硬件木马的旁路检测的仿真验证方法和装置。
背景技术
当前,社会对信息的依赖程度已经到达了一个极高的程度,信息安全已经成为与政治、经济、军事以及日常生活等相关的关键问题。
信息安全主要包括以下4个方面:信息设备安全、数据安全、内容安全和行为安全。信息系统硬件结构的安全和操作系统的安全是信息系统安全的基础,密码、网络安全等技术是关键技术.只有从信息系统的硬件和软件的底层采取安全措施,从整体上采取措施,才能比较有效地确保信息系统的安全。
其中,在硬件安全领域,存在诸多攻击方式,包括破坏式的物理攻击、非入侵式的旁路攻击(包括功耗攻击、时序攻击等)以及入侵式的恶意代码和硬件木马等。
其中,硬件木马指的是:在芯片或者电子系统中故意植入的特殊模块或者设计者无意留下的缺陷模块,在特殊条件触发下,该模块能够被攻击者利用而实现具有破坏性的功能。插入的硬件木马可能会导致泄露信息,改变电路功能,甚至破坏电路。
目前,检测芯片中是否存在硬件木马的一种方式为旁路检测方法。现有的旁路检测方法多采用特定测试向量提高木马活性,或对所有测量值进行平滑滤波的方法得到判断依据。但实际检测中,随着工艺尺寸的减小,制程的工艺波动不断变大,加上木马设计得更为隐蔽和分散,使得现有的旁路检测方法不能有效对旁路信号进行采集和准确分析,降低了结果的可信性。
发明内容
有鉴于此,本申请的第一方面提供了一种硬件木马的旁路检测方法,以使得检测结果不依赖特殊测试结构,降低工艺波动的影响,提高检测效率,增加检测结果的可信性。
基于本申请的第一方面,本申请的第二方面提供了一种硬件木马旁路检测的仿真验证方法和装置。
为了达到上述发明目的,本申请采用了如下技术方案:
一种硬件木马的旁路检测方法,包括:
选取测试向量组,所述测试向量组内包括多个测试向量;
将待测电路和无木马电路使用所述测试向量组内的各个测试向量分别进行功耗信号检测,分别得到包括多个电流分量的检测结果;
计算待测电路与无木马电路的检测结果中的电流绝对差异;
判断所述电流绝对差异是否大于预设阈值,如果是,确定所述待测电路中存在硬件木马,如果否,确定所述待测电路中不存在硬件木马。
可选地,所述测试向量组包括静态测试向量组和动态测试向量组;
所述将待测电路和无木马电路使用所述测试向量组内的各个测试向量分别进行功耗信号检测,分别得到包括多个电流分量的检测结果,具体包括:
将待测电路和无木马电路均分别使用静态测试向量组和动态测试向量组进行静态功耗测试和动态功耗测试,均分别得到包括多个静态电流的静态功耗检测结果和包括多个动态电流的动态功耗检测结果;
所述计算待测电路与无木马电路的检测结果中的电流绝对差异,具体包括:
计算待测电路和无木马电路的静态功耗检测结果的静态电流绝对差异,以及计算待测电路和无木马电路的动态功耗检测结果的动态电流绝对差异;
所述判断所述电流绝对差异是否大于预设阈值,如果是,确定所述待测电路中存在硬件木马,如果否,确定所述待测电路中不存在硬件木马,具体包括:
判断所述静态电流绝对差异是否大于第一预设阈值,并判断所述动态电流绝对差异是否大于第二预设阈值,若两个判断结果均为是时,则确定所述待测电路中存在硬件木马;若两个判断结果均为否时,则确定所述待测电路中不存在硬件木马。
可选地,所述判断所述静态电流绝对差异是否大于第一预设阈值,并判断所述动态电流绝对差异是否大于第二预设阈值,还包括:
若两个判断结果不一致,则重新选取另一组测试向量组,返回执行所述将待测电路和无木马电路均分别使用静态测试向量组和动态测试向量组进行静态功耗测试和动态功耗测试,均分别得到包括多个静态电流的静态功耗检测结果和包括多个动态电流的动态功耗检测结果。
可选地,所述电流绝对差异为电流抖动标准差绝对值差异比。
一种硬件木马旁路检测的仿真验证方法,包括:
将待验证电路和无木马电路的RTL级电路描述分别生成第一门级网表和第二门级网表;
将所述第一门级网表和第二门级网表分别转换为用于集成电路性能分析的电路模拟程序能够识别的第一功耗测算文件和第二功耗测算文件;
对所述第一功耗测算文件和第二功耗测算文件分别配置测试向量组,所述测试向量组内包括多个测试向量;
将配置好测试向量组的第一功耗测算文件和第二功耗测算文件在所述用于集成电路性能分析的电路模拟程序中运行,得到第一功耗结果文件和第二功耗结果文件,所述第一功耗结果文件中包括与多个测试向量对应的多个第一电流,所述第二功耗结果文件中包括与多个测试向量分别对应的多个第二电流;
根据所述多个第一电流和所述多个第二电流计算待验证电路与无木马电路的电流绝对差异;
判断所述电流绝对差异是否大于预设阈值,如果是,得出所述待验证电路中存在硬件木马的验证结果,如果否,得出所述待验证电路不存在硬件木马的验证结果。
可选地,所述待验证电路为基准验证电路ISCAS-85中的C880电路,并在其中植入了8-bit比较器的组合逻辑硬件木马。
可选地,所述测试向量组根据最大关键路径位置选取得到。
可选地,所述测试向量组为包括多个动态测试向量的动态测试向量组。
可选地,所述动态测试向量在选取时至少对最大路径的输入管脚和木马驱动管脚进行差异化处理。
可选地,所述测试向量组包括静态测试向量组和动态测试向量组,所述静态测试向量组内包括多个静态测试向量,所述动态测试向量组内包括多个动态测试向量。
一种硬件木马的旁路检测装置,包括:
第一选取单元,用于选取测试向量组,所述测试向量组内包括多个测试向量;
检测单元,用于将待测电路和无木马电路使用所述测试向量组内的各个测试向量分别进行功耗信号检测,分别得到包括多个电流分量的检测结果;
计算单元,用于计算待测电路与无木马电路的检测结果中的电流绝对差异;
判断单元,用于判断所述电流绝对差异是否大于预设阈值,如果是,确定所述待测电路中存在硬件木马,如果否,确定所述待测电路中不存在硬件木马。
一种硬件木马旁路检测的仿真验证装置,包括:
生成模块,用于将待验证电路和无木马电路的RTL级电路描述分别生成第一门级网表和第二门级网表;
转换模块,用于将所述第一门级网表和第二门级网表分别转换为用于集成电路性能分析的电路模拟程序能够识别的第一功耗测算文件和第二功耗测算文件;
配置模块,用于对所述第一功耗测算文件和第二功耗测算文件分别配置测试向量组,所述测试向量组内包括多个测试向量;
运行模块,用于将配置好测试向量组的第一功耗测算文件和第二功耗测算文件在所述用于集成电路性能分析的电路模拟程序中运行,得到第一功耗结果文件和第二功耗结果文件,所述第一功耗结果文件中包括与多个测试向量对应的多个第一电流,所述第二功耗结果文件中包括与多个测试向量分别对应的多个第二电流;
计算模块,用于根据所述多个第一电流和所述多个第二电流计算待验证电路与无木马电路的电流绝对差异;
判断模块,用于判断所述电流绝对差异是否大于预设阈值,如果是,得出所述待验证电路中存在硬件木马的验证结果,如果否,得出所述待验证电路不存在硬件木马的验证结果。
相较于现有技术,本申请具有以下有益效果:
基于以上技术方案可知,本申请实施例提供的硬件木马的旁路检测方法使用一组测试向量组内的多个测试向量对应的功耗检测结果进行硬件木马的旁路信号检测。该方法通过比较待测电路与无木马电路的检测结果中的电流绝对差异与预设阈值的关系,来做出待测电路中有无硬件木马的判断。该方法不需要多次迭代或通过其他方法得到最优测试向量,而是利用测试向量抖动性的差异作为判断依据,不依赖特殊测试结构,能够降低工艺波动的影响,提高检测效率,增加检测结果的可信性。
附图说明
为了清楚地理解本申请的具体实现方式,下面将描述本申请具体实施方式时用到的附图做一简要说明。显而易见地,这些附图仅是本申请的部分实施例。
图1是本申请实施例一提供的硬件木马的旁路检测方法流程示意图;
图2是本申请实施例二提供的硬件木马的旁路检测方法的检测原理图;
图3是本申请实施例二提供的硬件木马的旁路检测方法的流程图;
图4是本申请实施例三提供的硬件木马旁路检测的仿真验证方法的流程图;
图5是本申请实施例三提供的采用HSPICE软件对待验证电路进行硬件木马旁路检测的仿真验证的原理图;
图6是本申请实施例四提供的硬件木马的旁路检测装置结构示意图;
图7是本申请实施例五提供的硬件木马旁路检测的仿真验证装置结构示意图。
具体实施方式
因硬件木马对芯片具有很大的攻击性,为了检测出芯片中是否存在硬件木马,目前的检测方式主要有破坏性的反向工程检测、非破坏性的激励测试以及旁路分析。
破坏式的方法即通过逆向工程,观测芯片是否被嵌入木马。这种方法存在许多缺陷,被确认正确的芯片已经被破坏,而未经过测试的芯片依然无法保证正确性。因此这种方式通常用于辅助确认安全的芯片,找到绝对正确的“黄金芯片”,以进行其他测试。
非破坏式的方法则包括通过大量的测试向量,以期望能够激活木马,观测到输出的异常的逻辑测试;或者通过对比待测芯片与正确芯片之间的旁路信息的差异,来检测木马的存在的旁路分析方式。还有一些研究针对在芯片设计时,通过添加特殊电路结构,增加木马植入的难度或者让木马更加容易被检测出来。在该种检测中需要黄金芯片的支持,在应用上有一定局限性,但仍是较为实用的检测技术。主要的研究成果集中在提高检测效率、激活木马活性上。
其中,有人提出了一种添加虚拟触发器的方式,在不改变电路功能和性能的情况下,可以控制性地增加指定区域的逻辑门翻转率,这将有助于提高逻辑测试触发木马或是采用功耗分析进行木马检测的效率。
另外,也有人提出了翻转电压策略,认为逻辑门的某些输出是小概率的,通过控制性地将逻辑门的电源与地对换,可以在不改变输入测试集的情况下,大大提高小概率电路状态的产生,用于提高木马的激活概率。
此外,还有人提出了一种随机取样方法MERO(Multiple Excitation of RareOccurrence,偶发多激励)生成有效的输入向量。基本概念是检测内部节点的低可能性条件,然后推导可选的向量集激活偶发节点至少N次,类似地在stuck-atATPG中使用N-检测测试。近年来,使用动态电流和静态电流结合的旁路检测技术由于其针对性强,便于采集等优点,得到了广泛关注,但其采集信号的准确度与半导体工艺严重相关,当工艺波动较大时,含有木马的电流信号可能隐匿在波动里不容易被检测出来,从而严重影响了该方法的可信性。
为了清楚地理解硬件木马的旁路检测方法,下面介绍旁路检测方法的检测原理。
旁路检测方法采集待测电路的电流参量,该电路参量可以包含动态电流IDDT和静态电流IDDQ。动态电流主要由开关电流Ion(ON current)和短路电流Ishort(short-circuitcurrent)两部分组成,其中开关电流为对电路的负载电容充放电电流,短路电流是在信号翻转过程中N和P管同时导通而形成电源和地之间的短路电流,开关电流起主导作用。静态电流主要是由源漏级反偏电流Ir(reverse-bias pn-junction leakage)、亚阈值泄露电流Isub(sub-threshold leakage current)、栅极漏电流Igate(gate leakage current)三部分组成。在深亚微米尺度下,随着亚阈值元件的增加,静态电流的大小几乎可以由电路的总亚阈值泄露电流决定。基本可以忽略Ir和Igate对IDDQ的影响,电路中的动态电流和静态电流的计算公式如下:
IDDT=Ion+Ishort≈Ion=n·kg(VDD-Vth)α (1)
IDDQ=Ir+Isub+Igate≈Isub=mIsd (2)
其中,n为发生翻转的门数目,kg是门级常数,VDD为电源电压,Vth为阈值电压,α为速度饱和率,且1<α<2,m是所有芯片中(处于截止态的)晶体管的数目,Isd是整个电路的平均亚阈值电流。
由(1)和(2)可以推出动态电流与静态电流之间的关系如下:
当电路中存在硬件木马时,假设在某动态测试向量下木马模块的翻转门数为ntrojan,木马电路的所有门数为mtrojan,对静态和动态电流的改变如下式:
IDDQ_t=(m+mtrojan)Isd (4)
IDDT_t=kg(n+ntrojan)(VDD-Vth)α (5)
二者之间的关系变为:
当认为IDDT与IDDQ呈近似线性关系时,可由式(3)得到动态与静态电流关系的趋势线,并通过比对由式(3)得到动态与静态电流关系的趋势线的斜率与(6)的斜率,若两斜率的差值大于设定阈值,则判断电路中存在木马,多量斜率的差值小于该设定阈值,则判断电路中不存在木马。
此外,木马检测的灵敏度定义如下:
以上为硬件木马的旁路检测方法的检测原理。
从式(7)中可知,若要直接提高旁路信号检测的灵敏度,则需要提高可能含有木马的待测电路中的动态电流,或引申为提高木马部分活性(晶体管开关频率,或称翻转率)。进一步分析实际检测的情况,木马电路的晶体管静态功耗是始终存在的,且只和工艺参数、静态测试向量导致的晶体管开关状态和电路本身设计有关;而动态功耗则只和动态测试向量导致的短时晶体管翻转频率有关,木马部分的翻转不易确定。由于木马部分的固有存在性,虽然对单一测试向量的反应可能差别很大,但对多组测试向量的综合反应值的范围必然比无硬件木马的电路要大,可以利用这一点进行检测。
基于上述存在木马的电路的特点,本申请提供了一种硬件木马的旁路检测方法。该检测方法在电流参量检测基础上,使用一组测试向量组内的多个测试向量对应的功耗检测结果进行硬件木马的旁路信号检测。该方法通过比较待测电路与无木马电路的检测结果中的电流绝对差异与预设阈值的关系,来做出待测电路中有无硬件木马的判断。该方法不需要多次迭代或通过其他方法得到最优测试向量,而是利用基于测试向量获得的电流绝对差异作为判断依据,不依赖特殊测试结构,能够降低工艺波动的影响,提高检测效率,增加检测结果的可信性。
下面结合附图对本申请提供的硬件木马的旁路检测方法实施例进行详细描述。
实施例一
请参见图1,本申请实施例一提供的硬件木马的旁路检测方法包括以下步骤:
S101:选取测试向量组,测试向量组内包括多个测试向量。
根据上述对旁路检测方法其检测原理的介绍,可以了解到,若待测电路中存在硬件木马,与无木马电路相比,在测试向量下电流值存在差异。
为此,在本实施例中,选取测试向量组用于对待测电路和无木马电路分别进行功耗信号检测。考虑到测试向量的个体差异对功耗信号检测结果的影响因素,在测试向量组中设置多个测试向量。
作为示例,测试向量组中可以包含有多个静态测试向量,或者多个动态测试向量。
S102:将待测电路和无木马电路使用测试向量组内的各个测试向量分别进行功耗信号检测,分别得到包括多个电流分量的检测结果。
静态测试向量能够影响电路中晶体管的开关状态,晶体管的静态功耗与电路的工艺参数、晶体管开关状态以及电路设计有关。作为一示例,若步骤S101中选取的测试向量组包含的是多个静态测试向量,则本步骤中,将待测电路和无木马电路使用测试向量组内的各个测试向量分别进行静态功耗测试,分别得到包括多个静态电流的静态功耗检测结果。
动态测试向量能够短时间影响晶体管的翻转频率,针对木马电路与无木马电路,动态测试向量对晶体管翻转频率的影响效果存在差异,动态功耗检测结果能够体现晶体管的翻转频率。作为另一示例,若步骤S101中选取的测试向量组包含的是多个动态测试向量,则本步骤中,将待测电路和无木马电路使用测试向量组内的各个测试向量分别进行动态功耗测试,分别得到包括多个动态电流的动态功耗检测结果。
S103:计算待测电路与无木马电路的检测结果中的电流绝对差异。
在本实施例中,电流绝对差异可广义地理解为待测电路与无木马电路其检测结果的差异。电流绝对差异的计算方式,与根据电流绝对差异判别待测电路是否存在硬件木马的依据有关。例如,电流绝对差异可以是电流抖动标准差绝对值差异比。
下面给出一种计算电流绝对差异的具体实现方式。该实现方式以电流抖动标准差绝对值差异比作为判别依据。
作为示例,可以采用待测电路与无木马电路的检测结果中电流分量作为计算的原始数据。由于测试向量组中包含多个测试向量,可以将待测电路和无木马电路使用该测试向量组中各个测试向量所获得的电流分量分别取平均值,再根据该测试向量组的两个电流分量平均值进一步计算待测电路与无木马电路的电流抖动标准差绝对值差异比。
举例说明:该实现方式中,选用包括N个动态测试向量的测试向量组A进行对待测电路的木马检测(N为大于或等于2的整数)。经过步骤S102,分别获得了待测电路的动态功耗检测结果以及无木马电路的动态功耗检测结果,其中,待测电路的动态功耗检测结果包括以下电流分量:
IDDT_t1,IDDT_t2,······,IDDT_tN;
无木马电路的动态功耗检测结果包括以下电流分量:
IDDT1,IDDT2,······IDDTN。
本步骤中,计算IDDT_t1~IDDT_tN的均值为IDDT_tA,IDDT_tA代表待测电路经测试向量组A检测所得的动态平均电流;计算IDDT1~IDDTN的均值为IDDTA,IDDTA代表无木马电路经测试向量组A检测所得的动态平均电流。进一步地,利用IDDTA及IDDT_tA,分别计算无木马电路与待测电路的动态电流抖动标准差σTrojan-free与σTest,公式如下:
待测电路与无木马电路之间动态电流抖动标准差绝对值差异比能够反映出待测电路与无木马电路对测试向量组的波动性差异。根据无木马电路的动态电流抖动标准差σTrojan-free与待测电路的动态电流抖动标准差σTest,可以计算出基于测试向量组A的检测,待测电路与无木马电路之间动态电流抖动标准差绝对值差异比DRA:
或者,
S104:判断电流绝对差异是否大于预设阈值,如果是,确定待测电路中存在硬件木马,如果否,确定待测电路中不存在硬件木马。
需要说明,本步骤中预设阈值是根据对工业中对电路中硬件木马检测的经验数值设定的。预设阈值可以作为判别待测电路中是否存在硬件木马的临界值,若步骤S103中计算得到的电流绝对值差异大于预设阈值,则确定待测电路中存在硬件木马;如果否,则得出相反结论。
需要说明,利用包含多个静态测试向量的测试向量组,及与包含多个动态测试向量的测试向量组,进行硬件木马的旁路检测最终分别获得的静态电流绝对差异(例如静态电流抖动标准差绝对值差异比)及动态电流绝对值差异(例如动态电流抖动标准差绝对值差异比),其各自用于判别的预设阈值是不同的。这主要是由于,动态功耗检测结果随信号翻转率的变化影响较大,而静态功耗检测结果基本仅反映电路工艺的波动,因而,需要针对所选取的测试向量组中包含的测试向量类型,预设不同阈值。
以上为本申请提供了一种硬件木马的旁路检测方法实施例一。该检测方法在电流参量检测基础上,使用一组测试向量组内的多个测试向量对应的功耗检测结果进行硬件木马的旁路信号检测。该方法通过比较待测电路与无木马电路的检测结果中的电流绝对差异与预设阈值的关系,来做出待测电路中有无硬件木马的判断。该方法不需要多次迭代或通过其他方法得到最优测试向量,而是利用测试向量抖动性的差异作为判断依据,不依赖特殊测试结构,能够降低工艺波动的影响,提高检测效率,增加检测结果的可信性。
为提高硬件木马的旁路检测结果的准确性,本申请还提供了一种硬件木马的旁路检测方法实施例二。该检测方法综合使用了静态测试向量组与动态测试向量组。下面结合图2和图3对本实施例提供的硬件木马的旁路检测方法进行详细说明。
实施例二
参见图2,为本实施例提供的硬件木马的旁路检测方法的检测原理图。图3是该方法的详细流程图,包括以下步骤:
S301:选取测试向量组,测试向量组内包括静态测试向量组和动态测试向量组。
上述静态测试向量组与动态测试向量组中可分别包含多个测试向量。静态测试向量组中测试向量的数量可以与动态测试向量组中测试向量的数量相同,也可以不同。
S302:将待测电路和无木马电路均分别使用静态测试向量组和动态测试向量组进行静态功耗测试和动态功耗测试,均分别得到包括多个静态电流的静态功耗检测结果和包括多个动态电流的动态功耗检测结果。
S303:计算待测电路和无木马电路的静态功耗检测结果的静态电流绝对差异,以及计算待测电路和无木马电路的动态功耗检测结果的动态电流绝对差异。
电流绝对差异的计算方式,与根据电流绝对差异判别待测电路是否存在硬件木马的依据有关。作为一种实现方式,动态电流绝对差异的计算方式可以与静态电流绝对差异的计算方式相同。
例如,静态电流绝对差异可以是静态电流抖动标准差绝对值差异比DRM1-SS;动态电流绝对差异是动态电流抖动标准差绝对值差异比DRM2-DS。具体计算公式如下:
公式(11)和(12)中,M1和M2分别表示本实施例所选取的测试向量组中静态测试向量组和动态测试向量组。SS与DS分别作为静态(Static State)和动态(Dynamic State)含义的标识。M1中包含X个静态测试向量,M2中包含Y个静态测试向量,X与Y均为大于或等于2的正整数。
公式(11)中,σTrojan-free-SS与σTest-SS分别表示利用测试向量组中的静态测试向量组M1,对待测电路进行硬件木马检测时,计算获得的无木马电路与待测电路的静态电流抖动标准差。计算公式如下:
公式(13)和(14)中,IDDQi与IDDQ_ti分别为利用M1中第i个静态测试向量进行无木马电路、待测电路的静态功耗测试时,得到的静态电流(i=1,2······X);IDDQM1与IDDQ_tM1分别是无木马电路、待测电路测试的静态平均电流,各自由X个无木马电路、待测电路测试的静态电流取平均值计算得到。
公式(12)中,σTrojan-free-DS与σTest-DS分别表示利用测试向量组中的动态测试向量组M2,对待测电路进行硬件木马检测时,计算获得的无木马电路与待测电路的动态电流抖动标准差。计算公式如下:
公式(15)和(16)中,IDDTj与IDDT_tj分别为利用M1中第j个动态测试向量进行无木马电路、待测电路的动态功耗测试时,得到的动态电流(j=1,2······Y);IDDTM2与IDDT_tM2分别是无木马电路、待测电路测试的动态平均电流,各自由Y个无木马电路、待测电路测试动态电流取平均值计算得到。
作为另一种实现方式,动态电流绝对差异的计算方式可以与静态电流绝对差异的计算方式不同。
S304:判断静态电流绝对差异是否大于第一预设阈值,并判断动态电流绝对差异是否大于第二预设阈值,若两个判断结果均为是时,则确定待测电路中存在硬件木马;若两个判断结果均为否时,则确定待测电路中不存在硬件木马。
由于动态功耗检测结果随信号翻转率的变化影响较大,而静态功耗检测结果基本仅反映电路工艺的波动,因而,需要针对所选取的测试向量组中包含的测试向量类型,预设不同阈值。在本实施例中,采用静态测试向量组进行硬件木马的旁路检测所获得的静态电流绝对差异,以第一预设阈值作为判断依据。判断静态电流绝对差异是否大于第一预设阈值,并记录第一判断结果的是或否。采用动态测试向量组进行硬件木马的旁路检测所获得的动态电流绝对差异,以第二预设阈值作为判断依据。判断动态电流绝对差异是否大于第二预设阈值,并记录第二判断结果的是或否。
综合比对第一判断结果与第二判断结果,进行硬件木马的旁路检测的最终判断:若第一、第二判断结果均为是,则最终判断待测电路中存在硬件木马;若第一、第二判断结果均为否,则最终判断待测电路中不存在硬件木马。
需要说明,因静态功耗测试向量和动态功耗测试向量对木马的测试灵敏性不同,因此,在S304的判断结果中还可能存在第一判断结果和第二判断结果不一致的情况。一种可能的情况时,第一判断结果为是,而第二判断结果为否,另一种可能的情况是第一判断结果为否,而第二判断结果为是。
为了更加准确地检测出待测电路中是否存在硬件木马,针对第一、第二判断结果不一致的可能情况,本实施例提供的检测方法还可以包括以下步骤:
S305:若第一、第二判断结果不一致,则重新选取另一组测试向量组,返回执行上述步骤S302:
需要说明,该重新选取的另一组测试向量组中包含静态测试向量组和动态测试向量组,且与步骤S301原选取的测试向量组不同。以重新选取的另一组测试向量组作为用于检测该待测电路中是否存在硬件木马的测试向量组,返回执行上述步骤S302,循环执行上述步骤S302至S305。
需要说明,针对该实现方式,为了提高检测效率,防止出现无休止地循环下去,本申请实施例还可以预先设置选取测试向量组的次数,在每次重新选取测试向量组后,更新测试向量组的选取次数,一旦选取测试向量组的次数超过一定数值(该一定数值可以为根据经验设定的数值)后,即使第一判断结果和第二结果仍不一致,也停止循环,结束硬件木马的检测。
如此,针对该具体实现方式,在重新选取另一组测试向量组后,返回S302之前,还可以包括以下步骤:
更新测试向量组的选取次数n,设定n=n+1;
判断测试向量组的选取次数是否大于第一预设数值,如果是,结束检测,如果否,返回S302。
第一预设数值可以为根据经验设定的数值,例如可以为5、10等整数。
需要说明,若选取测试向量组的次数超过一定数值后,第一判断结果和第二判断结果仍是不一致,则说明该待测电路不适合采用本申请实施例提供的检测方法,此时需要采用其它检测方法来检测电路中是否存在硬件木马。
以上为本申请提供了一种硬件木马的旁路检测方法实施例二。该检测方法在电流参量检测基础上,使用测试向量组包含的静态测试向量组和动态测试向量组对应的静态、动态功耗检测结果,进行硬件木马的旁路信号检测。该方法通过比较待测电路与无木马电路的静态、动态检测结果中,静态电流绝对差异与第一预设阈值的关系及动态电流绝对差异与第二预设阈值的关系,综合做出待测电路中有无硬件木马的判断。由于该方法选取的测试向量组包含了静态测试向量组和动态测试向量组,根据两个判断结果最终判断的结果具有更高的准确性。此外,该方法不需要多次迭代或通过其他方法得到最优测试向量,而是利用测试向量抖动性的差异作为判断依据,不依赖特殊测试结构,能够降低工艺波动的影响,提高检测效率,增加检测结果的可信性。
基于上述硬件木马的旁路检测方法实施例的检测原理及检测过程,本申请还提供一种硬件木马旁路检测的仿真验证方法实施例。下面结合图4和图5对该方法的实现过程进行具体描述。
实施例三
本实施例所提供的硬件木马旁路检测的仿真验证方法,可用于验证上述实施例一和/或实施例二提供的硬件木马的旁路检测方法的有效性。作为一种实现方式,本实施例可以采用电子设计自动化(英语:Electronics Design Automation,缩写:EDA)工具进行仿真验证。
参见图4,为本实施例提供的硬件木马旁路检测的仿真验证方法流程示意图,该仿真验证方法包括以下步骤:
S401:将待验证电路和无木马电路的RTL级电路描述分别生成第一门级网表和第二门级网表。
在电路设计领域,电路功能需要通过多个级别的描述来完成。电路设计分为寄存器转换级(英语:Register Transfer Level,缩写:RTL)、门级、晶体管级等。各个级允许使用的描述方法不同。
RTL指的是用寄存器这一级别的描述方式来描述电路功能的数据流方式。在RTL描述中,各种电路的功能都是由寄存器和寄存器之间的组合逻辑电路实现的。要将RTL电路描述转换成芯片,就需要将RTL代码通过工艺文件映射成工艺库中包含的器件,这一过程将RTL电路描述转换成门级网表。门级网表描述的是电路元件之间门级别的相互连接关系。
作为示例,可以在本步骤采用设计编译器Design Compiler(简称:DC)等综合工具将待验证电路和无木马电路的RTL电路描述分别生成第一门级网表和第二门级网表,相当于将待验证电路和无木马电路的RTL描述分别映射到实现等价功能的具体器件上。DC是一种EDA领域应用广泛、功能较强的综合工具,具有逻辑综合软件包,并提能供设计规范的门级逻辑综合和时序约束。
S402:将第一门级网表和第二门级网表分别转换为用于集成电路性能分析的电路模拟程序能够识别的第一功耗测算文件和第二功耗测算文件。
由于本实施例提供的是一种硬件木马旁路检测的仿真验证方法,为验证待验证电路中是否存在硬件木马,需要进行晶体管级的模拟电路仿真测算。因此在经过步骤S401将待验证电路和无木马电路的RTL描述转换成门级网表描述形式后,还需进一步将门级网表转换为用于电路分析的功耗测算文件。
本步骤中,可使用V2LVS工具将门级网表转换为用于集成电路性能分析的电路模拟程序能够识别的spice网表文件。第一、第二门级网表转换后对应的第一、第二spice网表,即为第一、第二功耗测算文件。
本实施例可用的电路模拟程序有多种选择,例如VSPICE、HSPICE、PSPICE等软件。第一、第二功耗测算文件格式为.sp格式。
S403:对第一功耗测算文件和第二功耗测算文件分别配置测试向量组,测试向量组内包括多个测试向量。
需要注意,每次为第一、第二功耗测算文件配置的测试向量组是一致的。配置的测试向量组可能包含如下三种情况:
(1)测试向量组中包括多个静态测试向量;
(2)测试向量组中包括多个动态测试向量:
(3)测试向量组中包括静态测试向量组与动态测试向量组,静态测试向量组中包括多个静态测试向量;动态测试向量组中包括多个动态测试向量。
S404:将配置好测试向量组的第一功耗测算文件和第二功耗测算文件在用于集成电路性能分析的电路模拟程序中运行,得到第一功耗结果文件和第二功耗结果文件,第一功耗结果文件中包括与多个测试向量对应的多个第一电流,第二功耗结果文件中包括与多个测试向量分别对应的多个第二电流。
作为示例,本实施例采用HSPICE软件对待验证电路进行硬件木马旁路检测的仿真验证,仿真验证的原理图详见图5。将配置好测试向量组的第一功耗测算文件和第二功耗测算文件在HSPICE中运行后,能够得到.mt0格式的功耗结果文件以及.tr0格式的波形文件。功耗结果文件中,第一功耗结果文件对应于待验证电路;第二功耗结果文件对应于无木马电路。
需要注意的是,基于上述三种测试向量组的可能配置情况,第一功耗结果文件和第二功耗结果文件中也存在对应的三种情况:
(1)第一功耗结果文件和第二功耗结果文件中均包含静态功耗结果文件;
(2)第一功耗结果文件和第二功耗结果文件中均包含动态功耗结果文件;
(3)第一功耗结果文件和第二功耗结果文件中均包含静态功耗结果文件和动态功耗结果文件。
第一功耗结果文件中包括与多个测试向量对应的多个第一电流,第二功耗结果文件中包括与多个测试向量分别对应的多个第二电流。功耗结果文件可用于进行电流、电流抖动标准差的计算和分析。波形文件可用作辅助分析。
S405:根据多个第一电流和多个第二电流计算待验证电路与无木马电路的电流绝对差异。
计算电流绝对差异,例如电流抖动标准差绝对值差异比,具体公式可参见公式(11)-(16)。此处不再加以赘述。
S406:判断电流绝对差异是否大于预设阈值,如果是,得出待验证电路中存在硬件木马的验证结果,如果否,得出待验证电路不存在硬件木马的验证结果。
需要说明的是,针对仿真验证方法所采用的工艺条件,例如SS/TT/FF等,预设的阈值可能不同。
为提高本步骤获取待检测电路是否存在硬件木马的验证结果的准确性,作为示例,可在步骤S403中为第一功耗测算文件和第二功耗测算文件分别配置第(3)种测试向量组。进而,步骤S405能够计算得到静态电流绝对差异及动态电流绝对差异。该场景下,本步骤为针对静态电流绝对差异及动态电流绝对差异分别进行是否大于阈值的判断,进而获得验证结果,具体地:
判断静态电流绝对差异是否大于第一预设阈值,并判断动态电流绝对差异是否大于第二预设阈值,若两个判断结果均为是时,则确定待验证电路中存在硬件木马;若两个判断结果均为否时,则确定待验证电路中不存在硬件木马。
需要说明,因静态功耗测试向量和动态功耗测试向量对木马的测试灵敏性不同,因此,在S406的判断结果中还可能存在第一判断结果和第二判断结果不一致的情况。一种可能的情况时,第一判断结果为是,而第二判断结果为否,另一种可能的情况是第一判断结果为否,而第二判断结果为是。
为了更加准确地检测出待测电路中是否存在硬件木马,基于上述场景,本实施例还进一步针对两个判断结果不一致的情况,本实施例提供的仿真验证方法还可以包括以下步骤:
若两个结果不一致,则对第一功耗测算文件和第二功耗测算文件分别配置另一测试向量组,返回执行上述步骤S404。
需要说明,针对该实现方式,为了提高仿真验证效率,防止出现无休止地循环下去,本申请实施例还可以预先设置配置测试向量组的次数,在每次重新配置测试向量组后,更新测试向量组的配置次数,一旦配置测试向量组的次数超过一定数值(该一定数值可以为根据经验设定的数值)后,即使第一判断结果和第二结果仍不一致,也停止循环,结束仿真验证过程。
如此,针对该具体实现方式,在重新配置另一组测试向量组后,返回S404之前,还可以包括以下步骤:
更新测试向量组的配置次数N,设定N=N+1;
判断测试向量组的配置次数是否大于第二预设数值,如果是,结束仿真验证,如果否,返回S404。
第二预设数值可以为根据经验设定的数值,例如可以为5、10等整数。
以上为本申请实施例三提供的一种硬件木马旁路检测的仿真验证方法。上述仿真验证方法可以将待验证电路和无木马电路的RTL级描述最终转换成电路模拟程序能够识别的功耗测算文件,配置好测试向量组之后,将功耗测算文件在电路模拟程序中运行,根据得到的功耗结果文件可以计算待验证电路和无木马电路对向量组的电流抖动标准差,进而与预设阈值比对,做出对待验证电路中是否存在硬件木马的判断。由于该方法不依赖特殊测试结构,能够通过设置多样化的测试向量组和选用多种工艺条件,因此可以应用该方法降低工艺波动对验证结果的影响。有效提高仿真验证的效率,并且增加仿真验证结果的可信性。
基于实施例三提供的硬件木马旁路检测的仿真验证方法,本申请进行了仿真验证实验,实验细节如下:
在仿真验证实验中,选取了硬件木马旁路检测电路仿真中经典的基准验证电路ISCAS-85中的C880电路作为待验证电路,其中植入了一个8-bit比较器的组合逻辑硬件木马。需要说明的是,8-bit组合逻辑硬件木马是目前普遍认为的能通过旁路检测的最小组合逻辑木马,如果本次实验最终结论为待验证电路存在木马,则可以理解为上述硬件木马旁路检测的仿真验证方法检测灵敏度合格。
仿真验证实验采用了SMIC130nm CMOS工艺库,以及SMIC65nm CMOS工艺库,在SS、TT、FF三个工艺角环境下分别进行。电源电压选择1.2V。选取了表1所示的静态测试向量组;对最大路径的输入管脚、木马驱动管脚和其他管脚进行了差异化处理,选取了表2所示的动态测试向量组。
表1静态测试向量组
静态向量 | 描述 |
Svec1 | 操作数A,B全0,其余输入为1 |
Svec2 | 操作数A,B全1,其余输入为0 |
Svec3 | 最大路径输入管脚为1,其余为0 |
Svec4 | 最大路径输入管脚为0,其余为1 |
Svec5 | 全部输入为1 |
Svec6 | 全部输入为0 |
表2动态测试向量组
动态向量 | 描述 |
Dvec1 | 最大路径输入管脚为62.5MHz,其他管脚为31.25MHz |
Dvec2 | 最大路径输入管脚为31.25MHz,其他管脚为62.5MHz |
Dvec3 | 最大路径输入管脚为15.625MHz,其他管脚为62.5MHz |
Dvec4 | 最大路径输入管脚为15.625MHz,其他管脚为125MHz |
Dvec5 | 木马驱动管脚为125MHz,其他管脚为31.25MHz |
Dvec6 | 木马驱动管脚为62.5MHz,其他管脚为15.625MHz |
仿真验证实验在SS、TT、FF三个工艺角环境下分别进行,得到表3的静态测试向量组实验结果和表4的动态测试向量组实验结果。
根据表3的数据,可知,静态电流抖动标准差绝对差异比大于0.7%。该数值大于预设阈值,因而,利用表1的静态测试向量组验证出,植入了一个8-bit比较器的组合逻辑硬件木马的待验证电路存在硬件木马。
根据表4的数据,可知,动态电流抖动标准差绝对差异比大于1.5%。该数值大于预设阈值,因而,利用表2的动态测试向量组验证出,植入了一个8-bit比较器的组合逻辑硬件木马的待验证电路存在硬件木马。
综合表3与表4的检测结果,最终得到仿真验证实验的结论:待验证电路中存在硬件木马。进而验证了本申请实施例三提供的硬件木马旁路检测的仿真验证方法的有效性。
表3静态测试向量组实验结果
表4动态测试向量组实验结果
基于上述实施例提供的硬件木马的旁路检测方法,本申请实施例还提供了一种硬件木马的旁路检测装置。下面结合附图6对该装置的结构和功能进行详细说明。
实施例四
本申请实施例提供的硬件木马的旁路检测装置,包括:
第一选取单元61,用于选取测试向量组,测试向量组内包括多个测试向量;
检测单元62,用于将待测电路和无木马电路使用测试向量组内的各个测试向量分别进行功耗信号检测,分别得到包括多个电流分量的检测结果;
计算单元63,用于计算待测电路与无木马电路的检测结果中的电流绝对差异;
判断单元64,用于判断电流绝对差异是否大于预设阈值,如果是,确定待测电路中存在硬件木马,如果否,确定待测电路中不存在硬件木马。
可选地,上述第一选取单元61选取的测试向量组,包括静态测试向量组和/或动态测试向量组。
若测试向量组中包括静态测试向量组和动态测试向量组,则上述检测单元62,具体用于:
将待测电路和无木马电路均分别使用静态测试向量组和动态测试向量组进行静态功耗测试和动态功耗测试,均分别得到包括多个静态电流的静态功耗检测结果和包括多个动态电流的动态功耗检测结果;
上述计算单元63,具体用于:
计算待测电路和无木马电路的静态功耗检测结果的静态电流绝对差异,以及计算待测电路和无木马电路的动态功耗检测结果的动态电流绝对差异;
上述判断单元64,具体用于:
判断静态电流绝对差异是否大于第一预设阈值,并判断动态电流绝对差异是否大于第二预设阈值,若两个判断结果均为是时,则确定待测电路中存在硬件木马;若两个判断结果均为否时,则确定待测电路中不存在硬件木马。
可选地,为了更加准确地检测出硬件电路中是否存在硬件木马,上述检测装置还可以包括:
第二选取单元65,用于当所述静态电流绝对差异是否大于第一预设阈值的判断结果与所述动态电流绝对差异是否大于第二预设阈值的判断结果不一致时,重新选取另一组测试向量组,并触发所述检测单元62。
可选地,电流绝对差异为电流抖动标准差绝对值差异比。电流抖动标准差绝对值差异比的相关计算公式详见公式(11)-(16)。
以上为本申请提供了一种硬件木马的旁路检测装置实施例四。该检测装置在电流参量检测基础上,使用一组测试向量组内的多个测试向量对应的功耗检测结果进行硬件木马的旁路信号检测。该装置通过比较待测电路与无木马电路的检测结果中的电流绝对差异与预设阈值的关系,来做出待测电路中有无硬件木马的判断。该装置不需要多次迭代或通过其他方法得到最优测试向量,而是利用测试向量抖动性的差异作为判断依据,不依赖特殊测试结构,能够降低工艺波动的影响,提高检测效率,增加检测结果的可信性。
基于前述实施例提供的硬件木马旁路检测的仿真验证方法,本申请实施例还提供了一种硬件木马旁路检测的仿真验证装置。下面结合附图7对该装置的结构和功能进行详细说明。
实施例五
本申请实施例提供的硬件木马旁路检测的仿真验证装置,包括:
生成模块71,用于将待验证电路和无木马电路的RTL级电路描述分别生成第一门级网表和第二门级网表;
转换模块72,用于将第一门级网表和第二门级网表分别转换为用于集成电路性能分析的电路模拟程序能够识别的第一功耗测算文件和第二功耗测算文件;
配置模块73,用于对第一功耗测算文件和第二功耗测算文件分别配置测试向量组,测试向量组内包括多个测试向量;
运行模块74,用于将配置好测试向量组的第一功耗测算文件和第二功耗测算文件在用于集成电路性能分析的电路模拟程序中运行,得到第一功耗结果文件和第二功耗结果文件,第一功耗结果文件中包括与多个测试向量对应的多个第一电流,第二功耗结果文件中包括与多个测试向量分别对应的多个第二电流;
计算模块75,用于根据多个第一电流和多个第二电流计算待验证电路与无木马电路的电流绝对差异;
判断模块76,用于判断电流绝对差异是否大于预设阈值,如果是,得出待验证电路中存在硬件木马的验证结果,如果否,得出待验证电路不存在硬件木马的验证结果。
可选地,上述待验证电路可以为基准验证电路ISCAS-85中的C880电路,并在其中植入了8-bit比较器的组合逻辑硬件木马。
可选地,测试向量组是根据最大关键路径位置选取得到的。
可选地,测试向量组为包括多个动态测试向量的动态测试向量组。动态测试向量在选取时至少对最大路径的输入管脚和木马驱动管脚进行差异化处理。
可选地,测试向量组包括静态测试向量组和动态测试向量组,静态测试向量组内包括多个静态测试向量,动态测试向量组内包括多个动态测试向量。
以上为本申请提供了一种硬件木马旁路检测的仿真验证装置实施例五。上述仿真验证装置可以将待验证电路和无木马电路的RTL级描述最终转换成电路模拟程序能够识别的功耗测算文件,配置好测试向量组之后,将功耗测算文件在电路模拟程序中运行,根据得到的功耗结果文件可以计算待验证电路和无木马电路对向量组的电流抖动标准差,进而与预设阈值比对,做出对待验证电路中是否存在硬件木马的判断。由于该装置实现原理上不依赖特殊测试结构,能够通过设置多样化的测试向量组和选用多种工艺条件,因此可以应用该装置降低工艺波动对验证结果的影响。有效提高仿真验证的效率,并且增加仿真验证结果的可信性。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,物流管理服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (12)
1.一种硬件木马的旁路检测方法,其特征在于,包括:
选取测试向量组,所述测试向量组内包括多个测试向量;
将待测电路和无木马电路使用所述测试向量组内的各个测试向量分别进行功耗信号检测,分别得到包括多个电流分量的检测结果;
计算待测电路与无木马电路的检测结果中的电流绝对差异;
判断所述电流绝对差异是否大于预设阈值,如果是,确定所述待测电路中存在硬件木马,如果否,确定所述待测电路中不存在硬件木马。
2.根据权利要求1所述的方法,其特征在于,所述测试向量组包括静态测试向量组和动态测试向量组;
所述将待测电路和无木马电路使用所述测试向量组内的各个测试向量分别进行功耗信号检测,分别得到包括多个电流分量的检测结果,具体包括:
将待测电路和无木马电路均分别使用静态测试向量组和动态测试向量组进行静态功耗测试和动态功耗测试,均分别得到包括多个静态电流的静态功耗检测结果和包括多个动态电流的动态功耗检测结果;
所述计算待测电路与无木马电路的检测结果中的电流绝对差异,具体包括:
计算待测电路和无木马电路的静态功耗检测结果的静态电流绝对差异,以及计算待测电路和无木马电路的动态功耗检测结果的动态电流绝对差异;
所述判断所述电流绝对差异是否大于预设阈值,如果是,确定所述待测电路中存在硬件木马,如果否,确定所述待测电路中不存在硬件木马,具体包括:
判断所述静态电流绝对差异是否大于第一预设阈值,并判断所述动态电流绝对差异是否大于第二预设阈值,若两个判断结果均为是时,则确定所述待测电路中存在硬件木马;若两个判断结果均为否时,则确定所述待测电路中不存在硬件木马。
3.根据权利要求2所述的方法,其特征在于,所述判断所述静态电流绝对差异是否大于第一预设阈值,并判断所述动态电流绝对差异是否大于第二预设阈值,还包括:
若两个判断结果不一致,则重新选取另一组测试向量组,返回执行所述将待测电路和无木马电路均分别使用静态测试向量组和动态测试向量组进行静态功耗测试和动态功耗测试,均分别得到包括多个静态电流的静态功耗检测结果和包括多个动态电流的动态功耗检测结果。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述电流绝对差异为电流抖动标准差绝对值差异比。
5.一种硬件木马旁路检测的仿真验证方法,其特征在于,包括:
将待验证电路和无木马电路的RTL级电路描述分别生成第一门级网表和第二门级网表;
将所述第一门级网表和第二门级网表分别转换为用于集成电路性能分析的电路模拟程序能够识别的第一功耗测算文件和第二功耗测算文件;
对所述第一功耗测算文件和第二功耗测算文件分别配置测试向量组,所述测试向量组内包括多个测试向量;
将配置好测试向量组的第一功耗测算文件和第二功耗测算文件在所述用于集成电路性能分析的电路模拟程序中运行,得到第一功耗结果文件和第二功耗结果文件,所述第一功耗结果文件中包括与多个测试向量对应的多个第一电流,所述第二功耗结果文件中包括与多个测试向量分别对应的多个第二电流;
根据所述多个第一电流和所述多个第二电流计算待验证电路与无木马电路的电流绝对差异;
判断所述电流绝对差异是否大于预设阈值,如果是,得出所述待验证电路中存在硬件木马的验证结果,如果否,得出所述待验证电路不存在硬件木马的验证结果。
6.根据权利要求5所述的方法,其特征在于,所述待验证电路为基准验证电路ISCAS-85中的C880电路,并在其中植入了8-bit比较器的组合逻辑硬件木马。
7.根据权利要求5所述的方法,其特征在于,所述测试向量组根据最大关键路径位置选取得到。
8.根据权利要求5所述的方法,其特征在于,所述测试向量组为包括多个动态测试向量的动态测试向量组。
9.根据权利要求8所述的方法,其特征在于,所述动态测试向量在选取时至少对最大路径的输入管脚和木马驱动管脚进行差异化处理。
10.根据权利要求5所述的方法,其特征在于,所述测试向量组包括静态测试向量组和动态测试向量组,所述静态测试向量组内包括多个静态测试向量,所述动态测试向量组内包括多个动态测试向量。
11.一种硬件木马的旁路检测装置,其特征在于,包括:
第一选取单元,用于选取测试向量组,所述测试向量组内包括多个测试向量;
检测单元,用于将待测电路和无木马电路使用所述测试向量组内的各个测试向量分别进行功耗信号检测,分别得到包括多个电流分量的检测结果;
计算单元,用于计算待测电路与无木马电路的检测结果中的电流绝对差异;
判断单元,用于判断所述电流绝对差异是否大于预设阈值,如果是,确定所述待测电路中存在硬件木马,如果否,确定所述待测电路中不存在硬件木马。
12.一种硬件木马旁路检测的仿真验证装置,其特征在于,包括:
生成模块,用于将待验证电路和无木马电路的RTL级电路描述分别生成第一门级网表和第二门级网表;
转换模块,用于将所述第一门级网表和第二门级网表分别转换为用于集成电路性能分析的电路模拟程序能够识别的第一功耗测算文件和第二功耗测算文件;
配置模块,用于对所述第一功耗测算文件和第二功耗测算文件分别配置测试向量组,所述测试向量组内包括多个测试向量;
运行模块,用于将配置好测试向量组的第一功耗测算文件和第二功耗测算文件在所述用于集成电路性能分析的电路模拟程序中运行,得到第一功耗结果文件和第二功耗结果文件,所述第一功耗结果文件中包括与多个测试向量对应的多个第一电流,所述第二功耗结果文件中包括与多个测试向量分别对应的多个第二电流;
计算模块,用于根据所述多个第一电流和所述多个第二电流计算待验证电路与无木马电路的电流绝对差异;
判断模块,用于判断所述电流绝对差异是否大于预设阈值,如果是,得出所述待验证电路中存在硬件木马的验证结果,如果否,得出所述待验证电路不存在硬件木马的验证结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810253885.4A CN108333501A (zh) | 2018-03-26 | 2018-03-26 | 硬件木马的旁路检测方法和装置、仿真验证方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810253885.4A CN108333501A (zh) | 2018-03-26 | 2018-03-26 | 硬件木马的旁路检测方法和装置、仿真验证方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108333501A true CN108333501A (zh) | 2018-07-27 |
Family
ID=62932230
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810253885.4A Pending CN108333501A (zh) | 2018-03-26 | 2018-03-26 | 硬件木马的旁路检测方法和装置、仿真验证方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108333501A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109885960A (zh) * | 2019-03-05 | 2019-06-14 | 中国人民解放军32082部队 | 一种基于电磁旁路分析的嵌入式芯片硬件木马设计方法 |
CN110096879A (zh) * | 2019-04-26 | 2019-08-06 | 北京计算机技术及应用研究所 | 一种基于门级结构特征的静态硬件木马检测方法 |
CN110135161A (zh) * | 2019-05-23 | 2019-08-16 | 电子科技大学 | 一种硬件木马的在片检测方法 |
CN111159966A (zh) * | 2019-12-26 | 2020-05-15 | 普冉半导体(上海)有限公司 | 非易失性存储器验证方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103884980A (zh) * | 2014-03-13 | 2014-06-25 | 工业和信息化部电子第五研究所 | 基于电源电流的硬件木马检测方法和系统 |
-
2018
- 2018-03-26 CN CN201810253885.4A patent/CN108333501A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103884980A (zh) * | 2014-03-13 | 2014-06-25 | 工业和信息化部电子第五研究所 | 基于电源电流的硬件木马检测方法和系统 |
Non-Patent Citations (1)
Title |
---|
王林: "基于基准曲线的硬件木马检测", 《中国优秀硕士论文全文数据库 信息科技辑》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109885960A (zh) * | 2019-03-05 | 2019-06-14 | 中国人民解放军32082部队 | 一种基于电磁旁路分析的嵌入式芯片硬件木马设计方法 |
CN110096879A (zh) * | 2019-04-26 | 2019-08-06 | 北京计算机技术及应用研究所 | 一种基于门级结构特征的静态硬件木马检测方法 |
CN110135161A (zh) * | 2019-05-23 | 2019-08-16 | 电子科技大学 | 一种硬件木马的在片检测方法 |
CN111159966A (zh) * | 2019-12-26 | 2020-05-15 | 普冉半导体(上海)有限公司 | 非易失性存储器验证方法 |
CN111159966B (zh) * | 2019-12-26 | 2023-05-12 | 普冉半导体(上海)股份有限公司 | 非易失性存储器验证方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Yang et al. | A2: Analog malicious hardware | |
CN108333501A (zh) | 硬件木马的旁路检测方法和装置、仿真验证方法和装置 | |
US11144648B2 (en) | Trojan insertion tool | |
Maiti et al. | A novel microprocessor-intrinsic physical unclonable function | |
Xue et al. | Defeating untrustworthy testing parties: A novel hybrid clustering ensemble based golden models-free hardware trojan detection method | |
CN105095756A (zh) | 可移植文档格式文档的检测方法和装置 | |
Huang et al. | Trigger identification using difference-amplified controllability and dynamic transition probability for hardware trojan detection | |
Li et al. | A XGBoost based hybrid detection scheme for gate-level hardware Trojan | |
Mukherjee et al. | A comprehensive survey of physical and logic testing techniques for Hardware Trojan detection and prevention | |
Yang et al. | Exploiting the analog properties of digital circuits for malicious hardware | |
Liu et al. | A statistical test generation based on mutation analysis for improving the hardware Trojan detection | |
Xue et al. | Hardware Trojan detection by timing measurement: Theory and implementation | |
Bohl et al. | The fail-stop controller AE11 | |
Huang et al. | A hardware trojan detection and diagnosis method for gate-level netlists based on different machine learning algorithms | |
Popat et al. | Transition probabilistic approach for detection and diagnosis of Hardware Trojan in combinational circuits | |
Zhao et al. | Hardware trojan detection based on signal correlation | |
Cornell et al. | Combinational hardware Trojan detection using logic implications | |
CN110390215A (zh) | 一种基于提高激活概率的硬件木马检测方法及系统 | |
Vanhauwaert et al. | A flexible SoPC-based fault injection environment | |
Civera et al. | New techniques for efficiently assessing reliability of SOCs | |
Mondal et al. | XOR based methodology to detect hardware trojan utilizing the transition probability | |
Erb et al. | Mixed 01X-RSL-Encoding for fast and accurate ATPG with unknowns | |
Labafniya et al. | Hardware Trojan Prevention and Detection by Filling Unused Space Using Shift registers, Gate-chain and Extra Routing. | |
Rajendran et al. | Sensitivity analysis of testability parameters for secure IC design | |
CN104849648A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180727 |
|
RJ01 | Rejection of invention patent application after publication |