CN106919764B - 基于fpga的环形振荡器物理不可克隆函数的可靠性检测方法 - Google Patents
基于fpga的环形振荡器物理不可克隆函数的可靠性检测方法 Download PDFInfo
- Publication number
- CN106919764B CN106919764B CN201710132497.6A CN201710132497A CN106919764B CN 106919764 B CN106919764 B CN 106919764B CN 201710132497 A CN201710132497 A CN 201710132497A CN 106919764 B CN106919764 B CN 106919764B
- Authority
- CN
- China
- Prior art keywords
- unclonable function
- ring oscillator
- physical unclonable
- reliability
- fpga
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 16
- 230000004044 response Effects 0.000 claims abstract description 43
- GOLXNESZZPUPJE-UHFFFAOYSA-N spiromesifen Chemical compound CC1=CC(C)=CC(C)=C1C(C(O1)=O)=C(OC(=O)CC(C)(C)C)C11CCCC1 GOLXNESZZPUPJE-UHFFFAOYSA-N 0.000 claims description 2
- 238000000034 method Methods 0.000 abstract description 14
- 230000002452 interceptive effect Effects 0.000 abstract description 3
- 230000002093 peripheral effect Effects 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 55
- 238000004519 manufacturing process Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 3
- 230000010355 oscillation Effects 0.000 description 3
- 230000007547 defect Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000032683 aging Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000005284 excitation Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/34—Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Logic Circuits (AREA)
Abstract
本发明公开了一种基于FPGA的环形振荡器物理不可克隆函数的可靠性检测方法,包括:1、利用环形振荡器物理不可克隆函数的约束文件定义其在FPGA上的位置,并仅用周围逻辑单元;2、利用汉明距离衡量所述环形振荡器物理不可克隆函数所产生响应序列的可靠性;3、利用汉明距离衡量所述环形振荡器物理不可克隆函数周围添加干扰电路后的所产生响应序列的可靠性;4、比较无干扰电路和添加干扰电路所产生响应序列的可靠性。本发明能够快速检测响应位的可靠性,从而提高PUF的可靠性,以保证物理不可克隆函数能在安全领域上广泛应用。
Description
技术领域
本发明涉及信息安全领域及集成电路领域,特别是涉及一种利用周围逻辑干扰电路检测物理不可克隆函数(PUF)可靠性的方法。
背景技术
随着社会信息化发展的进一步深入,信息安全问题越来越受到人们的重视。被认为能永久存储和不被攻击者所知的密钥是传统密码学的核心,然而,很多攻击方法已经能够破解密钥,使得密钥不足以保证硬件的安全。为有效解决此安全问题,物理不可克隆函数(Physical Unclonable Function,PUF)应运而生,它作为一种新型的加密原语,能更加有效地应对安全问题。
PUF的工作原理是通过提取集成电路在生产制造过程中由于制造工艺的不同而引入的随机差异,来实现唯一的、不可克隆的加密信息(响应)的生成。与传统的加密方法相比,PUF是从材料本身提取它固有的物理特性,而不是存储在非易失性存储器,所产生的密钥有着低成本、易挥发、不可预测和结构简单等优势,因此,在信息安全领域得到了广泛应用,如芯片加密、密钥存储、身份认证、IP核保护和ID产生等。
目前已经提出的物理不可克隆函数已有很多种,例如基于环形振荡器的物理不可克隆函数、基于SRAM的物理不可克隆函数和基于仲裁器的物理不可克隆函数。其中,基于环形振荡器的物理不可克隆函数是比较流行且易于在FPGA上实现的PUF,它是利用不同器件在制造时的工艺偏差不同来比较环形振荡器之间的振荡频率的差异来输出响应,且每个环形振荡器具有相同的结构。
当PUF满足对称布局布线实现于FPGA时,制造过程产生的工艺偏差决定了PUF的输出并且导致结果是随机的。但是,当操作环境(温度、电压和器件老化等)造成的波动大于或接近这个偏差时,工艺偏差就不能作为输出的主导因素,输出就会随着操作环境的变化而变化,由此导致了PUF输出不稳定的可靠性问题。
针对物理不可克隆函数可靠性比较低的问题,目前主要存在以下几种解决方案。例如:提高PUF可靠性传统的方法是ECC(Error Correction Codes)和预配置,所谓的预配置,比如,调整环形振荡器配置从两个具有相同布局布线的环形振荡器中选择频率差异最大的,来提高可靠性,但是这两种方法大大增加了设计的复杂性和资源开销,而且可能会泄露重要的信息。另一种广泛应用的方法是改变温度、电压等来检测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-chip Hamming distance)是指对一个单一的物理不可克隆函数重复两次输入一个特定的激励后,其产生的响应之间的距离,显然,片内汉明距离的大小反映了同一个物理不可克隆函数实体受环境因素的影响程度,也就是单个物理不可克隆函数实体的可靠性程度;可靠性可通过下式(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的可靠性。
Claims (1)
1.一种基于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执行,直到可靠性指数满足所述环形振荡器物理不可克隆函数的性能要求为止。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710132497.6A CN106919764B (zh) | 2017-03-07 | 2017-03-07 | 基于fpga的环形振荡器物理不可克隆函数的可靠性检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710132497.6A CN106919764B (zh) | 2017-03-07 | 2017-03-07 | 基于fpga的环形振荡器物理不可克隆函数的可靠性检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106919764A CN106919764A (zh) | 2017-07-04 |
CN106919764B true CN106919764B (zh) | 2020-03-17 |
Family
ID=59460764
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710132497.6A Expired - Fee Related CN106919764B (zh) | 2017-03-07 | 2017-03-07 | 基于fpga的环形振荡器物理不可克隆函数的可靠性检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106919764B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108199845B (zh) * | 2017-12-08 | 2021-07-09 | 中国电子科技集团公司第三十研究所 | 一种基于puf的轻量级认证设备及认证方法 |
US11068589B2 (en) * | 2017-12-22 | 2021-07-20 | The Boeing Company | Interference detecting ring oscillators |
CN111651796B (zh) * | 2020-07-09 | 2023-08-22 | 中国人民解放军国防科技大学 | 基于物理不可克隆函数的两级自校准测量方法及自校准减法器 |
CN111865615B (zh) * | 2020-07-30 | 2022-07-19 | 南京博芯电子技术有限公司 | 一种可靠性可检测的apuf电路及工作方法 |
CN111966329B (zh) * | 2020-08-18 | 2023-03-21 | 合肥工业大学 | 一种基于物理不可克隆函数puf的真随机数发生器 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103299576A (zh) * | 2011-01-13 | 2013-09-11 | 三菱电机株式会社 | 比特生成装置以及比特生成方法 |
CN105809065A (zh) * | 2016-03-09 | 2016-07-27 | 中国科学院计算技术研究所 | 模糊输入输出的强物理不可克隆函数 |
CN108768619A (zh) * | 2018-06-08 | 2018-11-06 | 中国电子科技集团公司第五十八研究所 | 一种基于环形振荡器的强puf电路及其工作方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050036938A1 (en) * | 2003-08-13 | 2005-02-17 | Taegwhan Hyeon | Method for synthesizing nanoparticles of metal sulfides |
US9336872B2 (en) * | 2014-03-11 | 2016-05-10 | Everspin Technologies, Inc. | Nonvolatile logic and security circuits |
US10069635B2 (en) * | 2014-09-10 | 2018-09-04 | Carnegie Mellon University | Methods and systems for achieving system-level counterfeit protection in integrated chips |
-
2017
- 2017-03-07 CN CN201710132497.6A patent/CN106919764B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103299576A (zh) * | 2011-01-13 | 2013-09-11 | 三菱电机株式会社 | 比特生成装置以及比特生成方法 |
CN105809065A (zh) * | 2016-03-09 | 2016-07-27 | 中国科学院计算技术研究所 | 模糊输入输出的强物理不可克隆函数 |
CN108768619A (zh) * | 2018-06-08 | 2018-11-06 | 中国电子科技集团公司第五十八研究所 | 一种基于环形振荡器的强puf电路及其工作方法 |
Non-Patent Citations (3)
Title |
---|
Improving PUF Security with Regression-Based Distiller;Yin C.E.etc.;《Proceedings of the 50th Annual Design Automation Conference》;20131231(第2071期);1-6 * |
IMPROVING THE QUALITY OF A PHYSICAL UNCLONABLE FUNCTION USING CONFIGURABLE RING OSCILLATORS;Abhranil Maiti etc.;《2009 International Conference on Field Programmable Logic and Applications》;20090902;703-707 * |
Improving the Quality of Ring Oscillator PUFs on FPGAs;Merli D.etc.;《Workshop on Embedded Systems Security》;20101024(第26期);1-9 * |
Also Published As
Publication number | Publication date |
---|---|
CN106919764A (zh) | 2017-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106919764B (zh) | 基于fpga的环形振荡器物理不可克隆函数的可靠性检测方法 | |
US10366253B2 (en) | Reliability enhancement methods for physically unclonable function bitstring generation | |
US10956557B2 (en) | Privacy-preserving, mutual PUF-based authentication protocol | |
CN108243007B (zh) | 使用高可靠性物理不可克隆函数生成秘密信息的系统和方法 | |
KR102080375B1 (ko) | 높은 신뢰성을 갖는 물리적 복제 방지 기능을 사용하는 비밀 키 생성 시스템 | |
US10630492B2 (en) | Device and method for testing a physically unclonable function | |
US9444618B1 (en) | Defense against attacks on ring oscillator-based physically unclonable functions | |
Batabyal et al. | Design of a ring oscillator based PUF with enhanced challenge response pair and improved reliability | |
Habib et al. | Efficient sr-latch PUF | |
Zalivaka et al. | FPGA implementation of modeling attack resistant arbiter PUF with enhanced reliability | |
US11411751B2 (en) | Correlation-based robust authentication technique using helper data only | |
US11861050B2 (en) | SR flip-flop based physical unclonable functions for hardware security | |
CN113507362B (zh) | 基于四元组比较策略的ro puf密钥生成方法 | |
Tariguliyev et al. | Reliability and security of arbiter‐based physical unclonable function circuits | |
Wang et al. | Register PUF with no power-up restrictions | |
Bin et al. | A multiple bits output ring-oscillator physical unclonable function | |
Usmani | Applications Of Physical Unclonable Functions on ASICS and FPGAs | |
Streit et al. | Design and Evaluation of a Tunable PUF Architecture for FPGAs | |
Kiran et al. | Implementing delay based physically unclonable functions on FPGA | |
Lazich et al. | Protection of sensitive security parameters in integrated circuits | |
GB2601846A (en) | Encoding | |
Habib | Design, implementation and analysis of efficient FPGA based physical unclonable functions | |
Surita et al. | Cylindrical reconvergence physical unclonable function | |
KR20200052808A (ko) | 시도 응답 방식의 물리적 복제방지 기능을 위한 집적 회로 및 이를 사용하는 방법 | |
Idriss et al. | Highly Reliable Arbiter PUF Architecture |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20200317 |
|
CF01 | Termination of patent right due to non-payment of annual fee |