基于FPGA的仲裁PUF木马检测及再使用方法与流程

文档序号:20030986发布日期:2020-02-28 10:23阅读:196来源:国知局
基于FPGA的仲裁PUF木马检测及再使用方法与流程

本发明涉及仲裁puf领域,具体涉及一种基于fpga的仲裁puf木马检测及再使用方法。



背景技术:

随着现代社会信息化的发展,电子设备已经融入生活的方方面面,手机电脑成为人们平时工作娱乐的必需品。芯片作为电子设备中最为基础核心的部件,它的硬件安全就处于极其重要的地位。如今,许多的电子设备需要存储敏感信息,当电子设备使用含硬件木马的芯片极有可能造成敏感信息泄露,导致经济损失以至于更严重的隐私问题。因此,对芯片进行木马防范和木马检测是伴随着集成电路高速发展的同时所需要重视的问题。

物理不可克隆函数(puf)作为目前最新的保护电路信息安全的木马防护技术。对puf电路输入一个上升的激励信号,由于电路存在不可避免的内在物理差异从而输出会得到一个不可预测的响应。这种内在物理差异的产生是不可避免的、不可控的以及随机的,即使是设备的制造者也不能复现出这种物理差异。

物理不可克隆函数作为现在比较常用的木马防护方法,具有成本低、安全性高、功耗低的特点。puf利用芯片因工艺产生的不可克隆的物理差异,在保护电路的同时不再需要额外的存储区域和电路结构,与其他的防护技术相比成本开销更低。其次,使用puf作为密钥生成器,并不需要存储密钥信息,只在给定激励输入后才会产生响应输出,除非攻击者在响应期间发动攻击,否则无法窃取密钥信息,提高了信息的安全性。除此之外,puf本身并不具有存储单元,只在激励输入后才会工作,功耗非常低。

仲裁puf作为一种典型的强物理不可克隆函数,具有数量庞大的激励响应对。仲裁puf是利用工艺产生的物理偏差对逻辑门传输延时产生影响,所以即使给定了激励信号但电路的输出响应也是难以预测的。

对于传统的仲裁puf电路,当其被攻击者植入硬件木马后,用户虽然可以通过对比观察输出响应集合与样本集合的方法判断电路中是否存在木马,但是被检测出硬件木马的仲裁puf电路将不能够再次使用。这势必会导致资源的浪费,而且也不能保证再次搭建的仲裁puf电路就不再含硬件木马。



技术实现要素:

本发明的目的在于提供一种基于fpga的仲裁puf木马检测及再使用方法,以克服现有检测技术存在的缺陷,本发明既可以检测出电路中隐藏的硬件木马,又可以通过打开2选1选择器选择额外通路跳过硬件木马所在模块实现仲裁puf电路的再次使用。

为达到上述目的,本发明采用如下技术方案:

基于fpga的仲裁puf木马检测及再使用方法,将4n个双路选择器模块每4个分为1组,共分成n组,并在每组双路选择器模块的两个输出端口分别增加一个2选1选择器模块,所述2选1选择器模块用于实现对每组双路选择器模块的跳过作用,采用仲裁器模块比较两条对称传输路径的信号传播快慢,最后采用输出选择器模块选择输出信号;

当仲裁puf框架中存在硬件木马时,导致模块延迟与之前模块的延迟不同,从而导致相同的输入激励会产生不同的输出结果,进而发现电路中是否存在硬件木马;在发现电路中存在硬件木马的基础上,先通过改变n个2选1选择器模块的输入来选择实现工作功能的双路选择器模块组别,然后给电路输入激励信号从而得到输出响应结果,对比得到的输出结果和之前的样本结果即找到硬件木马的位置。

进一步地,双路选择器模块的传输路径由激励信号c[]控制,当激励信号c[]为0时,上下两条传输路径向前传播;但当激励信号c[]为1时,上下两条传输路径交叉传播。

进一步地,当2选1选择器模块的输入信号choose[]为0时,2选1选择器选择通过双路选择器模块的路径;当2选1选择器模块输入信号choose[]为1时,2选1选择器则选择上一个2选1选择器的输出路径。

进一步地,仲裁器模块选择d触发器,其输出端口输出q或q为输出端口的信号,为q的取反两个输出信号应用于输出选择器模块的输入端口,所述仲裁器模块用于判断两条延迟路径中传播信号的到达快慢,当输入产生一个上升信号,信号通过双路选择器模块传输到d触发器,若连接d端口处的信号到达快,则q输出高电平信号,若连接clk端口处的信号到达快,则输出高电平信号。

进一步地,输出选择器模块采用2选1选择器,输出选择器模块控制端口信号为enable,输出选择器模块输入为仲裁器模块的输出信号q与当enable为1时,输出选择为q,当enable为0时,输出选择为

与现有技术相比,本发明具有以下有益的技术效果:

本发明通过在fpga上搭建仲裁puf来实现对木马的检测以及对木马位置的确认,这不仅方便快捷且易于修改。由于fpga采用逻辑单元阵列,当逻辑单元执行相同功能后,逻辑单元之间就只具有物理差异,而仲裁puf的延迟模块是由许多串联的双路选择器组成的,因此使用fpga中的逻辑单元阵列来实现仲裁puf的双路选择器就非常的快捷方便,所以在fpga上搭建仲裁puf本身就具有一定的优势。除此之外,若烧录到fpga的仲裁puf因携带木马而影响正常工作,通过2选1选择器添加额外通路就能找到木马位置。并且可以通过选择合适的额外通路跳过含硬件木马的双路选择器模块,仍然能实现仲裁puf的正常使用。

附图说明

图1为本发明仲裁puf电路框架;

图2为双路选择器模块;

图3为输入控制双路选择器传输路径;

图4为2选1选择器模块;

图5为仲裁器模块。

具体实施方式

下面对本发明作进一步介绍:

本发明在仲裁puf的结构上增加了一些2选1选择器来选择额外通路实现对双路选择器模块的跳过作用。其次,增加的2选1选择器能改变对称路径的路径延迟,提高电路的安全性。同时在电路的输出端口增加了输出选择器,扩大了仲裁puf的输出状态空间。本发明对传统的仲裁puf电路进行了结构上的改进,以实现仲裁puf对硬件木马位置的检测以及仲裁puf的再次使用。仲裁puf作为强puf,其中双路选择器模块的个数只决定了仲裁puf的强度,并不会影响电路的输出。

通过改变不同2选1选择器的开启搭配组合来寻找电路中存在的硬件木马位置,并通过选择2选1选择器的输入信号能实现仲裁puf的正常使用。具体可以将64个双路选择器模块均分为16组,不同的双路选择器模块组别搭配可以组成不同的仲裁puf电路。

下面结合附图对本发明作进一步详细描述:

本发明提出的基于fpga的改进仲裁puf电路架构如图1。

本发明使用了64个双路选择器模块来实现对称路径的延迟对比。将64个双路选择器模块每4个分为1组,共分成16组。并在每组双路选择器模块的两个输出端口都增加了一个2选1选择器模块。2选1选择器模块实现对每组双路选择器模块的跳过作用。使用仲裁器模块来比较两条对称传输路径的信号传播快慢。在最后使用了输出选择器模块来选择输出信号,实现对输出状态空间的扩展,提高电路安全性。

本发明方法提出的电路架构由以下模块构成:双路选择器模块、2选1选择器模块、仲裁器模块、输出选择器模块。其中:

1)双路选择器模块,如图2

双路选择器模块为仲裁puf电路最为基础的模块,通过串联连接的双路选择器模块组成了仲裁puf电路的延迟传输路径。双路选择器的传输路径由c[]激励信号控制,当c[]为“0”时,上下两条传输路径向前传播;但当c[]为“1”时,上下两条传输路径交叉传播,具体传输路径如图3。

2)2选1选择器模块,如图4

2选1选择器模块实现的功能是对双路选择器模块组别的跳过作用。当2选1选择器模块的输入信号choose[]为“0”时,2选1选择器选择通过双路选择器模块的路径;当2选1选择器模块输入信号choose[]为“1”时,2选1选择器则选择上一个2选1选择器的输出路径。通过改变choose[]的值就能实现对每组双路选择器的跳过功能。

3)仲裁器模块,如图5

仲裁器模块我们选择的是d触发器,但不同之处在于我们输出端口不只是输出q,我们还输出了两个输出信号应用于输出选择器模块的输入端口。仲裁器模块的功能是判断两条延迟路径中传播信号的到达快慢。当输入产生一个上升信号,信号通过双路选择器模块传输到d触发器,若连接d端口处的信号到达快,则q输出高电平信号,若连接clk端口处的信号到达快,则输出高电平信号。

4)输出选择器模块

输出选择器模块使用了一个2选1选择器,选择器控制端口信号为enable。输出选择器模块输入为仲裁器模块的输出信号q与当enable为“1”时,输出选择为q,当enable为“0”时,输出选择为我们通过使用enable信号来控制q或输出可以扩展输出状态空间,提高电路的安全性。

当仲裁puf框架中存在硬件木马,因为硬件木马的存在导致模块延迟与之前模块的延迟不一样,从而导致相同的输入激励会产生不一样的输出结果,从而发现电路中是否存在硬件木马。

在发现电路中存在硬件木马的基础上,先通过改变16个2选1选择器模块的输入来选择实现工作功能的双路选择器模块组别。在上一步的基础上,给电路输入激励信号从而得到输出响应结果,对比得到的输出结果和之前的样本结果就可以找到硬件木马的位置。

通过开启2选1选择器模块来实现对选择器组别跳过的功能,并对各种不同组别双路选择器模块构成的仲裁puf电路的输出响应集合与样本集合进行对比,具体结果如表1所示:

表1电路输出响应结果对比

在此实验中从264个不同的输入激励信号组合中选取了其中的100个进行结果测试。所选取的100个输入信号并不是随便选择的。因为电路的延迟会受到温度、电压等环境因素的影响,所以选取的100个输入信号是具有一定环境抗性的,并不会因为温度或者电压的改变而改变输出响应结果,所以更加稳定。

从表中可以分析得到结论,跳过第4组和第11组双路选择器组别的输出响应集合与样本集合一致,而其他组合的输出响应集合与样本重合度都在90%左右,这证明了在第4组和第11组双路选择器中都存在硬件木马,其他的14组双路选择器模块中都不存在硬件木马。因此可以使用2选1选择器模块跳过第4组与第11组双路选择器模块,使用剩下的14组双路选择器模块重新构造新的仲裁puf电路。新构成的56位仲裁puf电路与之前的64位仲裁puf电路相比,只是安全性变低,但是能够继续使用,在一定程度上能减少资源的损耗。

下面具体实施例对本发明作进一步详细描述:

首先在此仲裁puf电路框架中植入了2个功能劣化型的硬件木马,植入的位置分别为第11个双路选择器模块以及第41个双路选择器模块,即第4组和第11组双路选择器组别中。我们植入电路的硬件木马只会改变它所在的双路选择器模块的延迟。通过输入相同的输入激励集合从而对得到的输出响应集合进行重合度分析。

对于仲裁puf电路框架中的64位双路选择器模块,输入激励集合共有264种输入组合。对此,我们选择了其中的100个具有环境抗性的输入组合进行实验的测试。输出选择器模块的enable端我们将它设为“1”,因为输出选择器模块是用来防范硬件木马的,但在对木马的测试中并不起作用,所以让它一直为“1”方便输出结果的统计。对于控制2选1选择器模块的16位choose信号,我们让其中的14位信号为“0”,剩下的两位则为“1”,表示同时跳过两组双路选择器模块。16位的choose信号只取两位为“1”的话共需要测试120组,最终我们能够得到120组100位的输出响应集合。通过对比输出响应集合和样本集合,我们可以得到120个重合度,经过分析重合度的结果我们就能找到硬件木马存在的位置。由上表中的重合度分析得到,除了跳过第四组与第十一组双路选择器模块的仲裁puf电路的重合度为100%,其余的重合度都在90%左右,所以我们可以得到结论第四组与第十一组双路选择器模块存在硬件木马,这与我们植入木马的位置结果相同,所以通过验证,证明本发明寻找硬件木马位置的方法准确。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1