基于双延时链的物理不可克隆函数电路结构的制作方法

文档序号:6539893阅读:125来源:国知局
基于双延时链的物理不可克隆函数电路结构的制作方法
【专利摘要】本发明公开了一种基于双延时链的物理不可克隆函数电路结构,包括上升沿发生器、挑战发生器、延时链D1、延时链D2和仲裁器,上升沿发生器的信号输出端分别与延时链D1、延时链D2的信号输入端连接,延时链D1、延时链D2的信号输出端均与仲裁器的信号输入端连接,延时链D1、延时链D2均由N个延时节点连接构成,每个延时节点上均设有调整输入信号的延时时间的挑战位,每个挑战位均与产生随机挑战值给其的挑战发生器连接。本发明的优点:延时链D1和延时链D2采用相同电路结构,输入相同传输信号与挑战值,但两个延时链互相隔离,没有任何交叉或互连,若两条延时链存在较大的固定延时差,可通过设置各延时节点的挑战值使得延时差均衡。
【专利说明】基于双延时链的物理不可克隆函数电路结构
[0001]
【技术领域】
[0002]本发明涉及一种物理不可克隆函数电路结构,具体涉及一种基于双延时链的物理不可克隆函数电路结构。
【背景技术】
[0003]随着信息技术的发展与普及,人们生活的方方面面都在向网络化、智能化方向发展,社会生活中的各种活动也越来越多地采用电子系统来实现,身份证、护照电子化,金融交易电子化。与此同时,智能卡、USBKey等实现密码算法的电路也日益广泛,这些密码设备越来越多地承载着个人和商业机密信息。
[0004]另一方面,芯片破解技术的发展,对应用于信息安全领域的芯片造成了极大的威胁。物理攻击属于传统的侵入式芯片破解技术,即破坏掉芯片的封装,并利用探针或显微镜获取芯片内部的关键信息。近年来出现的功耗分析技术属于非入侵式攻击,不需要破坏芯片,只是通过测量芯片电源引脚上泄露的功耗信息,将其采样成为若干条功耗轨迹曲线,再通过某些算法来分析芯片采用的信息安全算法以及密钥。目前国内外很多科研机构与芯片设计公司展开了对功耗分析技术的研究,利用最先进的功耗分析技术,可以在几秒内破解算法密钥。在这种形势下,信息安全芯片的设计需采用系统性的安全措施,即在芯片运行的各个环节、各个部分采取有针对性的防护措施,以抵抗多种可能的芯片攻击。国外有些高安全等级的芯片,在一款芯片上同时采用上百种先进的安全技术,以保护用户信息的安全。
[0005]面对信息安全领域的各种威胁,各国政府与行业机构都提出了各自的信息安全产品评估制度,例如欧洲的Common Criteria认证、国际EMV组织的EMVCo认证等,以保证进入信息安全市场的芯片产品具备足够的安全能力。这些认证促进了整个行业的信息安全技术水平,但也给各设备提供商设置了技术门槛,只有具备足够技术水平的公司,才能进入信息安全产品市场。
[0006]物理不可克隆函数(PUF)是近年来学术界的研究热点,正处在向产业界的进入阶段,NXP公司已成功地将PUF技术应用于智能卡芯片,并通过CC EAL6+认证。PUF虽然可以通过芯片上各种物理量、各种形式来实现,但其实现效率有很大差别,目前主流的PUF有以下几类:
1.基于SRAM的PUF,该类型PUF利用SRAM存储单元在上电时刻的随机性,由于制造工艺上存在的微小偏差,某一存储单元在上电瞬间可能随机地进入“O”或“ 1 ”状态,这种随机性上电值经提取处理后可作为PUF的响应。
[0007]2.基于环振的PUF,该类型PUF利用多个反相器环构成的振荡器来实现,多个被设计成同样阶数的环振,由于制 造工艺上存在的微小偏差,会导致在实际芯片上的振荡频率产生偏差,而这种偏差经提取处理后可作为PUF的响应。
[0008]3.基于延时链的PUF,该类型PUF利用逻辑单元以及金属线的延时差异来实现,两条理论上延时应相同的延时链,由于制造工艺上存在的微小偏差,会导致在实际芯片上的延时存在差异,这种差异经提取处理后可作为PUF的响应。
[0009]现基于延时链的PUF —般采用交叉延时链结构的PUF,如图1所示,这种PUF结构由4部分构成:上升沿发生器、挑战发生器、选择器链和仲裁器。上升沿发生器用于发出一个从’ O’到’ I’的跳变信号,这个跳变信号输入到选择器链中,在各个选择器中经过平行或交叉的路径传播到仲裁器的输入端,仲裁器的作用是判断出到达仲裁器的两路信号中上升沿的先后顺序。选择器链由N个选择器构成,其中每一个选择器的路径选择由挑战发生器输出的挑战位决定,如果输入某选择器的挑战位为’ O’,那么经过这个选择器的两个信号平行传输;如果输入某选择器的挑战位为’ I’,那么经过这个选择器的两个信号交叉传输。
[0010]这种PUF结构的原理是:由上升沿发生器输出的一个上升沿信号分为两路,分别在选择器链中传输,其路径由挑战发生器决定,由于半导体芯片的制造工艺存在细微偏差,设计中看似对称的两条路径实际上有不同的延时,导致输入仲裁器的两个信号有先后顺序,如果上面一个信号的上升沿先来到,那么仲裁器输出一位’ 1’,反之输出一位’ 0’,仲裁器一般通过一位寄存器来实现。以上过程可以提取出一位响应,如果重复以上过程,但每次改变挑战发生器输出的挑战值,从而上升沿信号在选择器链中通过的路径不同,那么就可以得到多位(即任意长度)响应,构成响应序列。
[0011]这种采用交叉延时链结构的PUF存在延时偏差不易均衡的问题。PUF在设计中期望的是两条路径到达仲裁器时经过相等量的延时,从而芯片制造中产生的随机延时偏差能够以零点为中心对称分布,但在芯片后端布线时,总会引入一些非零的固定延时差,导致仲裁器的输出不再体现出工艺偏差引入的随机性。例如当某一选择器的挑战位为’O’或位’I’时,平行或交叉的两条路径之间可能出现较大的延时差,这一较大的延时差不易被其他选择器的延时差抵消或均衡,使得这一个选择器的挑战位对最终进入仲裁器的信号先后顺序有决定作用或者较大的决定权重,从而仲裁器的输出在很大程度上取决于某一个选择器的挑战位,这样当同一个挑战施加与多个芯片上的PUF时,其产生的响应值会有较多相同的比特,即导致PUF的独一性降低。采用交叉延时链结构的PUF中某一选择器的两个输入端,当其挑战位取值不同时,由于其路径选择结构,其固有的延时差传输到仲裁器时,既可能是正值,也可能是负值,而其它选择器也是同样的路径选择结构,导致这种PUF对于固定延时差难以进行定位和均衡。

【发明内容】

[0012]本发明提供了一种延时差均衡的基于双延时链的物理不可克隆函数电路结构。
[0013]本发明采用的技术方案是:
基于双延时链的物理不可克隆函数电路结构,其特征在于:包括上升沿发生器、挑战发生器、延时链D1、延时链D2和仲裁器,所述上升沿发生器的信号输出端分别与延时链D1、延时链D2的信号输入端连接,所述延时链D1、延时链D2的信号输出端均与仲裁器的信号输入端连接,所述延时链D1、延时链D2均由N个延时节点连接构成,每个所述延时节点上均设有一调整输入信号的延时时间的挑战位,每个所述挑战位均与产生随机挑战值给其的挑战发生器连接,所述延时链Dl和延时链D2上对应位的挑战位上接收到的挑战值是一致的。本发明延时链DI和延时链D2米用相同的电路结构,输入相同的传输信号与挑战值,但两个延时链之间互相隔离,没有任何交叉或互连。上升沿发生器发出的上升沿信号通过两条延时链之后,输入到仲裁器,仲裁器判断两个上升沿信号的先后顺序,输出I位响应值。通过挑战发生器生成伪随机序列,多次提取响应位,构成响应序列。
[0014]进一步,所述上升沿发生器是一初始值为’ O’的一位寄存器。寄存器的初始值为’ 0’,向其写入一位’ I’后,输出值从’ O’变为’ 1’,即产生一个上升沿。
[0015]进一步,所述挑战发生器是一线性反馈移位寄存器。线性反馈移位寄存器当设置好初始值后,可自动输出伪随机序列作为每次上升沿传输的挑战值。
[0016]进一步,所述仲裁器包括两个触发器Tl?T2,触发器Tl的时钟信号输入端和数据信号输入端与延时链Dl的信号输出端连接;触发器T2的时钟信号输入端和数据信号输入端与延时链D2的信号输出端连接;两个触发器Tl?T2的信号输出端均与异或门的输入端连接,所述异或门的输出端是仲裁器的校验位输出端,其中一个触发器的信号输出端是仲裁器的响应位输出端。
[0017]进一步,所述延时节点包括与输入信号连接的上路径和下路径,所述上路径由P个缓冲器与I个上开关构成,所述下路径由Q个缓冲器与I个下开关构成,其中P、Q为正整数且P古Q,所述上开关的控制信号与挑战位连接,所述下开关的控制信号与取反后的挑战位连接,所述上开关和下开关的输出端分别与输出信号的输出或门的两个输入端连接。
[0018]进一步,所述上开关和下开关是一与门。
[0019]本发明上升沿发生器用于发出一个从’ O’到’ I’的跳变信号,这个跳变信号分为两路,同时输入到延时链Dl和延时链D2的输入端,然后分别经过延时链Dl和延时链D2进行传输,经过一定的延时后,两路跳变信号分别从延时链Dl和延时链D2的输出端输出,并进入仲裁器,仲裁器对这两路跳变信号的先后顺序进行判断,输出响应值。
[0020]挑战发生器是在每次响应提取前,生成随机化的挑战值,并输入到两个延时链的相应延时节点上。因为每次上升沿传输-仲裁器判断过程只能提取I位响应值,所以应用挑战发生器的目的是自动生成伪随机序列,以便连续提取多个响应位,构成一定长度的响应序列。本发明中所述的“挑战-响应”对不是指一组挑战与一个响应位之间的配对,而是指挑战发生器的初始值与相应的响应序列之间的配对。
[0021]延时链是根据挑战发生器输入挑战位的挑战值,对输入上升沿信号施加一定的传输延时,它包含有N个延时节点,每个延时节点对输入信号的延时可通过与其相应的挑战位调整,即当挑战位为’ O’时,对经过节点的信号施加长度为d0的延时,而当挑战位为’ I’时,对经过节点的信号施加长度为dl的延时,并且d0 Φ dl。这样当挑战值变化时,延时链的整体延时也随之变化。在本发明中,采用两条完全相同的延时链,分别为延时链Dl和延时链D2,这两条延时链在物理上、逻辑上相互隔离,但其输入的跳变信号(即上升沿)共同来自上升沿发生器,其输入的挑战信号共同来自于挑战发生器,并且每一位挑战值与延时节点的对应顺序也完全一致。该设计的目的是使得在相同挑战作用下,上升沿信号经过延时链Dl和延时链D2的延时相等,同时到达仲裁器。
[0022]仲裁器是对输入的两个上升沿信号的先后顺序进行判断,本发明中采用两个触发器来实现,来自延时链Dl和延时链D2的信号分别连接到2个触发器Tf T2的时钟信号和数据信号,此外,两个触发器的输出经过异或操作后作为校验位输出。该校验位作为响应数据的组成部分,可作为对响应序列进行后处理的辅助数据。[0023]本发明的有益效果:使用相同结构的两条延时链,使延时链Dl和延时链D2在相同的挑战值作用下,对输入的上升沿信号施加相同量的延时,使其输出同时到达仲裁器的输入端,两条延时链相互独立,无交叉节点,若两条延时链存在较大的固定延时差,可通过设置各延时节点的挑战值使得延时差均衡。
【专利附图】

【附图说明】
[0024]图1是现有交叉延时链结构的PUF的电路图。
[0025]图2是本发明的电路结构示意图。
[0026]图3是本发明的延时链的结构示意图。
[0027]图4是本发明的仲裁器的结构示意图。
[0028]图5是本发明的延时节点的结构示意图。
【具体实施方式】
[0029]下面结合具体实施例来对本发明进行进一步说明,但并不将本发明局限于这些【具体实施方式】。本领域技术人员应该认识到,本发明涵盖了权利要求书范围内所可能包括的所有备选方案、改进方案和等效方案。
[0030]参照图2,基于双延时链的物理不可克隆函数电路结构,包括上升沿发生器、挑战发生器、延时链D1、延时链D2和仲裁器,所述上升沿发生器的信号输出端分别与延时链D1、延时链D2的信号输入端连接,所述延时链D1、延时链D2的信号输出端均与仲裁器的信号输入端连接,所述延时链D1、延时链D2均由N个延时节点连接构成,每个所述延时节点上均设有一调整输入信号的延时时间的挑战位,每个所述挑战位均与产生随机挑战值给其的挑战发生器连接,所述延时链Dl和延时链D2上对应位的挑战位上接收到的挑战值是一致的。本发明延时链DI和延时链D2米用相同的电路结构,输入相同的传输信号与挑战值,但两个延时链之间互相隔离,没有任何交叉或互连。上升沿发生器发出的上升沿信号通过两条延时链之后,输入到仲裁器,仲裁器判断两个上升沿信号的先后顺序,输出I位响应值。通过挑战发生器生成伪随机序列,多次提取响应位,构成响应序列。
[0031]所述上升沿发生器是一初始值为’ O’的一位寄存器。寄存器的初始值为’ O’,向其写入一位’ I’后,输出值从’ O’变为’ 1’,即产生一个上升沿。
[0032]所述挑战发生器是一线性反馈移位寄存器。线性反馈移位寄存器当设置好初始值后,可自动输出伪随机序列作为每次上升沿传输的挑战值。
[0033]所述仲裁器包括两个触发器Tl?T2,触发器Tl的时钟信号输入端和数据信号输入端与延时链Dl的信号输出端连接;触发器T2的时钟信号输入端和数据信号输入端与延时链D2的信号输出端连接;两个触发器Tl?T2的信号输出端均与异或门连接,所述异或门的输出端是仲裁器的校验位输出端,其中一个触发器的信号输出端是仲裁器的响应位输出端。
[0034]所述延时节点包括与输入信号连接的上路径和下路径,所述上路径由P个缓冲器与I个上开关构成,所述下路径由Q个缓冲器与I个下开关构成,其中P、Q为正整数且P幸Q,所述上开关的控制信号与挑战位连接,所述下开关的控制信号与取反后的挑战位连接,所述上开关和下开关的输出端分别与输出信号的输出或门的两个输入端连接。[0035]所述上开关和下开关是一与门。
[0036]本发明上升沿发生器用于发出一个从’ O’到’ I’的跳变信号,这个跳变信号分为两路,同时输入到延时链Dl和延时链D2的输入端,然后分别经过延时链Dl和延时链D2进行传输,经过一定的延时后,两路跳变信号分别从延时链Dl和延时链D2的输出端输出,并进入仲裁器,仲裁器对这两路跳变信号的先后顺序进行判断,输出响应值。
[0037]挑战发生器是在每次响应提取前,生成随机化的挑战值,并输入到两个延时链的相应延时节点上。因为每次上升沿传输-仲裁器判断过程只能提取I位响应值,所以应用挑战发生器的目的是自动生成伪随机序列,以便连续提取多个响应位,构成一定长度的响应序列。本发明中所述的“挑战-响应”对不是指一组挑战与一个响应位之间的配对,而是指挑战发生器的初始值与相应的响应序列之间的配对。
[0038]延时链是根据挑战发生器输入挑战位的挑战值,对输入上升沿信号施加一定的传输延时,它包含有N个延时节点,每个延时节点对输入信号的延时可通过与其相应的挑战位调整,即当挑战位为’ O’时,对经过节点的信号施加长度为d0的延时,而当挑战位为’ I’时,对经过节点的信号施加长度为dl的延时,并且d0 Φ dl。这样当挑战值变化时,延时链的整体延时也随之变化。在本发明中,采用两条完全相同的延时链,分别为延时链Dl和延时链D2,这两条延时链在物理上、逻辑上相互隔离,但其输入的跳变信号(即上升沿)共同来自上升沿发生器,其输入的挑战信号共同来自于挑战发生器,并且每一位挑战值与延时节点的对应顺序也完全一致。该设计的目的是使得在相同挑战作用下,上升沿信号经过延时链Dl和延时链D2的延时相等,同时到达仲裁器。延时链的一种实施结构如图3所示,长度为N的延时链包含N个延时节点,并具有I个输入信号,一个输出信号,以及N个挑战位。延时链的输入连接到第一个延时节点的输入端,最后一个延时节点的输出作为延时链的输出,其余延时节点的输出信号作为下一级延时节点的输入信号。N个挑战位分别连接到N个延时节点,延时节点通过挑战位的取值对输入信号施加不同的延时,例如当挑战位为’ I’时,对输入信号施加延时dl后输出,而当挑战位为’ O’时,对输入信号施加延时d0后输出。延时节点可通过多种逻辑单元组合构成,本发明中不限定其具体实现方式。由图中可知,延时链只起到在挑战值的作用下对输入信号施加延时的作用。
[0039]图5给出延时节点的一种具体实现方式,延时节点内部通过缓冲器构成两条延时不同的路径,其中上路径由P个缓冲器与I个与门构成,下路径由Q个缓冲器与I个与门构成(其中P、Q为正整数且P古Q)。挑战位直接做为上路径的开关控制信号,挑战位取反后作为下路径的开关控制信号。当挑战位为’ O’时,作为上开关的与门输出被固定为’ 0’,即上开关被关闭,此时做为下开关的与门输出与输入信号相同的逻辑值,即下开关被开启。当挑战位为’I’时,作为下开关的与门输出被固定为’0’,即下开关被关闭,此时做为上开关的与门输出与输入信号相同的逻辑值,即上开关被开启。这样当挑战位取值不同时,上开关与下开关只有一个开启,并通过一个或门输出,由于上、下两条路径包含的缓冲器个数不同,其对输入信号的延时也不同,即起到根据挑战位的取值对输入信号施加不同延时的目的。仲裁器是对输入的两个上升沿信号的先后顺序进行判断,本发明中采用两个触发器来实现,来自延时链Dl和延时链D2的信号分别连接到2个触发器的时钟信号和数据信号,此外,两个触发器的输出经过异或操作后作为校验位输出。该校验位作为响应数据的组成部分,可作为对响应序列进行后处理的辅助数据。仲裁器的一种实施结构如图4所示,仲裁器具有2个输入信号,分别来自于2条延时链的输出,仲裁器内部包含2个触发器、I个异或门。输入
1、输入2分别对应延时链D1、延时链D2的输出信号。输入I作为触发器I的时钟信号和触发器2的数据信号,输入2作为触发器2的时钟信号和触发器I的数据信号。上升沿发生器发出的上升沿信号经过2个延时链传输到仲裁器的输入端时,会存在先后顺序,从而仲裁器内部的2个触发器将会根据其顺序输出’ I’或’O’。触发器I的输出作为响应位输出,同时将两个触发器输出值做异或操作后作为校验位输出,该校验位作为响应数据的组成部分,可作为对响应序列进行后处理的辅助数据。
[0040]在设计原则上,本发明的目的是使延时链Dl和延时链D2在相同的挑战值作用下,对输入的上升沿信号施加相同量的延时,使其输出同时到达仲裁器的输入端。但由于芯片制造过程中存在不可预测、不可控制的工艺偏差,导致依照以上设计方案生产出的芯片,实际上不可出现两条延时链的延时完全相同的情况,即延时链Dl与延时链D2对上升沿信号的延时总会存在一些差异,导致其到达仲裁器的输入端时存在先后顺序。每条延时链的整体延时量分布在N个延时节点上,当挑战位相同时,延时链Dl中第k个节点(0〈k〈=N)与延时链D2中第k个节点的延时也会有微小差异,而且挑战位为’ O’或为’ I’时,其延时差异也不同。这样每次对延时链施加随机性的挑战值,每个延时链的整体延时也表现出一定的随机性,也就是说,每颗芯片上DCPUF的“挑战-响应”对,是不可预测、不可复制的。在理想情况下,某一个挑战值在某一颗芯片上会产生每次相同的响应值,而同样的挑战值在不同芯片上会产生不同的响应值,而这些“挑战-响应”对都是不可预测的,从而保证“挑战-响应”可作为芯片的唯一身份标识。
【权利要求】
1.基于双延时链的物理不可克隆函数电路结构,其特征在于:包括上升沿发生器、挑战发生器、延时链D1、延时链D2和仲裁器,所述上升沿发生器的信号输出端分别与延时链D1、延时链D2的信号输入端连接,所述延时链D1、延时链D2的信号输出端均与仲裁器的信号输入端连接,所述延时链D1、延时链D2均由N个延时节点连接构成,每个所述延时节点上均设有一调整输入信号的延时时间的挑战位,每个所述挑战位均与产生随机挑战值给其的挑战发生器连接,所述延时链Dl和延时链D2上对应位的挑战位上接收到的挑战值是一致的。
2.根据权利要求1所述的基于双延时链的物理不可克隆函数电路结构,其特征在于:所述上升沿发生器是一初始值为’ O’的一位寄存器。
3.根据权利要求1或2所述的基于双延时链的物理不可克隆函数电路结构,其特征在于:所述挑战发生器是一线性反馈移位寄存器。
4.根据权利要求3所述的基于双延时链的物理不可克隆函数电路结构,其特征在于:所述仲裁器包括两个触发器Τ1~Τ2,触发器Tl的时钟信号输入端和数据信号输入端与延时链Dl的信号输出端连接;触发器T2的时钟信号输入端和数据信号输入端与延时链D2的信号输出端连接;两个触发器TfT2的信号输出端均与异或门的输入端连接,所述异或门的输出端是仲裁器的校验位输出端,其中一个触发器的信号输出端是仲裁器的响应位输出端。
5.根据权利要求4所述的基于双延时链的物理不可克隆函数电路结构,其特征在于:所述延时节点包括与输入信号连接的上路径和下路径,所述上路径由P个缓冲器与I个上开关构成,所述下路径 由Q个缓冲器与I个下开关构成,其中P、Q为正整数且P古Q,所述上开关的控制信号与挑战位连接,所述下开关的控制信号与取反后的挑战位连接,所述上开关和下开关的输出端分别与输出信号的输出或门的两个输入端连接。
6.根据权利要求5所述的基于双延时链的物理不可克隆函数电路结构,其特征在于:所述上开关和下开关是一与门。
【文档编号】G06F21/72GK103902929SQ201410084354
【公开日】2014年7月2日 申请日期:2014年3月10日 优先权日:2014年3月10日
【发明者】吴斌 申请人:杭州晟元芯片技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1