一种蝶形触发器物理不可克隆函数的可靠性提升方法与流程

文档序号:11286902阅读:789来源:国知局
一种蝶形触发器物理不可克隆函数的可靠性提升方法与流程

本发明属于硬件安全及集成电路技术领域,具体涉及一种蝶形触发器物理不可克隆函数的可靠性提升方法。



背景技术:

随着社会信息化发展的进一步深入,信息安全问题越来越受到人们的重视。被认为能永久存储和不被攻击者所知的密钥是传统密码学的核心,然而,很多攻击方法已经能够破解密钥,使得密钥不足以保证硬件的安全。为有效解决此安全问题,物理不可克隆函数(physicalunclonablefunction,puf)应运而生,它作为一种新型的加密原语,能更加有效地应对安全问题。puf密钥中的良好随机性来自高度对称的布置布线,即电路实现中没有系统的偏差,工艺波动才能主导puf输出。

基于sram的fpga中的布局和布线通常由eda工具自动完成(容易引入系统的偏移),所以在fpga中对称地实现puf是一件具有挑战性的事情,通过仔细的放置和手动布线去除偏差是puf实现中获得良好的响应的通用方法,而该方法非常复杂,不适合于对fpga设计没有深入了解的一般系统研究人员。本发明提出了一种自动蝶形puf实现。基于电路描述结合特殊约束,不需要手动放置和布线,大大方便了通用电路设计人员在基于sram的fpga中实现puf。

一旦用对称的布局实现了puf,则工艺波动引起的误差决定了puf输出。然而,当由环境条件引起的波动大于或接近失配时,输出可能会随时改变,即可靠性差。提高puf可靠性的传统方法是使用纠错码(ecc),而该方法显着增加了设计的复杂性和成本,更糟糕的是,纠正码可能会揭示一些重要的信息。另一种广泛使用的方法是预配置,例如,调整环形振荡器(ro)配置以选择具有相同布局ro之间频率差最大的两个,以上方法都在一定程度上增加了设计的复杂性和成本。其它的方法如识别不可靠为的方法,其在不同环境条件下进行多重响应测试,仅选择响应稳定的位,因此呈现出高可靠性,这种方法主要的问题包括:需调整操作条件以及在响应测试期间没有考虑老化效应,并且测试耗费了大量的时间,降低了效率。本发明提出了一种有效的策略,在puf实现中考虑到老化效应和环境变化两者,以确定puf单元是高度可靠的。



技术实现要素:

为了解决现有技术中存在的上述技术缺陷,本发明提供一种蝶形触发器物理不可克隆函数的可靠性提升方法,能够快速提升响应位的可靠性,从而提高puf的可靠性,以保证物理不可克隆函数能在安全领域上广泛应用。

本发明是通过以下技术方案实现的:

一种蝶形触发器物理不可克隆函数的可靠性提升方法,包括如下步骤:

初始化步骤:

利用预设的约束文件定义物理不可克隆函数生成单元在fpga上的位置,设置物理不可克隆函数的位数,在fpga上实现物理不可克隆函数生成单元,产生初始响应序列;物理不可克隆函数生成单元中设有蝶形触发器;

变量定义步骤:

定义变量n,初始化n=0;

添加负载步骤:

在蝶形触发器的一侧添加n个扇出负载,产生1次响应序列,将序列响应发生改变的物理不可克隆函数剔除;在蝶形触发器的另一侧添加n个扇出负载,产生1次响应序列,将序列响应发生改变的物理不可克隆函数剔除。

本发明相对于现有技术的有益效果在于:

1、本发明提出的可靠性提升方法,是通过在puf路径上添加扇出负载来实现puf可靠性的快速提升,极大地提高了其在安全应用方面的可靠性,使其可以广泛应用于安全相关领域。

2、本发明提出的可靠性提升方法,与传统的ecc检测方法或温度电压测试方法相比,不需要额外的硬件资源,也无需其他设备,即可在fpga上实现,且不会有泄露相关重要信息的危险,使得在硬件资源受限的认证系统上面实现高可靠的物理不可克隆函数变为现实。

3、本发明提出的可靠性提升方法,相比于传统的方法,操作简单,具有更高的提升空间,通过增加更多的扇出负载,可以提升更高的可靠性,适应更为苛刻的环境。

附图说明

图1为本发明物理不可克隆函数的可靠性提升方法的总流程图。

图2为物理不可克隆函数生成单元的结构示意图。

图3为本发明蝶形触发器物理不可克隆函数两路径延时差较大时的跳变概率;

图4为本发明蝶形触发器物理不可克隆函数两路径延时差较小时的跳变概率。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不用于限定本发明。

实施例1:

本实验在xc6vlx240t-1ffg1156fpga开发板上实现真随机数发生器,开发板系统工作频率50mhz,正常工作电压1.0v,正常工作温度25℃,软件使用ise14.3版本,用于verilog代码的书写,综合,映射,布局布线,生成bit文件。

如图1所示,本实施例提供一种一种蝶形触发器物理不可克隆函数的可靠性提升方法,包括如下步骤:

步骤s1,初始化步骤:

利用预设的约束文件定义物理不可克隆函数生成单元在fpga上的位置;设置物理不可克隆函数的位数,为举例说明,在本实施例中设置300个物理不可克隆函数;在fpga上实现物理不可克隆函数生成单元,产生初始响应序列;物理不可克隆函数生成单元中设有蝶形触发器。

本发明对物理不可克隆函数生成单元的具体结构不作特别限定,在本实施例中,给出一种物理不可克隆函数生成单元的具体结构,如图2所示,包括一个蝶形触发器、四个d触发器,两个缓冲器;其中,蝶形触发器由交叉耦合的两个与非门组成;输入信号test分别通过两路d触发器,分别经过两路缓冲器连接蝶形触发器的输入端,蝶形触发器的输出端分别连接另外两路d触发器的输入端。

为使蝶形触发器物理不可克隆函数生成单元通过利用器件制造时的工艺偏差输出随机的不可克隆的激励响应序列,所设计的物理不可克隆函数生成单元是对称布局的,即蝶形触发器中的两条路径在底层的设计是结构相同的,且对称布局等长布线,以使两条路径所对应器件之间的延迟是相同的,从而消除系统偏差,使得蝶形触发器的输出响应序列完全由芯片或器件在生产时的不可避免的工艺偏差所决定;当测试信号test上升沿到来时,由于器件在加工制造时工艺偏差的影响,两条路径的传播延迟有偏差,传输较快的一条路径输出响应序列为逻辑0,因此每条路径都会产生自己独有的输出响应。

步骤s2,变量定义步骤:

定义变量n,初始化n=0。

此处定义变量是为了方便进入循环,便于整个流程的运作。

步骤s3,添加负载步骤:

在蝶形触发器的一侧添加n个扇出负载,产生1次响应序列,将序列响应发生改变的物理不可克隆函数剔除。如图2所示,在蝶形触发器的一侧添加n个扇出负载具体是指在蝶形触发器输入端连接的一路缓冲器的输入端或输出端添加n个扇出负载。

在本实施例中,蝶形触发器响应跳变概率与触发器两边路径延时差关系如图3和图4所示,呈现正态分布形式,图中doane所指的竖直线条为实际跳变概率,阴影区域范围为可靠性受到影响的波动范围,在两条路径延时差较大时,如图3所示,doane线条距离中间跳变点较远,即使受到影响,也不足以使响应发生跳变。在两条路径延时差较小时,如图4所示,doane线条距离中间跳变点较近,稍有波动就会使得响应发生跳变。由于在蝶形触发器路径上增加负载会使路径延迟有所增加,因此构造出延迟差的波动范围,两条路径延时差较小的蝶形触发器会因此响应发生跳变,如原来某个蝶形触发器物理不可克隆y1端输出结果为1,在增加扇出负载之后y1跳变为0,反之亦然,则将这一类不稳定的物理不可克隆函数剔除。

在蝶形触发器的另一侧添加n个扇出负载,产生1次响应序列,将序列响应发生改变的物理不可克隆函数剔除。如图2所示,在蝶形触发器的另一侧添加n个扇出负载具体是指在蝶形触发器输入端连接的另一路缓冲器的输入端或输出端添加n个扇出负载。

由于延迟差的波动范围有两边,只改变其中一边的延时的话只会使跳变概率偏向一边,因此需要在另外一条路径上也进行相同的操作,将响应发生跳变的蝶形触发器剔除,以保证检测波动范围的完整性。

在本实施例中,还包括:

步骤s4,温度电压测试步骤:

提取部分物理不可克隆函数,在本实施例中,提取128个物理不可克隆函数;利用温度电压测试再次检测剔除后蝶形触发器物理不可克隆函数的可靠性,得到第n+1次检测的可靠性指数a。

为了进一步提升可靠性,在剔除了部分不可靠的蝶形触发器物理不可克隆函数之后,对剩下的部分进行温度电压测试来检测可靠性,改变温度主要利用恒温温箱进行试验测试温度范围为20℃~80℃,以10℃递增,改变电压则利用fpga开发板配套的电压调整模块进行试验,电压变化范围为0.9v~1.1v,以0.05v递增。以此来判断在经过一次筛选之后,蝶形触发器物理不可克隆函数提升可靠性方法效果如何。

在本实施例中,还包括:

步骤s5,检测步骤:

判断第n次检测的可靠性指数是否达到蝶形触发器物理不可克隆函数的性能要求,若达到,表示蝶形触发器物理不可克隆函数的可靠性得到提升完毕;若未达到,则将n=n+1,返回执行添加负载步骤。

在经过步骤s3的添加负载和筛选之后,蝶形触发器物理不可克隆函数的可靠性会有所上升,接下来判断该可靠性是否满足物理不可克隆函数可靠性要求,若不满足,则将扇出负载加1,返回步骤s3继续进行测试,直至满足物理不可克隆函数可靠性要求为止,若满足,则可靠性提升完毕。此处的物理不可克隆函数可靠性要求可以由本领域内的技术人员根据实际情况进行选择,一般情况下,可靠性要求可以设置为100%。一个蝶形触发器物理不可克隆函数会产生一位响应位。如表1所示,为实验增加扇出负载后可靠性变化表,由表可以看出,第一列为所加扇出负载数量,第二列为加入负载后将改变的物理不可克隆函数剔除后,300位中剩余的适合位数,第三列为从剩余的位中选取128位进行温度电压验证后可靠的位数,第四列为可靠性概率。对于本实施例而言,在扇出负载达到4的时候,已经将可靠性提升至100%,而且本方法还具有更高的上升空间,继续增加负载进行剔除可以适应更加恶劣的环境。

表一

本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

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