一种可重构环形振荡器物理不可克隆函数电路及其激励生成方法转让专利

申请号 : CN202010105644.2

文献号 : CN111355589B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 韦子伟崔益军黎江陈云鹏刘伟强王成华张虎高昊张子谦徐睿马锋陈梦娴蔡怡挺池晓金戴文博

申请人 : 南京航空航天大学南瑞集团有限公司南京南瑞信息通信科技有限公司国网浙江省电力有限公司国网浙江省电力有限公司温州供电公司国家电网有限公司

摘要 :

本发明提出一种可重构环形振荡器物理不可克隆函数电路及其激励生成方法,所述可重构环形振荡器物理不可克隆函数电路,通过控制模块随机根据激励信号选取延时元件形成环形振荡器,增加了环形振荡器构成的灵活性和随机性,提高了PUF响应的不可预测性,能够增加攻击者通过机器学习建模攻击的难度;而激励生成方法,能够充分避免同一激励被使用多次,进一步提高PUF响应的不可预测性,提高PUF安全性的效果。

权利要求 :

1.一种可重构环形振荡器物理不可克隆函数电路,其特征在于,包括:控制模块、第一环形振荡器产生单元、第二环形振荡器产生单元、第一计数器、第二计数器和比较器;其中,控制模块产生使能信号和能够形成有效震荡的激励信号并发送给第一、第二环形振荡器产生单元,以及产生计数器的定时控制信号发送给第一、第二计数器;

第一、第二环形振荡器产生单元结构相同,均包括一个二输入与门和一个n×m的延时元件阵列,所述延时元件为反相器;第一、第二环形振荡器产生单元接收激励信号产生模块产生的激励信号,根据激励信号从相应的延时元件阵列的每一列中选取一个延时元件,每个环形振荡器产生单元选出的n个延时元件与对应的二输入与门连接,构成环形震荡器电路;环形震荡器电路中,n个延时元件串联为延时链路,延时链路的输入端连接相应的二输入与门的输出端,延时链路的输出端连接相应的二输入与门的一个输入端,二输入与门的另一个输入端连接控制模块的使能信号输出端;

第一环形振荡器产生单元产生的第一环形振荡器产生第一振荡信号,第一计数器统计第一震荡信号的震荡次数,将统计结果发送给比较器;

第二环形振荡器产生单元产生的第二环形振荡器产生第二振荡信号,第二计数器统计第二震荡信号的震荡次数,将统计结果发送给比较器;

比较器对第一、第二震荡信号的震荡次数进行比较,得到的比特序列即为响应信号。

2.一种如权利要求1所述的可重构环形振荡器物理不可克隆函数电路的激励生成方法,其特征在于,包括步骤:(1)构建环形震荡器延迟元件的状态矩阵S,S为n×m阶矩阵;记第一环形振荡器产生单元的延时元件阵列中第p行第q列的延时元件为 第二环形振荡器产生单元的延时元件阵列中第p行第q列的延时元件为 若 的延迟大于 的延迟,则S(p,q)=1,否则,S(p,q)=0;

(2)为第一、第二环形振荡器产生单元构建所有可能的激励矩阵C,并将所有激励矩阵归于集合CH;激励矩阵C为n×m阶矩阵,C(p,q)表示对第一、第二环形振荡器产生单元的延时元件阵列中第p行第q列的延时元件的选取策略,C(p,q)=1表示选取相应延时元件,C(p,q)=0表示不选取相应延时元件,激励矩阵C中的每一列仅有一个元素为1,其他元素为0;

(3)生成第1次激励矩阵:

从集合CH中随机选取激励矩阵C,计算S×C,得到的结果记为矩阵a;将a的非零元素相乘,得到的乘积记为Rt或Lt,R表示右偏移因子,L表示左偏移因子,R×L=1;设置判决条件为t<k,和k为预设的阈值;判断选出的激励矩阵C是否满足判决条件,若不满足,则重新选取,直至选取到满足判决条件的激励矩阵C;

用选取的激励矩阵C产生响应,若本次响应中第一振荡信号的震荡次数大于第二振荡信号的震荡次数,表示本次激励矩阵所选取的延迟元件的延迟差分布右偏,则更新S=S×C×R;若本次响应中第一振荡信号的震荡次数小于第二振荡信号的震荡次数,表示本次激励矩阵所选取的延迟元件的延迟差分布左偏,则更新S=S×C×L;

更新CH=CH-C;

(4)生成第N次激励矩阵,N≥2,生成的方法为:

从更新后的集合CH中再次随机选取激励矩阵C,计算S×C=a,将a的非零元素相乘,判断乘积是否满足判决条件,若不满足,则重新选取,直至选取到满足判决条件的激励矩阵C;

用选取的激励矩阵C产生响应,若本次响应中第一振荡信号的震荡次数大于第二振荡信号的震荡次数,更新S=S×C×R,然后将上一次激励矩阵选取而本次激励矩阵没有选取的延迟元件列出,对这些延迟元件在S所对应的元素乘以 α表示本次激励矩阵和上一次激励矩阵都选取了的延时元件的个数,β表示上一次激励矩阵选取而本次激励矩阵没有选取的延迟元件的个数;

若本次响应中第一振荡信号的震荡次数小于第二振荡信号的震荡次数,更新S=S×C×L,然后将上一次激励矩阵选取而本次激励矩阵没有选取的延迟元件列出,对这些延迟元件在S所对应的元素乘以更新CH=CH-C;

(5)重复执行步骤(4),直至集合CH为空或找不到满足判决条件的激励矩阵C。

说明书 :

一种可重构环形振荡器物理不可克隆函数电路及其激励生成

方法

技术领域

[0001] 本发明涉及可重构环形振荡器物理不可克隆函数电路,尤其是一种可重构环形振荡器物理不可克隆函数电路及其激励生成方法。

背景技术

[0002] 物联网通过远程医疗、自动驾驶汽车、智能家居等方式彻底改变了我们的生活。然而,它也带来了安全和隐私问题,因为它为犯罪黑客提供了新的攻击载体。物联网预计将对广泛的市场产生重大影响,从可穿戴医疗设备到智能汽车的嵌入式系统,其中许多将由计算和功耗有限的设备支撑。传统的基于复杂密码算法的安全方法通常资源过于密集,无法在这些资源受限的设备上实现。物理不可克隆函数(PUF)是一种安全原语,它利用了制造过程中存在的固有过程差异,来生成设备本身固有的唯一数字指纹。由于这些设备之间的这种自然差异超出了制造商的控制范围,因此它们天生就难以克隆,因此,PUF可能是提高物联网设备安全性的一个非常有前途的候选方案。
[0003] PUF分为两类,分别为基于延时的PUF,例如仲裁器PUF(A PUF)、环形振荡器PUF(RO PUF)和可重构环形振荡器PUF(CRO PUF)等;以及基于存储器的PUF,例如SRAM PUF等。利用PUF电路制造工艺引入的随机误差,对于输入的激励,其响应是无法预测的。但是在一定情况下,如果攻击者知道了一定数量的激励响应对(CRPs),那么就有可能会对PUFs进行机器学习建模攻击,从而对于一定的激励预测其响应,破坏PUF的安全性。

发明内容

[0004] 发明目的:为克服现有技术的缺陷,本发明提出一种可重构环形振荡器物理不可克隆函数电路,包括:控制模块、第一环形振荡器产生单元、第二环形振荡器产生单元、第一计数器、第二计数器和比较器;其中,
[0005] 控制模块产生使能信号和能够形成有效震荡的激励信号并发送给第一、第二环形振荡器产生单元,以及产生计数器的定时控制信号发送给第一、第二计数器;
[0006] 第一、第二环形振荡器产生单元结构相同,均包括一个二输入与门和一个n×m的延时元件阵列;第一、第二环形振荡器产生单元接收激励信号产生模块产生的激励信号,根据激励信号从相应的延时元件阵列的每一列中选取一个延时元件,每个环形振荡器产生单元选出的n个延时元件与对应的二输入与门连接,构成环形震荡器电路;环形震荡器电路中,n个延时元件串联为延时链路,延时链路的输入端连接相应的二输入与门的输出端,延时链路的输出端连接相应的二输入与门的一个输入端,二输入与门的另一个输入端连接控制模块的使能信号输出端;
[0007] 第一环形振荡器产生单元产生的第一环形振荡器产生第一振荡信号,第一计数器统计第一震荡信号的震荡次数,将统计结果发送给比较器;
[0008] 第二环形振荡器产生单元产生的第二环形振荡器产生第二振荡信号,第二计数器统计第二震荡信号的震荡次数,将统计结果发送给比较器;
[0009] 比较器对第一、第二震荡信号的震荡次数进行比较,得到的比特序列即为响应信号。
[0010] 本发明还提出所述可重构环形振荡器物理不可克隆函数电路的激励生成方法,包括步骤:
[0011] (1)构建环形震荡器延迟元件的状态矩阵S,S为n×m阶矩阵;记第一环形振荡器产生单元的延时元件阵列中第p行第q列的延时元件为 第二环形振荡器产生单元的延时元件阵列中第p行第q列的延时元件为 若 的延迟大于 的延迟,则S(p,q)=1,否则,S(p,q)=0;
[0012] (2)为第一、第二环形振荡器产生单元构建所有可能的激励矩阵C,并将所有激励矩阵归于集合CH;激励矩阵C为n×m阶矩阵,C(p,q)表示对第一、第二环形振荡器产生单元的延时元件阵列中第p行第q列的延时元件的选取策略,C(p,q)=1表示选取相应延时元件,C(p,q)=0表示不选取相应延时元件,激励矩阵C中的每一列仅有一个元素为1,其他元素为0;
[0013] (3)生成第1次激励矩阵:
[0014] 从集合CH中随机选取激励矩阵C,计算S×C,得到的结果记为矩阵a;将a的非零元素相乘,得到的乘积记为Rt或Lt,R表示右偏移因子,L表示左偏移因子,R×L=1;设置判决条件为t<k,k为预设的阈值;判断选出的激励矩阵C是否满足判决条件,若不满足,则重新选取,直至选取到满足判决条件的激励矩阵C;
[0015] 用选取的激励矩阵C产生响应,若本次响应中第一振荡信号的震荡次数大于第二振荡信号的震荡次数,表示本次激励矩阵所选取的延迟元件的延迟差分布右偏,则更新S=S×C×R;若本次响应中第一振荡信号的震荡次数小于第二振荡信号的震荡次数,表示本次激励矩阵所选取的延迟元件的延迟差分布左偏,则更新S=S×C×L;
[0016] 更新CH=CH-C;
[0017] (4)生成第N次激励矩阵,N≥2,生成的方法为:
[0018] 从更新后的集合CH中再次随机选取激励矩阵C,计算S×C=a,将a的非零元素相乘,判断乘积是否满足判决条件,若不满足,则重新选取,直至选取到满足判决条件的激励矩阵C;
[0019] 用选取的激励矩阵C产生响应,若本次响应中第一振荡信号的震荡次数大于第二振荡信号的震荡次数,更新S=S×C×R,然后将上一次激励矩阵选取而本次激励矩阵没有选取的延迟元件列出,对这些延迟元件在S所对应的元素乘以 α表示本次激励矩阵和上一次激励矩阵都选取了的延时元件的个数,β表示上一次激励矩阵选取而本次激励矩阵没有选取的延迟元件的个数;
[0020] 若本次响应中第一振荡信号的震荡次数小于第二振荡信号的震荡次数,更新S=S×C×L,然后将上一次激励矩阵选取而本次激励矩阵没有选取的延迟元件列出,对这些延迟元件在S所对应的元素乘以
[0021] 更新CH=CH-C;
[0022] (5)重复执行步骤(4),直至集合CH为空或找不到满足判决条件的激励矩阵C。
[0023] 技术方案:为实现上述目的,本发明提出的技术方案为:
[0024] 有益效果:与现有技术相比,本发明具有以下优势:
[0025] 1、本发明提出的可重构环形振荡器物理不可克隆函数电路,通过控制模块随机根据激励信号选取延时元件形成环形振荡器,增加了环形振荡器构成的灵活性和随机性,提高了PUF响应的不可预测性,能够增加攻击者通过机器学习建模攻击的难度;
[0026] 2、本发明在可重构环形振荡器物理不可克隆函数电路的基础上提出了特殊的激励生成方法,能够充分避免同一激励被使用多次,进一步提高PUF响应的不可预测性,提高PUF安全性的效果。

附图说明

[0027] 图1为本发明所述可重构环形振荡器物理不可克隆函数电路的结构图。

具体实施方式

[0028] 下面结合附图对本发明作更进一步的说明。
[0029] 图1为本发明所述可重构环形振荡器物理不可克隆函数电路的结构图,包括:控制模块、第一环形振荡器产生单元、第二环形振荡器产生单元、第一计数器、第二计数器和比较器;其中,
[0030] 控制模块产生使能信号和能够形成有效震荡的激励信号并发送给第一、第二环形振荡器产生单元,以及产生计数器的定时控制信号发送给第一、第二计数器;
[0031] 第一、第二环形振荡器产生单元结构相同,均包括一个二输入与门和一个n×m的延时元件阵列;第一、第二环形振荡器产生单元接收激励信号产生模块产生的激励信号,根据激励信号从相应的延时元件阵列的每一列中选取一个延时元件,每个环形振荡器产生单元选出的n个延时元件与对应的二输入与门连接,构成环形震荡器电路;环形震荡器电路中,n个延时元件串联为延时链路,延时链路的输入端连接相应的二输入与门的输出端,延时链路的输出端连接相应的二输入与门的一个输入端,二输入与门的另一个输入端连接控制模块的使能信号输出端;
[0032] 第一环形振荡器产生单元产生的第一环形振荡器产生第一振荡信号,第一计数器统计第一震荡信号的震荡次数,将统计结果发送给比较器;
[0033] 第二环形振荡器产生单元产生的第二环形振荡器产生第二振荡信号,第二计数器统计第二震荡信号的震荡次数,将统计结果发送给比较器;
[0034] 比较器对第一、第二震荡信号的震荡次数进行比较,得到的比特序列即为响应信号。
[0035] 在上述可重构环形振荡器物理不可克隆函数电路中,延时元件选用反相器实现。
[0036] 所述可重构环形振荡器物理不可克隆函数电路
[0037] 所述可重构环形振荡器物理不可克隆函数电路通过控制模块随机根据激励信号选取延时元件形成环形振荡器,增加了环形振荡器构成的灵活性和随机性,提高了PUF响应的不可预测性,能够增加攻击者通过机器学习建模攻击的难度,实现提高CRO PUF安全性的技术效果。
[0038] 为进一步增强CRO PUF的安全性,本发明在所述可重构环形振荡器物理不可克隆函数电路的基础上,还提出一种激励生成方法,包括步骤:
[0039] (1)构建环形震荡器延迟元件的状态矩阵S,S为n×m阶矩阵;记第一环形振荡器产生单元的延时元件阵列中第p行第q列的延时元件为 第二环形振荡器产生单元的延时元件阵列中第p行第q列的延时元件为 若 的延迟大于 的延迟,则S(p,q)=1,否则,S(p,q)=0;
[0040] (2)为第一、第二环形振荡器产生单元构建所有可能的激励矩阵C,并将所有激励矩阵归于集合CH;激励矩阵C为n×m阶矩阵,C(p,q)表示对第一、第二环形振荡器产生单元的延时元件阵列中第p行第q列的延时元件的选取策略,C(p,q)=1表示选取相应延时元件,C(p,q)=0表示不选取相应延时元件,激励矩阵C中的每一列仅有一个元素为1,其他元素为0;
[0041] (3)生成第1次激励矩阵:
[0042] 从集合CH中随机选取激励矩阵C,计算S×C,得到的结果记为矩阵a;将a的非零元素相乘,得到的乘积记为Rt或Lt,R表示右偏移因子,L表示左偏移因子,R×L=1;设置判决条件为t<k,k为预设的阈值;判断选出的激励矩阵C是否满足判决条件,若不满足,则重新选取,直至选取到满足判决条件的激励矩阵C;
[0043] 用选取的激励矩阵C产生响应,若本次响应中第一振荡信号的震荡次数大于第二振荡信号的震荡次数,表示本次激励矩阵所选取的延迟元件的延迟差分布右偏,则更新S=S×C×R;若本次响应中第一振荡信号的震荡次数小于第二振荡信号的震荡次数,表示本次激励矩阵所选取的延迟元件的延迟差分布左偏,则更新S=S×C×L;
[0044] 更新CH=CH-C;
[0045] (4)生成第N次激励矩阵,N≥2,生成的方法为:
[0046] 从更新后的集合CH中再次随机选取激励矩阵C,计算S×C=a,将a的非零元素相乘,判断乘积是否满足判决条件,若不满足,则重新选取,直至选取到满足判决条件的激励矩阵C;
[0047] 用选取的激励矩阵C产生响应,若本次响应中第一振荡信号的震荡次数大于第二振荡信号的震荡次数,更新S=S×C×R,然后将上一次激励矩阵选取而本次激励矩阵没有选取的延迟元件列出,对这些延迟元件在S所对应的元素乘以 α表示本次激励矩阵和上一次激励矩阵都选取了的延时元件的个数,β表示上一次激励矩阵选取而本次激励矩阵没有选取的延迟元件的个数;
[0048] 若本次响应中第一振荡信号的震荡次数小于第二振荡信号的震荡次数,更新S=S×C×L,然后将上一次激励矩阵选取而本次激励矩阵没有选取的延迟元件列出,对这些延迟元件在S所对应的元素乘以
[0049] 更新CH=CH-C;
[0050] (5)重复执行步骤(4),直至集合CH为空或找不到满足判决条件的激励矩阵C。
[0051] 通过采用上述激励生成方法,能够充分避免同一激励被使用多次,进一步提高PUF响应的不可预测性,提高PUF安全性的效果。
[0052] 以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。