0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

环形振荡器物理不可克隆函数详解

SwM2_ChinaAET 来源:互联网 作者:佚名 2017-11-01 06:50 次阅读
摘 要: 针对已提出的环形振荡器物理不可克隆函数(Ring Oscillator Physical Unclonable Functions)输出位数少和鲁棒性不足的缺点,提出了由多输出环振荡器和动态配置处理模块组成的动态可配置多输出RO PUF。多路输出环振荡器用于提高芯片资源利用率和增加输出位数。动态配置处理模块根据工作环境的变化动态调整振荡器结构,从而增强系统的鲁棒性和可靠性。实验结果表明,相比传统RO PUF和可配置RO PUF, 动态可配置多输出RO PUF展现出更高的片间汉明距离和更低的片内汉明距离,可进一步提取芯片ID的精度。

关键词: RO PUF;多输出环振荡器;动态配置处理模块;汉明距离

中图分类号: TP331

文献标识码: A

DOI:10.16157/j.issn.0258-7998.170750

中文引用格式: 刘勇聪,王建业,丁浩. 动态可配置多输出RO PUF[J].电子技术应用,2017,43(9):43-45,49.

英文引用格式: Liu Yongcong,Wang Jianye,Ding Hao. Dynamic configurable multi-output RO PUF[J].Application of Electronic Technique,2017,43(9):43-45,49.

0 引言

随着计算机技术和集成电路的飞速发展和广泛应用,芯片信息安全越来越受重视。而环形振荡器物理不可克隆函数(RO PUF)在信息安全领域作为一项非常有潜力的技术,在芯片信息安全领域备受关注[1]。传统RO PUF通过比较放置在同一芯片不同位置的一对环形振荡器的频率来生成输出0或1。由于随机的工艺偏差,输出位将因芯片的不同而变得无法预测[2]。因此,基于传统RO PUF的可配置的RO PUF被提出来。在可配置RO PUF中, 输出位通过最大频率差的配置向量生成[3],从而可以降低工艺偏差带来的影响。

然而,不论是传统RO PUF还是可配置RO PUF都存在一个相同的不足:通过比较两个环形振荡器频率的不同只能产生一位输出。为了产生更多的输出位,只能不断增加振荡器数量。虽然频率比较的方法可以提高输出位数,但是有限的芯片资源限制了可配置RO PUF的实际运用[4]

根据以上不足,本文提出了动态可配置多路输出RO PUF。不仅从根本上增加了输出位数,而且可以根据实际需求确定输出位的数量。同时,振荡器的结构随工作条件的变化而相应的改变,因此可以提高芯片的鲁棒性和安全性。

1 多输出环形振荡器

多输出环形振荡器由反相器、开关单元和路径分配器组成,路径分配器是动态可配置多路输出RO PUF的基础。多输出结构的环形振荡器如图1所示。

图1中所有开关单元都与仲裁器PUF[5]中的开关单元一致。如果在开关S[0..2]配置位是‘1’,信号将在对应的开关交叉,否则信号将平行通过。图1中由3个开关单元组成的振荡器共有8(23=8)种信号传输模式。路径分配器用以确保信号不会在振荡器上下路径之间交叉传播,以保证每条路径的稳定振荡。信号从路径分配器的输出端开始传输,通过反相器和开关单元,最后回到路径分配器的输入引脚。路径分配器根据每个信号的配置向量决定信号的流向,确保信号重新开始流动时,会沿着之前的路径流动。不同的配置向量将导致不同的信号传输模式。不同的传输模式导致不同传输延迟的线路和门电路,从而产生不同的振荡频率。

相比传统RO PUF中和可配置RO PUF振荡器只能产生一位输出,该振荡器只占一个LAB却可以产生2个输出位。除此之外,通过调整开关单元的通断和路径分配器的信号分配路径,该振荡器还可以产生更多的输出位。

图2表示一对多输出环形振荡器和4个输出位(RO1-1、RO1-2、RO2-1、RO2-2)。RO1和RO2的配置向量相同。通过逻辑锁存器,RO1-和 RO2-1具有相同的路径。所以RO1-和RO2-1(或RO1-2and RO2-2)唯一的区别就是物理工艺偏差。因此,RO1-1和 RO2-1(或RO1-2and RO2-2)频率比较结果可以作为一个输出位。

在Xilinx FPGA中进行实验,如图3所示,实验结果表明RO1-1和RO1-2在不同配置向量下的输出频率。

实验结果表明,RO1-1和RO1-2的输出频率确实存在差异。此外,随着配置向量的不同,它们的输出频率也存在差异。因此,验证了多输出振荡器结构确实能有效产生多个输出位。

RO1-1和RO2-1的频率差和RO1-2和RO2-2的频率差在不同配置向量下的实验结果如图4所示。可以看出,RO1-1和RO2-1的频率差和RO1-2和RO2-2的频率差是不相关的。因此,它们的输出不相互影响,可以看作两个独立输出位。

表1列出了不同输出位数多输出RO和传统RO的芯片资源占用情况。第二列表示不同输出位数下,一对多输出ROs用以产生不同的输出位的LAB占用数量。第三列表示传统RO产生相对应的输出位数所占用的LAB数量。可以看出,多输出RO占用的芯片资源更少。例如,128位输出需要65个两位输出ROs,占65个LAB,也可以由33个四位输出ROs产生,占99个LAB, 但如果使用传统的RO结构,则需要129年ROs,占129个LAB,所占的LAB数量是最多的。可以看出,多输出RO在芯片资源利用率上具有很大的优势。

2 动态配置过程模块

动态可配置多路输出RO PUF的总体结构如图5所示。N个两位输出的一对环形振荡器(ROs)通过比较相邻ROs的频率生成2(N-1)个输出位。传感器由五级环形振荡器构成,振荡频率与环境温度和电源电压成线性关系[6]。传感器主要用于检测芯片工作情况。为了可以根据环境情况动态调整相邻振荡器的结构,从而确保相邻的ROs保持一个相对较大的频率差,当环境温度和工作电压超过预先设定的阈值时,FSM控制器[7]启动动态配置过程从而计算出在当前环境下的“最优配置向量”。因此,环境对输出位的影响将降低,从而动态可配置多输出RO PUF鲁棒性得到提高。

“最优配置向量”不是简单的产生最大的频率差的向量。相反,它是由ROs的频率差的分布来决定。对不同配置向量下所有的ROs的正频率差进行求和。如果上一个ROs的正频率差大于下一个ROs的正频率差,表明上下两对ROs的频率差为正,选择可使正频率差最大的配置向量作为“最优配置向量”。相反,如果上一个ROs的正频率差小于下一个ROs的正频率差,选择一个对应的负频率差最大的配置向量作为“最优配置向量”,从而可以扩大上下频率差的绝对值,进而提高比较精度。

3 实验结果

对10个Xilinx Spartan XC3S1000 FPGA进行数据提取,数据通过快速单一链接(Fast Simple Link)接口传输到MicroBlaze中进行处理。每个FPGA通过65个ROs产生128位的输出。每个输出测量50次。分别对传统RO PUF、可配置RO PUF和动态可配置多输出RO PUF进行数据分析。

RO PUF的平均片间汉明距离比例[8]可以表征同一类型PUF电路与其他个体的区分度。其计算方式如式(1)。

其中hij表示第i和第j个PUF电路产生的位输出相应,k是FPGA的个数。提取数据后计算可得不同RO PUF的平均片间汉明距离比例如表2所示。

对比以上3种RO PUF对总的位数输出相应的平均片间汉明距离比例结果可以看出,3种RO PUF的平均片间汉明距离比例都接近理想的50%,动态可配置多输出RO PUF片间汉明距离比例最高。但3种RO PUF都表现出良好的唯一性。因此,3种RO PUF的输出都可以作为每个芯片ID。

片内汉明距离可以描述PUF系统的鲁棒性和可靠性,其计算如式(2)所示。

其中,M为不同工作环境的个数,hri表示在理想工作条件(25 ℃,1.2 V)下和第i种工作情况对比条件下的n位输出响应。由于鲁棒性和可靠性主要受环境温度和电源电压的影响。让所使用的Xilinx FPGA分别工作在固定工作环境下和变化的工作环境下进行参数提取,分别对其片内汉明距离进行检测。

(1)固定环境温度和电源电压情况下

在30 ℃,1.2 V接近理想工作环境下进行参数提取,不同RO PUF结构的平均片内汉明距离如表3所示。

在接近FPGA标准工作条件下,测试误差和片内噪声是影响其鲁棒性的主要因素[9]。由表可以看出,可配置RO PUF可以将该RO PUF对误差和噪声影响降至几乎0。

(2)变化的环境温度和电源电压情况下

现实条件下,芯片的工作环境温度和电源电压总是在不断的变化之中。因此,降低环境温度和电源电压对芯片ID提取的影响意义重大。表4列出环境温度从-30 ℃变化到+70 ℃,电压1.15 V变化到1.25 V时,3种RO PUF的平均片内汉明距离比例变化情况。虽然在温度变化时,动态可配置RO PUF在ID提取上没有很大优势,但是电源电压改变时,可配置多输出RO PUF在位翻转率最低,可更加精确地提取芯片ID。

4 结论

本文结合针对传统RO PUF和可配置RO PUF输出位数不足,占用芯片资源过多的现实情况,在可配置RO PUF的基础上改进,提出了动态可配置多输出RO PUF,在提高输出位数和节约芯片资源的同时,还提高了系统的唯一性和鲁棒性,进而可提高提取芯片ID的精度。对应用RO PUF进行芯片知识产权(IP核)保护意义重大。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 环形振荡器
    +关注

    关注

    1

    文章

    11

    浏览量

    8649

原文标题:【论文精选】动态可配置多输出RO PUF

文章出处:【微信号:ChinaAET,微信公众号:电子技术应用ChinaAET】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    怎样仿一个74LS00做的环形振荡器啊?

    用74ls00做的环形振荡器,仿真的时候不知道该怎么起振……新手求帮助……
    发表于 11-17 16:01

    环形振荡器的仿真

    环形振荡器的仿真
    发表于 12-16 14:04

    如何使用逆变器设计环形振荡器

    `如何使用逆变器设计环形振荡器...求大佬帮帮忙`
    发表于 06-17 12:26

    带RC电路的环形振荡器电路图

    带RC电路的环形振荡器电路图
    发表于 11-22 12:57 5345次阅读
    带RC电路的<b class='flag-5'>环形振荡器</b>电路图

    带有RC的非门环形振荡器电路

    带有RC的非门环形振荡器实验电路
    发表于 09-23 17:46 5214次阅读
    带有RC的非门<b class='flag-5'>环形振荡器</b>电路

    环形振荡器,环形振荡器工作原理是什么?

    环形振荡器,环形振荡器工作原理是什么? 环形振荡器的工作原理 环形振荡器是利用门电路的固有传输延迟时间将奇数个反相器首尾相
    发表于 03-22 14:23 2.7w次阅读

    基于CPLD的片内环形振荡器的设计方案

    本文介绍一种通用的基于CPLD的片内振荡器设计方法,它基于环形振荡器
    发表于 11-08 10:38 3118次阅读
    基于CPLD的片内<b class='flag-5'>环形振荡器</b>的设计方案

    环形振荡器设计

    环形振荡器设计的设计文件,很有实用性的文件。
    发表于 05-03 16:42 0次下载

    一种频率稳定的改进型CMOS环形振荡器

    一种频率稳定的改进型CMOS环形振荡器参考设计。
    发表于 05-06 10:25 13次下载

    一种频率稳定的改进型CMOS环形振荡器

    一种频率稳定的改进型CMOS环形振荡器,参考资料。
    发表于 05-06 10:25 0次下载

    环形振荡器介绍_反相器构成环形振荡器

    环形振荡器,是由三个非门或更多奇数个非门输出端和输入端首尾相接,构成环状的机器。
    发表于 01-12 17:27 1.8w次阅读
    <b class='flag-5'>环形振荡器</b>介绍_反相器构成<b class='flag-5'>环形振荡器</b>

    环形振荡器原理及应用_环形振荡器的实用电路

    环形振荡器,是由三个非门或更多奇数个非门输出端和输入端首尾相接,构成环状的机器。
    的头像 发表于 03-27 11:31 2.6w次阅读

    可调可重构的环形振荡器物理不可克隆函数设计

    针对环形振荡器物理不可克隆函数均匀性与独特性不够理想的冋题,提岀一种可调可重构的环形振荡器物理不可
    发表于 04-22 10:49 8次下载
    可调可重构的<b class='flag-5'>环形振荡器物理</b><b class='flag-5'>不可</b><b class='flag-5'>克隆</b><b class='flag-5'>函数</b>设计

    通过环形振荡器、555 定时器和 Arduino 进行数字方波发生器设计

    了解使用环形振荡器、基于 555 定时器的振荡器和 Arduino 生成的方波振荡器的数字方波发生器。 之前,我们介绍了 设计方波振荡器即 运算放大器(运算放大器) 和基于晶体管的模拟
    的头像 发表于 01-27 13:44 1899次阅读
    通过<b class='flag-5'>环形振荡器</b>、555 定时器和 Arduino 进行数字方波发生器设计

    基于多级反馈环形振荡器的真随机数发生器设计

    电子发烧友网站提供《基于多级反馈环形振荡器的真随机数发生器设计.pdf》资料免费下载
    发表于 09-14 14:56 0次下载
    基于多级反馈<b class='flag-5'>环形振荡器</b>的真随机数发生器设计