CN113688435B - 一种基于mux环形振荡器的硬件木马检测方法 - Google Patents
一种基于mux环形振荡器的硬件木马检测方法 Download PDFInfo
- Publication number
- CN113688435B CN113688435B CN202010422874.1A CN202010422874A CN113688435B CN 113688435 B CN113688435 B CN 113688435B CN 202010422874 A CN202010422874 A CN 202010422874A CN 113688435 B CN113688435 B CN 113688435B
- Authority
- CN
- China
- Prior art keywords
- mux
- stage
- ring oscillator
- output
- hardware trojan
- 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
- ZXQYGBMAQZUVMI-GCMPRSNUSA-N gamma-cyhalothrin Chemical compound CC1(C)[C@@H](\C=C(/Cl)C(F)(F)F)[C@H]1C(=O)O[C@H](C#N)C1=CC=CC(OC=2C=CC=CC=2)=C1 ZXQYGBMAQZUVMI-GCMPRSNUSA-N 0.000 title claims abstract description 39
- 238000001514 detection method Methods 0.000 title claims abstract description 29
- 230000010355 oscillation Effects 0.000 claims abstract description 11
- 238000012360 testing method Methods 0.000 claims description 30
- 230000007306 turnover Effects 0.000 claims description 15
- 238000004519 manufacturing process Methods 0.000 claims description 9
- 230000008859 change Effects 0.000 claims description 7
- 238000003780 insertion Methods 0.000 claims description 7
- 230000037431 insertion Effects 0.000 claims description 7
- 230000000694 effects Effects 0.000 claims description 6
- 238000005070 sampling Methods 0.000 claims description 5
- 238000004364 calculation method Methods 0.000 claims description 2
- 238000000034 method Methods 0.000 abstract description 19
- 238000004458 analytical method Methods 0.000 description 7
- 238000013461 design Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000010998 test method Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 230000035945 sensitivity Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000013100 final test Methods 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000012858 packaging process Methods 0.000 description 1
- 238000011076 safety test Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
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/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/76—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 application-specific integrated circuits [ASIC] or field-programmable devices, e.g. field-programmable gate arrays [FPGA] or programmable logic devices [PLD]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Mathematical Physics (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于MUX环形振荡器的硬件木马检测方法,根据电路中少态节点的分布对电路进行划分,分别将MUX环形振荡器置入不同区域,通过采样程序对环形振荡器的输出结果进行采样,以计数值的方式显示振荡器的振荡频率。最后通过与可信模型的输出结果进行比较来达到检测硬件木马的目的。该方法在引入较小面积及功耗开销的条件下,实现了较高的检测精度。
Description
技术领域
本发明属于集成电路安全性检测技术领域,尤其涉及一种基于MUX环形振荡器的硬件木马检测方法。
背景技术
在商业全球化的今天,集成电路芯片的设计与制造逐渐趋于全球化。集成电路芯片的上市需要经历设计、制造、封装与测试四个阶段。由于集成电路产品的先进性和复杂性,同时为了更合理的利用资源和资金配置,单片集成电路的设计与制造过程由多家单位联合完成,其中不乏合资企业或者外资企业。集成电路的设计与制造过程的分离,给集成电路的安全性带来了极大的风险,例如在设计阶段大量复用第三方IP核,在制造过程中存在不可信的掩膜版,在封装过程中可能存在冗余封装等,从而导致各个阶段都存在针对硬件安全的漏洞。这些漏洞给予攻击者嵌入设备规范中未声明的功能的机会,这样的功能可能会泄露机密信息给攻击者,甚至在未来的某个特定时间使设备失效。这种恶意修改被定义为硬件木马。
硬件木马问题正严重威胁着集成电路的安全,一旦被插入硬件木马的芯片被应用于军用装备及国民经济核心领域中,都将会带来不可估量的损失。检测集成电路中是否存在硬件木马一直是一个难题,逐渐受到各个国家的关注,关于硬件木马的检测与防护技术研究正逐步开展。近年来,随着硬件木马检测技术的发展,出现了许多效果明显的检测方法。目前针对硬件木马检测的方法主要有:逆向工程分析、逻辑测试和侧信道分析。这三种方法都属于片外木马检测技术,都存在一定的局限性。其中,逆向工程分析虽然具有较高的检测精度,但成本高、过程耗时,会对电路造成不可恢复的破坏,不具备一定的普适性。逻辑测试是其中受噪声影响最小,稳定性最高的测试方法,但其测试模式生成复杂,且无法检测到不改变输出结果只改变内部电路逻辑功能的木马。侧信道分析因其检测精度高、条件限制少,成为目前较流行的一种硬件木马检测技术。然而,侧信道分析中的侧信道采集方式容易受工艺变量和各种噪声影响,会对最终的测试精度造成较大影响。为了提高检测精度,研究人员开始聚焦于片内测试方法的研究。片内测试方法通过将内建自检测模块直接植入到FPGA内部,从而实现对测试电路的实时监控,降低了噪声对测试结果的影响,大大提升了检测结果的精度。另外,自检测电路结构简单,易于设计。测试过程操作便捷,不需要借助昂贵的测试设备,为集成电路安全测试带来了很大的便利,且具有很好的普适性。
发明内容
本申请针对基于反相器的环形振荡器对较小的显式木马检测效果不明显的问题,提出了一种基于MUX环形振荡器的硬件木马检测方法。
为实现本发明的目的,本发明提供的一种基于MUX环形振荡器的硬件木马检测方法,包括以下步骤:
步骤一:计算测试电路中节点的翻转概率,依据设定电路节点的翻转概率阈值TPth,挑选出翻转概率低于TPth的电路节点,确定少态节点分布;
步骤二:根据少态节点分布,对测试电路区域进行划分,确定需要环形振荡器的个数;
步骤三:将基于MUX的环形振荡器制作成Hard Macro,根据划分好的区域对环形振荡器进行安置,完成区域性配置;
步骤四:令MUX-RO使能,通过采样程序依次对插入的每个MUX-RO输出结果进行采样;
步骤五:分析每个环形振荡器计数值的输出结果,与可信模型计数值输出结果进行比较,以确定测试电路是否包含木马,并根据不同环形振荡器与可信模型计数值输出结果偏差程度来确定硬件木马的插入位置。
其中,基于MUX的环形振荡器的结构如下:
由一级NAND和四级MUX构成,其中,NAND输出端与MUX的通道选择控制信号端相连,之后每一级MUX输出均与下一级MUX的通道选择控制信号端相连,最后一级的MUX输出端与NAND级的一个输入端相连,并将最后一级的MUX输出端作为振荡输出,NAND级输入端另一个端口是使能信号,用于控制振荡器是否开启,每一级MUX都有两个输入端,分别为VCC端和GND端,将VCC端均与电源网络相连,将GND端均与地相连,当使能端EN为1时,环形振荡器开始振荡,随着每级MUX的通道选择控制信号的变化进行VCC与GND之间的来回切换,从而实现每级输出的高低电平的翻转,从而达到振荡的效果。
与现有技术相比,本发明的有益效果为,本专利从增强环形振荡器对电压的敏感程度出发,设计了一种基于多路选择器的环形振荡器,因MUX级VCC输入端可以直接与电源网络相连,相比于传统的基于反相器的环形振荡器大大增加了对电压的敏感程度。在此基础上,为了更精确的感应电路电压变化,站在攻击者角度反向思考,根据少态节点分布对电路进行划分,将振荡器安置在不同区域,将使振荡器更精确的反映木马插入处电压变化。且该结构独立于测试电路,并不影响测试电路的正常工作。与直接在电路少态节点插入电路监控器相比,由于使用的门数目减少,大大降低了面积和功耗开销,且对测试电路影响较小。另外,通过使用采样程序可以实现对计数电路的全自动采样,与使用Chipscope对计数结果进行采样,大大减小时间投入,操作简单,具有一定的实际意义和应用价值。
附图说明
图1所示为本申请基于MUX环形振荡器的硬件木马检测方法的流程图;
图2所示为本申请基于MUX的环形振荡器结构的结构示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
以下结合附图和具体实施例对本发明作进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本专利提出一种基于MUX环形振荡器的硬件木马检测方法,设计出了一种环形振荡器结构。MUX环形振荡器由一级与非门和四级多路选择器组成振荡回路。根据电路中少态节点的分布对电路进行划分,分别将MUX环形振荡器置入不同区域,通过采样程序对环形振荡器的输出结果进行采样,以计数值的方式显示振荡器的振荡频率。最后通过与可信模型的输出结果进行比较来达到检测硬件木马的目的。该方法在引入较小面积及功耗开销的条件下,实现了较高的检测精度。
图1为基于MUX环形振荡器的硬件木马检测方法的流程图,本专利方法包括以下步骤:
步骤一:计算测试电路中节点的翻转概率。依据设定电路节点的翻转概率阈值TPth,挑选出翻转概率低于TPth的电路节点,确定少态节点分布。
步骤二:根据少态节点分布,对测试电路区域进行划分,确定需要环形振荡器的个数。
步骤三:将基于MUX的环形振荡器制作成Hard Macro,根据划分好的区域对环形振荡器进行安置,完成区域性配置。
步骤四:令MUX-RO使能,通过采样程序依次对插入的每个MUX-RO输出结果进行采样(以计数值方式)。
步骤五:分析每个环形振荡器计数值的输出结果,与可信模型(样本、电路)计数值输出结果进行比较,以确定测试电路是否包含木马。并根据不同环形振荡器与可信模型计数值输出结果偏差程度来确定硬件木马的插入位置。
图2为基于MUX的环形振荡器结构,该环形振荡器由一级NAND和四级MUX构成。其中,NAND输出端与MUX的通道选择控制信号端相连,之后每一级MUX输出均与下一级MUX的通道选择控制信号端相连,最后一级的MUX输出端与NAND级的一个输入端相连,并将最后一级的MUX输出端作为振荡输出。NAND级输入端另一个端口是使能信号,用于控制振荡器是否开启。每一级MUX都有两个输入端,分别为VCC端和GND端,将VCC端均与电源网络相连,将GND端均与地相连。当使能端EN为1时,环形振荡器开始振荡,随着每级MUX的通道选择控制信号的变化进行VCC与GND之间的来回切换,从而实现每级输出的高低电平的翻转,从而达到振荡的效果。环形振荡器的振荡频率是由NAND和MUX的总延迟所决定,假设NAND的延迟为tda,MUX的延迟为tdm。假设该环形振荡器有n级,则n级环形振荡器的频率为:
可以先忽略tda的影响主要分析tdm的影响。tdm主要由电路电压降的决定,越高的电压降则具有越高的门延迟。公式(1)所求频率也可以用公式(2)来表示(为了方便公式表示,此时假设tda=tdm):
其中,α是速度饱和指数的表达式,VDD代表门所接入电压,VTH代表了阈值电压,μg载流子迁移率,kg是门相关常数。在硬件木马插入的情况下,会引入一个电压降ΔVTROJ,从而将公式(2)改变成公式(3):
根据如上公式可以得出,如果测试电路电压发生变化,环形振荡器的振荡频率就会受到影响。因此,如果输出振荡频率发生变化,则电路中可能引入了硬件木马。
电路节点的翻转概率是衡量电路节点活性的重要参数,电路中某一节点的翻转概率越高,则该节点在测试时翻转次数就越多,就越容易被激活。无论是逻辑测试还是侧信道分析方法,当节点被激活概率提升,能促进这些方法对硬件木马的检测。如果电路中每个逻辑门的输入节点信号概率已知,就可通过计算获得该逻辑门输出节点的信号概率和翻转概率,则可以计算出整个电路中所有节点的反转概率。假设某一电路节点为逻辑值0和1的的概率分别为p0和p1,则翻转概率定义为:
TP=p0×p1 (4)
为了使硬件木马在逻辑测试过程中不易被激活,攻击者通常将硬件木马的输入端接入电路翻转概率很低的节点,这将大大增加逻辑测试的测试时间和测试成本。正是根据这一原则,我们将内建自检测结构安置在电路翻转概率较低的节点,从而更精确检测木马潜在插入处的电压变化。另外,通过将内建自测试结构制作成Hard Macro,这样可以减少工艺偏差的影响。
本申请提供了基于MUX的环形振荡器结构,并将这种环形振荡器作为内建自检测结构应用于硬件木马检测。该结构可以与电源网络直接相连,对电压变化更加敏感。针对环形振荡器网络具有较大面积开销的情况,根据电路中低于设定阈值的少态节点分布对电路进行划分,选取适当数目的环形振荡器置于这些区域。该方法既可以更精确的检测潜在硬件木马插入处的电压变化,也对环形振荡器数目进行了优化,大大减小了面积开销。并能灵活的与其它硬件木马检测方法相配合,具有一定的实际意义和参考价值
需要说明的是,本申请中未详述的技术方案,采用公知技术。
以上所述仅是本发明的优选实施方式,应当指出的是,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (2)
1.一种基于MUX环形振荡器的硬件木马检测方法,其特征在于,包括以下步骤:
步骤一:计算测试电路中节点的翻转概率,依据设定电路节点的翻转概率阈值TPth,挑选出翻转概率低于TPth的电路节点,确定少态节点分布;
步骤二:根据少态节点分布,对测试电路区域进行划分,确定需要环形振荡器的个数;
步骤三:将基于MUX的环形振荡器制作成Hard Macro,根据划分好的区域对环形振荡器进行安置,完成区域性配置;
步骤四:令MUX-RO使能,通过采样程序依次对插入的每个MUX-RO输出结果进行采样;
步骤五:分析每个环形振荡器计数值的输出结果,与可信模型计数值输出结果进行比较,以确定测试电路是否包含木马,并根据不同环形振荡器与可信模型计数值输出结果偏差程度来确定硬件木马的插入位置。
2.根据权利要求1所述的一种基于MUX环形振荡器的硬件木马检测方法,其特征在于,基于MUX的环形振荡器的结构如下:
由一级NAND和四级MUX构成,其中,NAND输出端与MUX的通道选择控制信号端相连,之后每一级MUX输出均与下一级MUX的通道选择控制信号端相连,最后一级的MUX输出端与NAND级的一个输入端相连,并将最后一级的MUX输出端作为振荡输出,NAND级输入端另一个端口是使能信号,用于控制振荡器是否开启,每一级MUX都有两个输入端,分别为VCC端和GND端,将VCC端均与电源网络相连,将GND端均与地相连,当使能端EN为1时,环形振荡器开始振荡,随着每级MUX的通道选择控制信号的变化进行VCC与GND之间的来回切换,从而实现每级输出的高低电平的翻转,从而达到振荡的效果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010422874.1A CN113688435B (zh) | 2020-05-19 | 2020-05-19 | 一种基于mux环形振荡器的硬件木马检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010422874.1A CN113688435B (zh) | 2020-05-19 | 2020-05-19 | 一种基于mux环形振荡器的硬件木马检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113688435A CN113688435A (zh) | 2021-11-23 |
CN113688435B true CN113688435B (zh) | 2024-03-08 |
Family
ID=78575737
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010422874.1A Active CN113688435B (zh) | 2020-05-19 | 2020-05-19 | 一种基于mux环形振荡器的硬件木马检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113688435B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102854454A (zh) * | 2012-08-23 | 2013-01-02 | 天津大学 | 在集成电路测试中用于缩短硬件木马的验证时间的方法 |
CN104215895A (zh) * | 2014-09-02 | 2014-12-17 | 工业和信息化部电子第五研究所 | 基于测试向量的硬件木马检测方法及系统 |
CN106778263A (zh) * | 2016-11-15 | 2017-05-31 | 天津大学 | 有效提高硬件木马激活概率的方法 |
CN110210258A (zh) * | 2019-05-10 | 2019-09-06 | 中国人民解放军国防科技大学 | 芯片网表级混淆防御硬件木马的装置、方法及检测方法 |
CN110348254A (zh) * | 2019-07-03 | 2019-10-18 | 北京工业大学 | 一种基于环形振荡器实时监测fpga硬件木马的方法 |
CN111027270A (zh) * | 2019-11-26 | 2020-04-17 | 西安电子科技大学 | 一种用于集成电路设计流程可信设计的方法及电路 |
-
2020
- 2020-05-19 CN CN202010422874.1A patent/CN113688435B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102854454A (zh) * | 2012-08-23 | 2013-01-02 | 天津大学 | 在集成电路测试中用于缩短硬件木马的验证时间的方法 |
CN104215895A (zh) * | 2014-09-02 | 2014-12-17 | 工业和信息化部电子第五研究所 | 基于测试向量的硬件木马检测方法及系统 |
CN106778263A (zh) * | 2016-11-15 | 2017-05-31 | 天津大学 | 有效提高硬件木马激活概率的方法 |
CN110210258A (zh) * | 2019-05-10 | 2019-09-06 | 中国人民解放军国防科技大学 | 芯片网表级混淆防御硬件木马的装置、方法及检测方法 |
CN110348254A (zh) * | 2019-07-03 | 2019-10-18 | 北京工业大学 | 一种基于环形振荡器实时监测fpga硬件木马的方法 |
CN111027270A (zh) * | 2019-11-26 | 2020-04-17 | 西安电子科技大学 | 一种用于集成电路设计流程可信设计的方法及电路 |
Non-Patent Citations (1)
Title |
---|
基于环形振荡器的硬件木马检测;金瓯;李磊;周婉婷;;微电子学与计算机;20181105(第11期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113688435A (zh) | 2021-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Huang et al. | MERS: statistical test generation for side-channel analysis based Trojan detection | |
Cao et al. | A cluster-based distributed active current sensing circuit for hardware Trojan detection | |
Chakraborty et al. | Hardware Trojan: Threats and emerging solutions | |
CN111027270B (zh) | 一种用于集成电路设计流程可信设计的方法及电路 | |
Cakır et al. | Hardware Trojan detection for gate-level ICs using signal correlation based clustering | |
US9081991B2 (en) | Ring oscillator based design-for-trust | |
CN111523116B (zh) | 基于机器学习的混合模式多层级的门级硬件木马检测方法 | |
CN110414277B (zh) | 基于多特征参数的门级硬件木马检测方法 | |
CN108733404B (zh) | 一种针对fpga固件的精准逆向工程方法 | |
CN106771960A (zh) | 基于环形振荡器网络的局部测试向量生成与优化方法 | |
Zarrinchian et al. | Latch-based structure: A high resolution and self-reference technique for hardware trojan detection | |
CN110598399B (zh) | 基于弱相同路径的硬件木马检测装置和方法 | |
CN110210258B (zh) | 芯片网表级混淆防御硬件木马的装置、方法及检测方法 | |
CN104615949B (zh) | 基于电源隔离的提高硬件木马检测分辨率的电路设计方法及对硬件木马的检测方法 | |
CN104635144A (zh) | 一种不依赖基准曲线的硬件木马检测方法 | |
CN104636686B (zh) | 基于门控时钟的提高硬件木马检测分辨率的电路设计方法及对硬件木马的检测方法 | |
Huang et al. | Trigger identification using difference-amplified controllability and dynamic transition probability for hardware trojan detection | |
CN116187237A (zh) | 用于芯片设计的检查方法、设备及介质 | |
Fisher | The logical inversion of the notion of the random variable | |
CN108333501A (zh) | 硬件木马的旁路检测方法和装置、仿真验证方法和装置 | |
CN110707014B (zh) | 一种测试芯片工艺角偏移的方法 | |
CN113688435B (zh) | 一种基于mux环形振荡器的硬件木马检测方法 | |
Qin et al. | Sensitivity analysis of ring oscillator based hardware Trojan detection | |
CN109858246B (zh) | 一种针对控制信号型硬件木马的分类方法 | |
CN116578978A (zh) | 针对ip软核的多维分层式硬件木马评估方法 |
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 |