变频环形振荡器PUF电路及其控制方法与流程

文档序号:19302568发布日期:2019-12-03 18:31阅读:880来源:国知局
变频环形振荡器PUF电路及其控制方法与流程

本发明涉及集成电路技术。



背景技术:

随着信息技术的飞速发展,各式各样的电子设备也快速地渗透到社会发展的各个领域。在信息技术推动社会发展的同时,随之也出现了各式各样的问题,特别是信息安全问题受到越来越多人的关注。除人们所熟知的软件层面的信息泄漏、盗号、盗版外,作为软件赖以运行的根本基础——计算硬件也面临着同样的问题,如在集成电路中植入木马,对芯片进行伪造或者通过逆向工程进行破解等。这些问题给半导体产业及相关的计算机、汽车电子、航空电子、消费电子等it行业带来了巨大的损失。例如,服务器中包含的恶意硬件木马,射频识别标签和智能设备的伪造和复制,飞机因使用伪造芯片而坠毁等信息安全事件已经引起了社会各界的广泛关注。因此,如何实现对电子设备的有效认证以及机密信息和安全信息的有效保护将是信息时代亟待完善解决的一个关键技术问题,同时也是一个严峻的社会问题。

物理不可克隆函数(physicalunclonablefunction,puf)是一种新兴的加密组件,它能够提取集成电路内门电路或连接线(导线)间由于制造工艺的不一致性而引入的随机差异,并利用这些随机差异以一定规则生成加密(响应)信号。当设备上电的时候,puf的响应信号就可以自动生成,当设备断电时响应信号自动湮灭。因而,如果将puf的响应信号作为加密密钥,此密钥无须使用存储器存储,从而改善了密钥存储的安全性。此外,puf还具有原理结构简单,功耗低,物理不可克隆,不可预测等特点,在信息安全领域具有不可估量的研究价值和广阔的应用前景。

当前比较常用的puf技术是基于硅延时特性的环形振荡器(ringoscillator,ro)puf,简称ropuf,如图1所示。

ropuf实现原理是通过比较数字振荡电路(ro)之间在制造过程中引入的随机差异来实现的,且这种随机差异是通过ro之间振荡频率的差异表现出来的。比较经典的ropuf是由suh和devadas[1]提出的一种基于比较的ropuf结构。如图1所示,ropuf由四个部分构成,包括一个ro阵列、两个l选1选择器、两个计数器和一个比较器。ro阵列由一定数量的ro构成,且每一个ro的电路结构完全相同。ro通常是一个由反相器链构成振荡环路,反相器链中包含奇数个反相器。输入的激励信号通过选择器从ro矩阵中选择一对ro连接到计数器。其中,计数器用于统计ro在一定时间间隔内的振荡次数。当计数结束后,两个计数器将各自统计的振荡次数分别输入到比较器,最后由比较器生成随机的响应比特,“0”或“1”。ropuf属于延时类puf。

这种ropuf的结构简单,在fpga和asic中都比较容易实现,但这种puf也有其缺点:由于在工作时振荡器的频率均处于不变的状态,即同一个振荡器总是以同一个频率在振荡,这就给攻击者可乘之机:攻击者通过输入大量的激励得到相应的响应,通过激励响应关系很容易得出每个振荡器频率之间的相对关系。目前公认的最合理的一种攻击方式是通过数学建模的方法,它指的是按照一定的规则对puf施加激励,然后测量相应的响应,收集足够多的数据之后分析两者的关系,建立一个精确的数学模型从而破解。

综上所述,传统ropuf的安全性不高。



技术实现要素:

本发明所要解决的技术问题是,提供一种可以通过配置改变振荡器的频率的变频环形振荡器puf电路。

本发明解决所述技术问题采用的技术方案是,变频环形振荡器puf电路,其特征在于,包括下述部分:

一个选择信号控制器,

n个振荡器,n为大于4的自然数;

第一多路选择器,每个振荡器的输出端都连接到第一多路选择器;

第二多路选择器,每个振荡器的输出端都连接到第二多路选择器;

与第一多路选择器的输出端连接的第一计数器,

与第二多路选择器的输出端连接的第二计数器,

一个比较器,其两个输入端分别与第一计数器的输出端和第二计数器的输出端连接,其输出端连接选择信号控制器;

所述振荡器包括至少两个反相器和n个可控延时模块,反相器和可控延时模块串联设置,形成一个串联子电路,串联子电路的输出端连接一个与非门的输入端,与非门的另一个输入端为振荡器的激励端,与非门的输出端连接串联子电路的输入端;

可控延时模块由一个选择器和至少两个串联的反相器构成,可控延时模块的输入端连接选择器的一个输入端,还通过串联的反相器连接选择器的第二个输入端,选择器的输出端为可控延时模块的输出端,选择器的控制端为可控延时模块的控制端。

进一步的,可控延时模块由一个两路选择器和两个串联的反相器构成。

本发明在传统环形振荡器puf上做了较大改进,主要包括3方面:第一,把固定频率环形振荡器改进成可配置频率的环形振荡器,由于环形振荡器的频率不再固定,使得攻击者很难通过数学建模的方法找到输入输出响应对的规律,难以建立其相应的数学模型,从而大大提升puf的安全性。第二,环形振荡器的选择信号由响应信息控制,由于响应信息因芯片的不同而差别很大,所以使环形震荡器的震荡频率的产生逻辑变得更加复杂,加大了攻击者建立输入输出响应数学模型的难度,提升了puf的安全性。第三,本发明中设计了一个迭代次数寄存器,控制puf最终产生响应信息需要进行多少轮迭代,进行的迭代越多,攻击者建立输入输出响应数学模型的难度就越大,所以,选取一个合适的迭代次数,可以使得攻击者不可能建立正确的数学模型,进而提升puf的安全性。

本发明所设计的变频环形震荡器puf的安全性优于传统的环形振荡器puf,可以用于对安全性要求较高的场景。

附图说明

图1为现有技术的ropuf基本结构示意图。

图2为现有技术的环形振荡器电路图。

图3为本发明提出的环形振荡器原理图。

图4为可控延时模块结构图。

图5为本发明的变频环形振荡器puf电路图。

具体实施方式

普通的环形振荡器的电路如图2所示。环形振荡器中反相器的个数决定震荡频率,反相器个数越多,震荡频率越低,反相器个数越少,震荡频率越高。对于普通环形振荡器,其反相器个数是固定的,所以其震荡频率也是固定的,这导致了puf的安全性不高,本发明基于普通环形振荡器,发明一种变频环形震荡器,该振荡器的原理图如图3所示,本发明设计的振荡器命名为cro(configurableringoscillator)。在ro中,假如ro中反相器个数比较少时,ro的振荡频率会比较高,计数器难以正确统计ro的振荡器次数,从而导致ropuf的稳定性比较差。所以,本发明设计的环形振荡器环上至少有8个反相器,保证计数器计数的稳定性。model模块如图4所示,包含两个反相器和一个2选1多路选择器,本模块有3个引脚,in、out、sel,其中sel引脚控制该模块等效成两个反相器,还是等效成一根导线。这里共需要n个选择信号:sel1~seln,通过这些选择信号的组合,来控制环形振荡器上反相器的个数,从而达到控制输出信号震荡频率的目的。

本发明的变频环形振荡器puf电路包括下述部分:

一个选择信号控制器,

n个振荡器,n为大于4的自然数,每个振荡器的控制端与选择信号控制器连接;

第一多路选择器,每个振荡器的输出端都连接到第一多路选择器;

第二多路选择器,每个振荡器的输出端都连接到第二多路选择器;

与第一多路选择器的输出端连接的第一计数器,

与第二多路选择器的输出端连接的第二计数器,

一个比较器,其两个输入端分别与第一计数器的输出端和第二计数器的输出端连接,其输出端连接选择信号控制器;

所述振荡器包括至少两个反相器和n个可控延时模块,反相器和可控延时模块串联设置,形成一个串联子电路,串联子电路的输出端连接一个与非门的输入端,与非门的另一个输入端为振荡器的激励端,与非门的输出端连接串联子电路的输入端;

可控延时模块由一个选择器和至少两个串联的反相器构成,可控延时模块的输入端连接选择器的一个输入端,还通过串联的反相器连接选择器的第二个输入端,选择器的输出端为可控延时模块的输出端,选择器的控制端为可控延时模块的控制端。

本发明包括6个部分:cro阵列、两个l选1选择器、两个计数器、一个n位的选择信号控制器、迭代次数寄存器和一个比较器。cro阵列中包括l个cro模块,该模块需要选择信号控制器对模块中的sel1~seln这n个信号进行控制。l选1选择器用来选择在当前激励下,选择哪两个cro作为比较的环形振荡器。计数器用于统计cro在一定时间间隔内的振荡次数。接下来比较器对上下两个震荡次数做比较,根据比较结果生成响应信息,然后把该信息存储在选择信号控制器中。

迭代次数寄存器通过控制逻辑电路控制连接到本发明,迭代次数寄存器中存储从第一次产生n个bit响应信息到最后一次产生n个bit响应信息。设迭代次数为t次,t为一个预设值,图5为本发明所设计puf,工作流程为:

(1)对选择信号控制器进行复位,使其n位的值都为零,设置迭代次数寄存器为t。

(2)根据激励,依次产生n位响应信息,并存储在选择信号控制器中。

(3)判断迭代次数寄存器中的值是否为0,如果为0,转到步骤4,否则,对迭代次数寄存器进行减1操作,转到步骤1。

(4)响应信息产生结束,最终的n位响应信息存储在选择信号控制器之中。

由于把响应信息作为cro振荡器中选择信号的控制信息,而cro振荡器选择位的数值决定了cro振荡器最终输出信号的震荡频率,所以同一个振荡器在产生响应的过程中可能会以几种频率震荡,攻击者哪怕得到了输入-输出响应对也根本无法知晓当前输入下振荡器处于哪种频率,从而使puf的安全性大大提高。

本发明设计了一款新型环形振荡器puf,提升了puf的安全性,可以用在对puf安全性要求比较高的芯片中。puf主要有四种应用:认证、随机预言机、可计算函数和密钥生成器。

认证是puf最基本的应用。由于puf的不可克隆、防篡改和轻量级等属性,使用puf用于认证是一种非常有用的防伪技术。所以在puf的相关应用文献中,这是最常见的形式。它的基本原理是:在注册阶段,每一个puf的一些crp连同嵌入puf的物理系统的身份一起被存储在数据库中。在认证阶段,验证者从数据库中挑选一个随机crp,然后提供给当前的系统来激励puf,如果观察到puf的响应足够接近于数据库中存储的响应,那么认证成功,否则失败。为了防止重放攻击,每个puf的每个crp只能使用一次并且必须在验证结束后从数据库中删除。

随机预言机(randomoracle)是指一个确定性的公共可访问的随机均匀分布函数,对于任意长度的输入,在输出域中均匀选择一个确定性长度的值作为询问的回答。基于puf的方法可以来提供安全性和隐私保护。它通过使用puf作为一个随机预言机来实现安全性,但是如果没有使用随机预言模型的全部属性,那么可能没有必要模拟puf作为一个随机预言机。

由于基于延迟的数字电路puf可以采用线性不等式来表示,所以它可以用来作为一个可计算函数。这意味着服务器不需要存储crp,而是直接计算出预计的响应。这就使得puf具有轻量级的优势,更适合在像rfid、传感器网络节点等资源有限的设备中使用。

使用puf作为密钥生成器主要考虑使用的是数字电路puf。因为在集成电路中,数字电路puf有很好的属性用于密钥生成和存储。通过采用适当的后处理技术,puf可用于生产一个加密强密钥,使得方案更具有安全性。

实施例:

设迭代次数寄存器配置的迭代次数为2,选择信号控制器有6位,其初始值为全零,电路中一共有16个cro。下面是电路的工作流程:

(1)首先进行第0轮迭代,用选择信号控制器中的值(此时为全零)配置每个cro。

(2)电路依次输入6次激励,设每次激励的值是0x52,0x12,0x34,0xf7,0xab,0x8d。其中0x52中的5代表第一多路选择器选择第5个cro,0x52中的2代表第二多路选择器选择第2个cro。这6次激励依次产生6个响应,假设为100110,这个6bit的值依次输入选择信号配置寄存器中。

(3)然后进行第1轮迭代,用选择信号配置寄存器中的值(此时为100110)配置每个cro。得到另外一种频率的cro。

(4)电路依次输入6次同(2)中相同的激励,值为0x52,0x12,0x34,0xf7,0xab,0x8d。由于每个cro的频率较第一轮迭代时变化了,所以产生的响应与第一轮产生的响应不同,假设响应为010011。这6bit的值依次输入选择信号配置寄存器。

(5)然后进行第2轮迭代,用选择信号配置寄存器中的值(此时为010011)配置每个cro。得到另外一种频率的cro。

(6)电路依次输入6次同(2)中相同的激励,值为0x52,0x12,0x34,0xf7,0xab,0x8d。由于每个cro的频率较前两轮迭代时变化了,所以产生的响应与前两轮产生的响应不同,假设响应为110001。这6bit的值依次输入选择信号配置寄存器。

(7)由于迭代寄存器设置的迭代次数是2,此时已经完成所以迭代,结束,最终的响应就是选择信号配置寄存器中的值,即110001。

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