基于FPGA的环形振荡器物理不可克隆函数的可靠性检测方法与流程

文档序号:12803012阅读:486来源:国知局
基于FPGA的环形振荡器物理不可克隆函数的可靠性检测方法与流程

本发明涉及信息安全领域及集成电路领域,特别是涉及一种利用周围逻辑干扰电路检测物理不可克隆函数(puf)可靠性的方法。



背景技术:

随着社会信息化发展的进一步深入,信息安全问题越来越受到人们的重视。被认为能永久存储和不被攻击者所知的密钥是传统密码学的核心,然而,很多攻击方法已经能够破解密钥,使得密钥不足以保证硬件的安全。为有效解决此安全问题,物理不可克隆函数(physicalunclonablefunction,puf)应运而生,它作为一种新型的加密原语,能更加有效地应对安全问题。

puf的工作原理是通过提取集成电路在生产制造过程中由于制造工艺的不同而引入的随机差异,来实现唯一的、不可克隆的加密信息(响应)的生成。与传统的加密方法相比,puf是从材料本身提取它固有的物理特性,而不是存储在非易失性存储器,所产生的密钥有着低成本、易挥发、不可预测和结构简单等优势,因此,在信息安全领域得到了广泛应用,如芯片加密、密钥存储、身份认证、ip核保护和id产生等。

目前已经提出的物理不可克隆函数已有很多种,例如基于环形振荡器的物理不可克隆函数、基于sram的物理不可克隆函数和基于仲裁器的物理不可克隆函数。其中,基于环形振荡器的物理不可克隆函数是比较流行且易于在fpga上实现的puf,它是利用不同器件在制造时的工艺偏差不同来比较环形振荡器之间的振荡频率的差异来输出响应,且每个环形振荡器具有相同的结构。

当puf满足对称布局布线实现于fpga时,制造过程产生的工艺偏差决定了puf的输出并且导致结果是随机的。但是,当操作环境(温度、电压和器件老化等)造成的波动大于或接近这个偏差时,工艺偏差就不能作为输出的主导因素,输出就会随着操作环境的变化而变化,由此导致了puf输出不稳定的可靠性问题。

针对物理不可克隆函数可靠性比较低的问题,目前主要存在以下几种解决方案。例如:提高puf可靠性传统的方法是ecc(errorcorrectioncodes)和预配置,所谓的预配置,比如,调整环形振荡器配置从两个具有相同布局布线的环形振荡器中选择频率差异最大的,来提高可靠性,但是这两种方法大大增加了设计的复杂性和资源开销,而且可能会泄露重要的信息。另一种广泛应用的方法是改变温度、电压等来检测puf响应的复现情况,以此选择可靠的puf,但该方法面临两个问题:一方面,需要增加额外的资源开销,包括特定的电压调节电路和温箱设备等,另一方面,把温度调整到另一个刻度需要大量的时间和精力,并且由于温度存在一定的浮动,很难把它固定在设定的温度。

综上可知,现有技术在实际使用中显然存在不便和缺陷,所以有必要加以改进。



技术实现要素:

为了克服现有技术的不足,本发明提供了一种基于fpga的环形振荡器物理不可克隆函数的可靠性检测方法,以期能够快速检测响应位的可靠性,从而提高puf的可靠性,以保证物理不可克隆函数能在安全领域上广泛应用。

本发明为达到上述目的所采用的技术方案是:

本发明一种基于fpga的环形振荡器物理不可克隆函数的可靠性检测方法的特点按如下步骤进行:

步骤1、利用环形振荡器物理不可克隆函数的约束文件定义所述环形振荡器物理不可克隆函数在fpga上的位置;再利用所述环形振荡器物理不可克隆函数的约束文件禁用所述环形振荡器物理不可克隆函数周围的逻辑单元;

步骤2、在fpga上实现所述环形振荡器物理不可克隆函数,从而产生初始响应序列;

步骤3、利用汉明距离衡量所述环形振荡器物理不可克隆函数的可靠性,得到无干扰下的可靠性指数a;

步骤4、定义变量n,并初始化n=1;

步骤5、在所述环形振荡器物理不可克隆函数周围添加n个干扰电路后,从而产生第n次响应序列;

步骤6、比较第n次响应序列和初始响应序列之间相应的响应位是否存在翻转,若存在,则将翻转的响应位去除后,利用汉明距离再次衡量所述环形振荡器物理不可克隆函数的可靠性,得到第n检测的可靠性指数an,再执行步骤7;若不存在,则保留第n次响应序列;并执行步骤8;

步骤7、比较第n检测的可靠性指数an是否等于无干扰下的可靠性指数a,若等于,则表示所述环形振荡器物理不可克隆函数的可靠性不变;否则,表示所述环形振荡器物理不可克隆函数的可靠性得到提升;

步骤8、将n+1赋值给n后,返回步骤5执行,直到可靠性指数满足所述环形振荡器物理不可克隆函数的性能要求为止。

与已有技术相比,本发明的有益结果体现在:

1、本发明提出的可靠性检测方法,是通过在puf周围添加干扰电路来实现puf可靠性的快速检测,极大地提高了其在安全应用方面的可靠性,使其可以广泛应用于安全相关领域。

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

3、本发明提出的可靠性检测方法,相对于通过电压、温度改变来提高可靠性的方法,很大程度的减少了温度和电压等额外调节设备开销,且省时省力。

附图说明

图1为现有技术中物理不可克隆函数(puf)响应生成模块;

图2为本发明可靠性检测模块的工作流程图;

图3(a)为现有技术中无干扰电路的物理不可克隆函数的汉明距离图;

图3(b)为本发明简单干扰电路后物理不可克隆函数的汉明距离图;

图3(c)为本发明复杂干扰电路后物理不可克隆函数的汉明距离图;

图3(d)为本发明频率和数量均改变后物理不可克隆函数的汉明距离图。

具体实施方式

本实施例中,一种基于fpga的环形振荡器物理不可克隆函数的可靠性检测方法是按如下步骤进行:

步骤1、利用环形振荡器物理不可克隆函数的约束文件定义环形振荡器物理不可克隆函数在fpga上的位置;再利用环形振荡器物理不可克隆函数的约束文件禁用环形振荡器物理不可克隆函数周围的逻辑单元;本实施例中,环形振荡器物理不可克隆函数的组成如图1所示,由两个环形振荡器、两个计数器和一个比较器构成;环形振荡器由一个使能与非门和四个反相器首尾相连组成一个环状,环形振荡器的输出端连接计数器的输入端,两计数器的输出端最终接入比较器;

步骤2、在fpga上实现环形振荡器物理不可克隆函数,从而产生初始响应序列;在本实施例中,为使环形振荡器物理不可克隆函数是通过利用器件制造时的工艺偏差输出随机的不可克隆的激励响应序列,所设计的物理不可克隆函数是对称布局的,即两个环形振荡器在底层的设计是结构相同的,且对称布局等长布线,以使两个环形振荡器所对应器件之间的延迟是相同的,从而消除系统偏差,使得环形振荡器的输出响应序列即所接入计数器的计数结果完全由芯片或器件在生产时的不可避免的工艺偏差所决定;当使能信号为1时,环形振荡器开始以一定的频率振荡,由于器件在加工制造时工艺偏差的影响,两条路径的传播延迟有偏差,两环形振荡器的振荡频率结果分别接到对应的计数器,最后通过比较器来比较两周期信号的振荡频率,输出响应序列为逻辑0或者逻辑1;

步骤3、利用汉明距离衡量环形振荡器物理不可克隆函数的可靠性,得到无干扰下的可靠性指数a;物理不可克隆函数的响应序列不可避免的受到噪声、测量的不确定性和外部因素的影响,而片内汉明距离(hd,intra-chiphammingdistance)是指对一个单一的物理不可克隆函数重复两次输入一个特定的激励后,其产生的响应之间的距离,显然,片内汉明距离的大小反映了同一个物理不可克隆函数实体受环境因素的影响程度,也就是单个物理不可克隆函数实体的可靠性程度;可靠性可通过下式(1)计算:

可靠性=100%-hdintra(1)

而hdintra可通过以下式(2)计算:

式(2)中,m是在不同的操作环境下从n位响应序列中提取的位数;hd(ri,r’i,t)是芯片i在正常操作环境(ri)和另一操作环境(r’i,t)下所产生响应序列的片内汉明距离;可知片内汉明距离越小,可靠性越高;本实施例中,通过改变所设计的物理不可克隆函数的环境,使得温度范围为20℃-65℃、电压为20%(核心电压为1v)浮动的环境下进行多次测量汉明距离,得到无干扰下的可靠性指数;

步骤4、定义变量n,并初始化n=1;

步骤5、在环形振荡器物理不可克隆函数周围添加n个干扰电路后,从而产生第n次响应序列;本实施例中,干扰电路布置在所述物理不可克隆函数电路周围,干扰电路由不同数量和频率的基于环形振荡器的物理不可克隆函数电路构成,每添加一次干扰电路,就会相对应的响应位序列;首先添加简单的逻辑干扰模块;然后改变逻辑干扰模块的数量,增加复杂度,布置更多的逻辑干扰模块在原有物理不可克隆函数电路的周围;最后改变逻辑干扰模块的数量和频率,最大化的检测翻转位;

步骤6、比较第n次响应序列和初始响应序列之间相应的响应位是否存在翻转,若存在,则将翻转的响应位去除后,利用汉明距离再次衡量环形振荡器物理不可克隆函数的可靠性,得到第n检测的可靠性指数an,再执行步骤7;若不存在,则保留第n次响应序列;并执行步骤8;如图2所示,为可靠性检测模块的工作流程图,通过设计一个128位的原有puf电路,并提取出相应的响应位结果;然后在原有128位puf电路周围添加不同频率和数量的干扰逻辑电路,再次提取其响应位结果,此结果和之前没有添加干扰电路的结果进行比较,即可快速有效的检测到不稳定的响应位,通过排除掉不可靠的响应位,重新设计物理不可克隆函数电路,再次通过操作环境的变化检测改进后的物理不可克隆函数电路的稳定性,从而提高了可靠性;

步骤7、比较第n检测的可靠性指数an是否等于无干扰下的可靠性指数a,若等于,则表示环形振荡器物理不可克隆函数的可靠性不变;否则,表示环形振荡器物理不可克隆函数的可靠性得到提升;

步骤8、将n+1赋值给n后,返回步骤5执行,直到可靠性指数满足环形振荡器物理不可克隆函数的性能要求为止。

由图3(a)所示,128puf的片内汉明距离的平均值是5.77%,意味着在产生的128位id平均片内汉明距离小于7.4位。图3(b)、图3(c)和图3(d)所表达的是在128puf周围添加不同复杂度的干扰逻辑,通过添加干扰逻辑来提取不同数量的不稳定的响应位,从图3(b)、图3(c)和图3(d)中可看出片内汉明距离分别是3.69%、2.30%和2.00%,可知,通过添加干扰电路可以快速检测到不稳定位,有效地提高了puf的可靠性。

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