基于FPGAs的重配置异或门RO PUF电路及其工作方法技术

技术编号:20160933 阅读:36 留言:0更新日期:2019-01-19 00:13
本发明专利技术公开了一种基于FPGAs的重配置异或门RO PUF电路及其工作方式,属于信息安全与硬件安全领域,其包括两个RO振荡环对、四个计数器和两个比较器构成;任意一个RO振荡环对是由一个双输出与门使能信号单元与七个双输出重配置异或门延时单元构成。本发明专利技术以其极大程度减少硬件资源开销,并保证重配置异或门RO PUF电路能够在FPGA上的通用性,从而可以用于芯片ID或者密钥生成器。实验结果表明,在PUF响应位数相同的情况下,本发明专利技术提出的重配置异或门RO PUF电路资源消耗仅仅为传统7阶RO PUF电路的0.78125%。

【技术实现步骤摘要】
基于FPGAs的重配置异或门ROPUF电路及其工作方法
本专利技术涉及芯片认证、IP保护领域,具体的说是一种基于FPGAs的重配置异或门ROPUF电路及其工作方式。
技术介绍
随着社会信息化发展的不断深入,信息安全问题越来越受到人们的重视。被认为能永久存储和不被攻击者所知的密钥是传统密码学的核心,然而现有许多技术可以破解传统密钥,使得传统密钥不足以保证硬件的安全。为有效解决此安全问题,物理不可克隆函数(PhysicalUnclonableFunction,PUF)应运而生。PUF作为一种新兴的革命性硬件安全原语,能够更加有效地应对安全问题。与传统的安全技术相比,PUF输出的信息来自于随机的制造过程物理特征,而不是非易失性存储器中存储的易泄露数字位流,因此PUF技术虽然实现起来简单但却具有极高的安全性。同时,PUF的输出响应还具有优秀的不可篡改性,因为PUF的本质属性是来源于芯片制造过程中无法避免的微小延时差异,而这种微小的差异根植于深亚微米甚至是纳米级的物理结构中,任何可能的物理攻击都会对PUF的微小物理特征产生破坏从而使得其输出响应发生显著变化,使得PUF具有天然的抗侵入式以及半侵入式物理攻击的能力。在设计的PUF电路的历史进程中,以ROPUF(RingOscillatorPhysicalUnclonableFunction)最为经典。ROPUF是分别使用奇数个反相器构成若干个振荡环,在芯片中布置这些振荡环,由于工艺的原因,其振荡固有频率不同,经过两两比较得到若干位的响应输出。有研究者提出了如图6所示现有技术中传统的7阶ROPUF电路,传统的ROPUF由两个结构完全相同的RO构成。传统的7阶ROPUF在FPGA上实现时,从图6可以看出至少需要16个LUT(Look-Up-Table)才能实现,才得到一位的PUF输出响应,LUT资源消耗很大。FPGA中资源是有限的,不可占用太多的LUT资源来实现PUF电路。
技术实现思路
本专利技术是为避免上述现有技术所存在的不足之处,提供了一种基于FPGAs的重配置异或门ROPUF电路及其工作方法电路,以期极大程度减少硬件资源开销,并保证重配置异或门ROPUF电路能够在FPGA上的通用性,从而可以用于芯片ID或者密钥生成器。为了达到上述目的,本专利技术所采用的技术方案为:本专利技术一种基于FPGAs的重配置异或门ROPUF电路的特点是由两个RO振荡环对、四个计数器和两个比较器构成;任意一个RO振荡环对是由一个双输出与门使能信号单元与七个双输出重配置异或门延时单元构成;任意一个RO振荡环对中的双输出与门使能信号单元中两个与门的一个输入端相连接,并作为使能端EN,两个与门的另外一个输入端与RO振荡环对的输出端相连接;当i=1时,两个与门的输出端分别与第i个双输出重配置异或门延时单元中两个异或门的一个输入端相连接;当i∈[1,6]时,第i个双输出重配置异或门延时单元中两个异或门的另一个输入端相连接,作为第i个配置端S[i],第i个双输出重配置异或门延时单元中两个异或门的输出端分别与第i+1个双输出重配置异或门延时单元中两个异或门的一个输入端相连接;第i+1个双输出重配置异或门延时单元中两个异或门的另一个输入端相连接,作为第i+1个配置端S[i+1];当i=7时,第i个双输出重配置异或门延时单元中两个异或门的输出端作为RO振荡环对的输出端;第一RO振荡环对的输出端分别与第一计数器和第二计数器的输入端相连接;第二RO振荡环对的输出端分别与第三计数器和第四计数器的输入端相连接;所述第一计数器的输出端与第三计数器的输出端与第一比较器的输入端相连;所述第一比较器的输出端的输出作为可配置异或门ROPUF电路的一位响应输出;所述第二计数器的输出端与第四计数器的输出端与第二比较器的输入端相连;所述第二比较器的输出端的输出作为可配置异或门ROPUF电路的另一位响应输出。本专利技术所述的基于FPGAs的重配置异或门ROPUF电路的特点也在于,所述双输出与门使能信号单元是由双输出六输入查找表LUT6_2是如下步骤进行配置得到的:步骤1、设定双输出六输入查找表LUT6_2的初值为64'h000000a0_000000c0;步骤2、令所述双输出六输入查找表LUT6_2的高位输入端A[5]接高电平;步骤3、令所述双输出六输入查找表LUT6_2的低位输入端A[4]和A[3]接低电平;步骤4、令所述双输出六输入查找表LUT6_2的低位输入端A[2]作为所述使能端EN;步骤5、令所述双输出六输入查找表LUT6_2的低位输入端A[1]和A[0]作为所述双输出与门使能信号单元的两个输入端。所述第i个双输出重配置异或门延时单元是由双输出六输入查找表LUT6_2是如下步骤进行配置得到的:步骤1、设定双输出六输入查找表LUT6_2的初值为64'h0000003c_0000005a;步骤2、令所述双输出六输入查找表LUT6_2的高位输入端A[5]接高电平;步骤3、令所述双输出六输入查找表LUT6_2的低位输入端A[4]和A[3]接低电平;步骤4、令所述双输出六输入查找表LUT6_2的低位输入端A[2]作为第i个配置端S[i];步骤5、令所述双输出六输入查找表LUT6_2的低位输入端A[1]和A[0]作为所述双输出重配置异或门延时单元的两个输入端。本专利技术所述的基于FPGAs的可配置异或门ROPUF电路的工作方法的特点是按如下步骤进行:步骤1、设置振荡时间t;步骤2、令两个RO振荡环对的使能端EN=1且所述两个RO振荡环对在振荡时间t内振荡;步骤3、当振荡时间t结束时,令两个RO振荡环对的使能端EN=0;步骤4、利用第一计数器和第二计数器分别得到第一RO振荡环对的振荡频率f1和f2;步骤5、利用第三计数器和第四计数器分别得到第二RO振荡环对的振荡频率f3和f4;步骤6、利用第一比较器对第一计数器得到振荡频率f1和第三计数器得到的振荡频率f3进行比较,得到的结果作为可配置异或门ROPUF电路的一位响应输出;步骤7、利用第二比较器对第二计数器得到振荡频率f2和第四计数器得到的振荡频率f4进行比较,得到的结果作为可配置异或门ROPUF电路的另一位响应输出。与已有技术相比,本专利技术的有益效果体现在:1、本专利技术利用FPGA中双输出六输入查找表LUT6_2由两个单输出五输入查找表LUT5组成的结构以及异或门可控反向门的特点,设计的重配置异或门ROPUF电路仅占传统ROPUF电路的0.78125%,因此极大程度上降低了FPGA硬件开销。2、2、本专利技术在同一个可配置逻辑块CLB中实现一个RO振荡环对,连线不需要跨CLB,极大的提高了ROPUF电路的可靠性与安全性。3.本专利技术利用了具有可控反相器性质的异或门特性,配置配置端,相比传统的ROPUF,在生成相同输出响应位时,极大降低了硬件开销。附图说明图1是本专利技术的双输出与门使能信号单元图;图2是本专利技术的双输出重配置异或门延时单元图;图3是双输出六输入查找表LUT6_2的内部结构图;图4是本专利技术的RO振荡环对原理图;图5是本专利技术的7阶重配置异或门ROPUF电路整体示意图;图6是现有技术中传统的7阶ROPUF结构图;图7是本专利技术的RO振荡环对在CLB上实现的示意图。具体实施方式本实施例中,一种基于FPGAs本文档来自技高网
...

【技术保护点】
1.一种基于FPGAs的重配置异或门RO PUF电路,其特征是由两个RO振荡环对、四个计数器和两个比较器构成;任意一个RO振荡环对是由一个双输出与门使能信号单元与七个双输出重配置异或门延时单元构成;任意一个RO振荡环对中的双输出与门使能信号单元中两个与门的一个输入端相连接,并作为使能端EN,两个与门的另外一个输入端与RO振荡环对的输出端相连接;当i=1时,两个与门的输出端分别与第i个双输出重配置异或门延时单元中两个异或门的一个输入端相连接;当i∈[1,6]时,第i个双输出重配置异或门延时单元中两个异或门的另一个输入端相连接,作为第i个配置端S[i],第i个双输出重配置异或门延时单元中两个异或门的输出端分别与第i+1个双输出重配置异或门延时单元中两个异或门的一个输入端相连接;第i+1个双输出重配置异或门延时单元中两个异或门的另一个输入端相连接,作为第i+1个配置端S[i+1];当i=7时,第i个双输出重配置异或门延时单元中两个异或门的输出端作为RO振荡环对的输出端;第一RO振荡环对的输出端分别与第一计数器和第二计数器的输入端相连接;第二RO振荡环对的输出端分别与第三计数器和第四计数器的输入端相连接;所述第一计数器的输出端与第三计数器的输出端与第一比较器的输入端相连;所述第一比较器的输出端的输出作为可配置异或门RO PUF电路的一位响应输出;所述第二计数器的输出端与第四计数器的输出端与第二比较器的输入端相连;所述第二比较器的输出端的输出作为可配置异或门RO PUF电路的另一位响应输出。...

【技术特征摘要】
1.一种基于FPGAs的重配置异或门ROPUF电路,其特征是由两个RO振荡环对、四个计数器和两个比较器构成;任意一个RO振荡环对是由一个双输出与门使能信号单元与七个双输出重配置异或门延时单元构成;任意一个RO振荡环对中的双输出与门使能信号单元中两个与门的一个输入端相连接,并作为使能端EN,两个与门的另外一个输入端与RO振荡环对的输出端相连接;当i=1时,两个与门的输出端分别与第i个双输出重配置异或门延时单元中两个异或门的一个输入端相连接;当i∈[1,6]时,第i个双输出重配置异或门延时单元中两个异或门的另一个输入端相连接,作为第i个配置端S[i],第i个双输出重配置异或门延时单元中两个异或门的输出端分别与第i+1个双输出重配置异或门延时单元中两个异或门的一个输入端相连接;第i+1个双输出重配置异或门延时单元中两个异或门的另一个输入端相连接,作为第i+1个配置端S[i+1];当i=7时,第i个双输出重配置异或门延时单元中两个异或门的输出端作为RO振荡环对的输出端;第一RO振荡环对的输出端分别与第一计数器和第二计数器的输入端相连接;第二RO振荡环对的输出端分别与第三计数器和第四计数器的输入端相连接;所述第一计数器的输出端与第三计数器的输出端与第一比较器的输入端相连;所述第一比较器的输出端的输出作为可配置异或门ROPUF电路的一位响应输出;所述第二计数器的输出端与第四计数器的输出端与第二比较器的输入端相连;所述第二比较器的输出端的输出作为可配置异或门ROPUF电路的另一位响应输出。2.根据权利要求1所述的基于FPGAs的重配置异或门ROPUF电路,其特征是,所述双输出与门使能信号单元是由双输出六输入查找表LUT6_2是如下步骤进行配置得到的:步骤1、设定双输出六输入查找表LUT6_2的初值为64'h000000a0_000000c0;步骤2、令所述双输出六输入查找表LUT6_2的高位输入端A[5]接高电平;步骤3、令所...

【专利技术属性】
技术研发人员:鲁迎春姚亮黄正峰梁华国汪涛戚昊琛宋钛杨文华
申请(专利权)人:合肥工业大学
类型:发明
国别省市:安徽,34

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1