发明内容
发明目的:本发明要提供一种能够增加RO-PUF稳定性的电路,以解决上述问题。
技术方案:一种具有物理不可克隆功能的电路,包括与非门、环形振荡器和双向计数器;
所述环形振荡器是由基本反相级模块和电流饥饿反相级模块组成正偶数级的环形振荡电路,它包括三个端口;第一端口与与非门的输入端相连接,第二端口与与非门的输出端相连接,第三端口与双向计数器的输入端相连接。
所述基本反相级模块和电流饥饿反相级模块数量相等。当基本反相级模块和电流饥饿反相级模块为两组或两组以上时,所述基本反相级模块和电流饥饿反相级模块交替设置在环形电路中。第一端口和第三端口之间的反相级模块与第二端口和第三端口之间的反相级模块数量相等。
一种具有上述具有物理不可克隆功能的电路的电子装置。
一种具有物理不可克隆功能的电路,包括线性反馈移位寄存器、与非门、环形振荡器、双向计数器和三态检测器,
所述环形振荡器是由基本反相级模块和电流饥饿反相级模块组成的正偶数级环形电路;每个反相级模块包含反相器和两个多路选择器,一个多路选择器连接所述反相器的输入,另一个多路选择器连接所述反相器的输出;
所述环形振荡器包括三个端口;第一端口与与非门的输入端相连接,第二端口与与非门的输出端相连接,第三端口与双向计数器的输入端相连接;
所述双向计数器的输出端与三态检测器的输入端相连;线性反馈移位寄存器有一组与反相级模块相同数量bit的激励输出;每一bit输出激励与反相级模块中的两个多路选择器连接。
第一端口和第三端口之间的反相级模块与第二端口和第三端口之间的反相级模块数量相等。当基本反相级模块和电流饥饿反相级模块为两组以上时,所述基本反相级模块和电流饥饿反相级模块交替设置在环形电路中。
一种具有上述具有物理不可克隆功能的电路的电子装置。
上述具有物理不可克隆功能电路的实现方法,包括以下步骤:
S1、线性反馈移位寄存器产生一组Nbit的激励CA,N为正偶数;
通过激励CA对环形振荡器电路中多路选择器的控制,得到第一频率值ROA;
S2、该频率值ROA的频率从第三端口输出,输入到双向计数器中,此时双向计数器被设置为正向计数并且计数时间为T,这样双向计数器得到一数值;
S3、线性反馈移位寄存器再次产生一组Nbit的激励CB,由于线性反馈移位寄存器的特性,CB≠CA,通过激励CB对环形振荡器电路中多路选择器的控制,得到第二频率值ROB;
S4、该频率值ROB的频率从第三端口输出,输入到双向计数器中,此时双向计数器被设置为反向计数并且计数时间为T,这样双向计数器得到一数值,其值为第一频率值ROA和第一频率值ROB的频率差值Δf;
S5、Δf进入三态检测器中,三态检测器有一设定值tthreshold,若频率差值Δf>+tthreshold,则三态检测器输出10;若Δf<-tthreshold,则三态检测器输出01;若-tthreshold<Δf<+tthreshold,则三态检测器输出00。
有益效果:本发明利用电流饥饿反相级的输出频率具有正的温度特性来补偿普通震荡器由于温度变化引入的频率差,增强了RO-PUF的稳定性。
具体实施方式:
下面结合附图4至7描述本发明的结构和原理。
首先介绍相关原理:RO-PUF的稳定性取决于每个反相器的延迟。该延迟td可表述为:
C0为输出端负载总电容总和,iD是流进晶体管的平均电流。假设晶体管充电初始电流ID。充放电期间的电流不断减小。不考虑漏电流,平均电流可以表述为iD=ηID。最大电流ID为:
其中ID,W,L,COX,VGS,Vt和μ分别为沟道电流,沟道有效宽度,沟道有效长度,栅极电容,栅源电压,阈值电压和载流子迁移率。其中跟温度有关的参数为Vt和μ。根据以上公式,我们可以推导出电流的温度系数(TCC):
而Vt和μ可以表述为:
Vt(T)=Vt(T0)-σ(T-T0)
其中T0是参考温度,κ是温度变动指数值,范围为1.2~2。σ是阈值电压的温度系数,范围为0.5mV/K~3mV/K。
当温度升高时,阈值电压Vt(T)减小,从而导致饱和沟道电流ID增加。另一方面,温度升高引起载流子的迁移率μ减小,这反过来又减小了沟道电流。然而,在工作电压为超阈值区间时,迁移率降低对电流的影响强于阈值电压降低产生的影响。所以,总体上看温度升高,门延迟td增加。
另一方面,电流饥饿型反相器可以让其配置为在亚阈值区间工作,其结构如图7。此时,最大沟道电流可表示为:
其中,κB是温度无关的工艺系数,CS,Cit和COX分别是半导体,快速表面态和氧化层电容。因此,亚阈值电流的温度系数TCCsub可表述为:
因为在亚阈值状态下,阈值电压Vt(T)引起的温度变化要比载流子迁移率μ更加显著,所以TCCsub在亚阈值区域是一个负值。换句话说,反向器的延迟随着温度的升高而降低,进而增加了环形振荡器的频率。
根据以上分析,我们可以利用电流饥饿反相级的输出频率随温度升高而下降的特性来补偿基本反相器的正温度特性。
图4示出了三种环形振荡器输出的相对频率偏差随温度变化的关系。混合型RO(HybridRO)即为基本RO(BasicRO)和电流饥饿型RO(CurrentstarvedRO)的组合。从图4中可见,混合型RO具有最低的温度敏感性。
如图5所示,本发明提出了一种8级RO-PUF的CMOS实现方法。它的基本结构包括线性反馈移位寄存器、与非门、环形振荡器、双向计数器和三态检测器。
其中,环形振荡器由成对的基本反相级模块和电流饥饿反相级模块组成环形电路;每个反相级模块包含反相器和两个多路选择器,即每个基本反相级模块包括若干个基本反相器和两个多路选择器,每个电流饥饿反相级模块包括若干个电流饥饿反相级和两个多路选择器,整个环路包含正偶数个反相级。一个多路选择器连接反相器的输入,另一个多路选择器连接反相器的输出;环形振荡器电路包括三个端口;第一端口与与非门的输入端相连接,第二端口与与非门的输出端相连接,第三端口与双向计数器的输入端相连接;并且第一端口和第三端口之间的反相级模块与第二端口和第三端口之间的反相级模块数量相等。反相级模块是指基本反相级模块或电流饥饿反相级模块。
双向计数器的输出端与三态检测器的输入端相连;线性反馈移位寄存器有一组与反相级模块相同数量bit的激励输出;每一bit输出激励与反相级模块中的两个多路选择器连接。当基本反相级模块和电流饥饿反相级模块为两组或两组以上时,基本反相级模块和电流饥饿反相级模块交替设置在环形电路中,即从整体看,呈ABAB或BABA排列。第一端口和第三端口之间、第二端口和第三端口之间的模块也交替设置。
具体地,图5中的RO-PUF是由1个线性反馈移位寄存器(LFSR),1个与非门,4个基本反相级(basic stage),4个电流饥饿反相级(current starved stage),1个双向计数器(bi-directional counter)和1个三态检测器(3-state extractor)组成,每个反相级包括2个反相器。
但是这种结构仅仅是示例性的,而非限制性的,技术人员可以根据本发明已公开的内容进行修改,例如,如果在该环路中加入或减少反相级,增加或减少反相器的数量,可以构成其他不同级的RO-PUF。
线性反馈移位寄存器LFSR是一种移位寄存器,其输入是一个线性函数,即其先前的状态。图5的上部是一个8位线性反馈移位寄存器。它每个D触发器的输出可以作为PUF的输入。这样就大大减少了模块对于输入管脚的需求,进而减少了芯片面积。
PUF拥有两种反相级:基本类型(basic stage)和电流饥饿类型(current starvedstage)。这两种反相级的区别在于应用的反相器不一样,结构如图5的虚线框中模块所示。每个反相级拥有两个路径选择器MUX,分别放置在输出和输入端。这两个MUX共享相同的选择信号Ci(i=0,1...7),激励信号Ci选择每级的上部或下部路径。换句话说,该信号选择每级不同反相器。应用不同的8位激励C7C6C5C4C3C2C1C0,可以形成的不同的RO的组合。也就是最多形成28=256个不同的RO。同时,在每一集的输入端多加一个MUX,这样做可以隔离上一级输出对本集两个反相器的影响。也就是说,如果没有这个MUX,那么上一级的输出的改变会引起本级两个反相器的同时翻转,反之,只引起一个反相器的翻转。粗略计算,可以减少50%的功耗。
该RO-PUF的操作步骤:
1)LFSR产生一组8bit的激励CA,这样选择了一个ROA;
2)该ROA的频率被输出端的双向计数器测出,此时计数器里的数值为A,双向计数器被设置为正向计数,计数时间为T;
3)LFSR再次产生一组激励CB,由于LFSR的特性,CB≠CA.同时,这组激励产生另一个ROB;
4)双向计数器被设置为反向计数,计数时间也为T,这样计数器里存储的值即为ROA和ROB的频率差值Δf;
5)若Δf>+tthreshold,则三态检测器输出10;若Δf<-tthreshold,则三态检测器输出01;若-tthreshold<Δf<+tthreshold,则三态检测器输出00。tthreshold为出产时定义的一个门限值,它取决于工艺已经环境噪声。这样做可以去掉环境中随机噪声对PUF的影响。
在本发明中,线性反馈移位寄存器(LFSR)应用于激励的输入端,减少了模块对管脚的需求。另外,模块对原有的可重新配置的环形振荡器进行了改进,降低RO功耗接近50%,同时也减少了硬件数量。在输出级采用双向累加器(bi-directional counter)减少了原PUF芯片面积和功耗。同时,本发明提出的三态检测器(3-state extractor)减少了误判率。这种方法比舍弃实际输出与预期的响应之间汉明距离(hamming distance)超过阈值的RO对的方法更加优异,因为它不需要更多的RO对,也不增加了硬件数量。另外,本方法未增加硬件面积和功耗,操作简单。
总之,本发明提供了一种基于环形振荡器(RO-Ring Oscillator)的物理不可克隆功能模块。该模块大大提高了PUF的对温度的稳定性,同时在本发明中,线性反馈移位寄存器LFSR和可重新配置的环形振荡器RO的应用,降低模块功耗,同时减少了硬件数量。输出端的三态检测器减少了误判率。该PUF模块完全与CMOS工艺兼容,让电路设计者可以轻松与其他模块(例如RF电子标签)集成一起。另外,该模块还加强了现有技术的安全性。
本发明的RO-PUF可以用于多种电子装置中,例如但不限于FPGA、RFID及ASIC,以保障个人芯片防止数据窃取,它利用每个半导体器件固有的独特“指纹”,来保护其加密密钥,使得它很难被复制或进行安全微控制器的逆向工程。