一种基于mux环形振荡器的硬件木马检测方法

文档序号:1875694 发布日期:2021-11-23 浏览:17次 >En<

阅读说明:本技术 一种基于mux环形振荡器的硬件木马检测方法 (Hardware Trojan horse detection method based on MUX ring oscillator ) 是由 赵毅强 赵鑫宇 马浩诚 刘燕江 叶茂 于 2020-05-19 设计创作,主要内容包括:本发明公开了一种基于MUX环形振荡器的硬件木马检测方法,根据电路中少态节点的分布对电路进行划分,分别将MUX环形振荡器置入不同区域,通过采样程序对环形振荡器的输出结果进行采样,以计数值的方式显示振荡器的振荡频率。最后通过与可信模型的输出结果进行比较来达到检测硬件木马的目的。该方法在引入较小面积及功耗开销的条件下,实现了较高的检测精度。(The invention discloses a hardware Trojan horse detection method based on a MUX (multiplexer) ring oscillator, which is characterized in that a circuit is divided according to the distribution of few-state nodes in the circuit, the MUX ring oscillator is respectively arranged in different areas, the output result of the ring oscillator is sampled through a sampling program, and the oscillation frequency of the oscillator is displayed in a count value mode. And finally, the purpose of detecting the hardware Trojan horse is achieved by comparing the hardware Trojan horse with the output result of the credible model. The method realizes higher detection precision under the condition of introducing smaller area and power consumption overhead.)

一种基于MUX环形振荡器的硬件木马检测方法

技术领域

本发明属于集成电路安全性检测技术领域,尤其涉及一种基于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的环形振荡器结构,并将这种环形振荡器作为内建自检测结构应用于硬件木马检测。该结构可以与电源网络直接相连,对电压变化更加敏感。针对环形振荡器网络具有较大面积开销的情况,根据电路中低于设定阈值的少态节点分布对电路进行划分,选取适当数目的环形振荡器置于这些区域。该方法既可以更精确的检测潜在硬件木马插入处的电压变化,也对环形振荡器数目进行了优化,大大减小了面积开销。并能灵活的与其它硬件木马检测方法相配合,具有一定的实际意义和参考价值

需要说明的是,本申请中未详述的技术方案,采用公知技术。

以上所述仅是本发明的优选实施方式,应当指出的是,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

8页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种PCA与朴素贝叶斯分类融合的硬件木马检测方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类