一种物理不可克隆函数电路的制作方法

文档序号:18108290发布日期:2019-07-06 11:49阅读:241来源:国知局
一种物理不可克隆函数电路的制作方法

本发明涉及芯片安全技术领域,特别涉及一种物理不可克隆函数电路。



背景技术:

随着安全芯片的大规模使用,针对安全芯片安全性及可靠性的要求也越来越高。在安全芯片的使用过程中,身份的识别,认证以及数据的完整性的检测都是非常重要的应用任务,对安全芯片在这些方面的安全防护措施也提出了很高的要求。

传统的安全防护方法将数字密钥(数据加解密密钥以及一些常用算法的密钥,如DES,AES等)存储在非易失存储器中,如ROM/EEPROM。这种防护措施不能提供绝对安全的保护,最大的脆弱点就密钥的存储。以获取,猜测或克隆存储在非易失存储器中密钥为目的的攻击方法在最近几年快速发展,并且攻击效果越来越好。

物理不可克隆函数(Physical Unclonable Function,PUF)的使用可以很好的解决以上的安全问题,保证安全芯片在身份识别、认证以及数据完整性检测等安全任务不被攻击。物理不可克隆函数是基于每个芯片独有的物理特性,提取出芯片不可预测且具有高可靠性的“指纹信息”。芯片中由PUF所产生的“指纹信息”的差异主要来自两个方面:第一,在芯片流片和封装阶段,同样的批次或同一片晶片(wafer),也会产生不同物理延迟,导致差异的因素包括流片时的温度及压强等。第二,芯片工作时的温度以及工作电压,也会使PUF模块产生不同的输出。另外,芯片使用年限也是一个影响因素,但是与温度及工作电压相比,这个因素所产生的影响很小。由于PUF就是利用芯片中物理特性的细小差异产生专属于每一个芯片的“指纹信息”,因此利用每个芯片所特有的“指纹信息”就可以保证芯片中的安全信息不被泄露。

针对延迟信息设计的PUF电路是物理不可克隆函数实现的最早方法,中国发明专利申请CN102611684A公开了一种基于前反馈模式的物理不可克隆函数实现方法,电路结构由多个二路选择器组成,其中若干二路选择器的控制信号与前反馈逻辑电路的输出连接,控制二路选择器的选择状态,结构如图1所示。

在实现本发明过程中,发明人发现现有技术中至少存在如下问题:

现有基于前反馈的PUF电路结构存在数据延迟偏差不均匀且安全性低的缺点。基于数据延迟的物理不可克隆函数电路结构是基于数据在两条传输路径的传输时间理论上相同,但是由于芯片流片阶段及封装阶段的一些物理及外部因素造成两条路径的延迟存在偏差,并且偏差值以理想值0为中心均匀分布。但是,在后端布线时,很容易造成某一条或一段线路产生固定延迟偏差,体现不出由于物理工艺及使用环境所造成的延时偏差。另外,由于现有的基于前反馈的PUF电路所产生的“激励-响应”对有限,攻击者很容易对此模型进行数学建模,进行模板攻击。

公开于该背景技术部分的信息仅仅旨在增加对本发明的总体背景的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域一般技术人员所公知的现有技术。



技术实现要素:

本发明的目的在于提供一种物理不可克隆函数电路,从而克服现有PUF电路存在数据延迟偏差不均匀的缺陷。

本发明实施例提供的一种物理不可克隆函数电路,包括:n个级联的数据延迟电路、n个时钟延迟电路和仲裁器;数据延迟电路包括第一输入端、第二输入端、控制端、第一输出端、第二输出端和数据端;时钟延迟电路包括输入端、输出端和时终端;

数据延迟电路的第一输入端和第二输入端用于接收外部的初始信号或上级数据延迟电路输出的信号,数据延迟电路的控制端用于接收随机控制信号;数据延迟电路的第一输出端和第二输出端分别与下级数据延迟电路的第一输入端和第二输入端相连;

n个数据延迟电路的数据端依次分别与n个时钟延迟电路的输入端相连;时钟延迟电路的输出端与仲裁器相连,时钟延迟电路的时终端接收时钟信号;

数据延迟电路用于根据控制信号和第一输入端、第二输入端接收到的信号确定第一输出端和第二输出端所输出的信号;时钟延迟电路用于根据时钟信号和输入端接收到的信号确定输出端所输出的信号;仲裁器用于根据n个时钟延迟电路输出的信号确定输出数据。

在一种可能的实现方式中,数据延迟电路包括双路选择器和二选一选择器;双路选择器包括第一输入端、第二输入端、控制端、第一输出端、第二输出端,二选一选择器包括第一输入端、第二输入端、控制端和输出端;

双路选择器的第一输入端、第二输入端、控制端、第一输出端和第二输出端分别为数据延迟电路的第一输入端、第二输入端、控制端、第一输出端和第二输出端,二选一选择器的输出端为数据延迟电路的数据端;

双路选择器的控制端与二选一选择器的控制端相连;二选一选择器的第一输入端和第二输入端均与双路选择器的第一输出端相连。

在一种可能的实现方式中,数据延迟电路包括双路选择器和二选一选择器;双路选择器包括第一输入端、第二输入端、控制端、第一输出端、第二输出端,二选一选择器包括第一输入端、第二输入端、控制端和输出端;

双路选择器的第一输入端、第二输入端、控制端、第一输出端和第二输出端分别为数据延迟电路的第一输入端、第二输入端、控制端、第一输出端和第二输出端,二选一选择器的输出端为数据延迟电路的数据端;

双路选择器的控制端与二选一选择器的控制端相连;二选一选择器的第一输入端和第二输入端分别与双路选择器的第一输出端和第二输出端相连。

在一种可能的实现方式中,当控制信号为第一信号时,双路选择器的第一输入端连接第一输出端,双路选择器的第二输入端连接第二输出端;二选一选择器的第一输入端连接二选一选择器的输出端;

当控制信号为第二信号时,双路选择器的第一输入端连接第二输出端,双路选择器的第二输入端连接第一输出端;二选一选择器的第二输入端连接二选一选择器的输出端。

在一种可能的实现方式中,时钟延迟电路为边沿式D触发器。

在一种可能的实现方式中,仲裁器用于对接收到的n个时钟延迟电路输出的信号进行异或处理。

本发明实施例提供的一种物理不可克隆函数电路,利用数据延迟电路和时钟延迟电路同时引入数据延迟偏差和时钟延迟偏差,仲裁器利用引入数据延迟偏差和时钟延迟偏差的数据生成最终的PUF数据,增加了数学建模的难度,从而增加PUF电路的安全性。同时,该物理不可克隆函数电路利用控制信号可以有效改善现有前反馈PUF电路所产生数据不均匀的问题。此外,利用双向选择器可以有效实现双路传输信号,利用二选一选择器可以进一步引入数据延迟偏差。仲裁器中对D触发器所采集数据的异或处理增加了模板攻击的难度,进一步提高芯片的安全性。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。

附图说明

附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:

图1为现有技术中前反馈PUF电路的结构图;

图2为本发明实施例中物理不可克隆函数电路的第一结构图;

图3为本发明实施例中引入数据采样延迟偏差后的一种信号波形图;

图4为本发明实施例中引入时间延迟偏差后的一种信号波形图;

图5为本发明实施例中数据延迟电路的第一结构图;

图6为本发明实施例中数据延迟电路的第二结构图;

图7为本发明实施例中物理不可克隆函数电路的第二结构图。

具体实施方式

下面结合附图,对本发明的具体实施方式进行详细描述,但应当理解本发明的保护范围并不受具体实施方式的限制。

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。除非另有其它明确表示,否则在整个说明书和权利要求书中,术语“包括”或其变换如“包含”或“包括有”等等将被理解为包括所陈述的元件或组成部分,而并未排除其它元件或其它组成部分。

在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。

另外,为了更好的说明本发明,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本发明同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件未作详细描述,以便于凸显本发明的主旨。

除非另有其它明确表示,否则在整个说明书和权利要求书中,术语“包括”或其变换如“包含”或“包括有”等等将被理解为包括所陈述的元件或组成部分,而并未排除其它元件或其它组成部分。

根据本发明实施例,提供了一种物理不可克隆函数电路,图2为该电路的结构图,具体包括:n个级联的数据延迟电路10、n个时钟延迟电路20和仲裁器30。其中,数据延迟电路10包括第一输入端、第二输入端、控制端、第一输出端、第二输出端和数据端;时钟延迟电路20包括输入端、输出端和时终端。

具体的,数据延迟电路10的第一输出端和第二输出端分别与下级数据延迟电路的第一输入端和第二输入端相连。本发明实施例中,n个数据延迟电路为级联结构,该下级数据延迟电路具体为当前的数据延迟电路的下一级的数据延迟电路,同理,上级数据延迟电路为当前的数据延迟电路的上一级的数据延迟电路。当数据延迟电路10为第一级的位置时,该数据延迟电路的第一输入端和第二输入端接收外部的初始信号(即图2中的脉冲信号Input data),其他数据延迟电路10接收上级数据延迟电路10输出的信号。数据延迟电路10的控制端用于接收随机的控制信号ai。其中,第一级的数据延迟电路的第一输入端和第二输入端可以接收两个相同初始信号,也可以分别接收一个初始信号。图2中以接收相同的初始信号为例。

数据延迟电路10的数据端用于输出随机数据bi,且n个数据延迟电路10的数据端依次分别与n个时钟延迟电路20的输入端相连,即时钟延迟电路20的输入端用于接收数据延迟电路10的数据端输出的随机数据bi;时钟延迟电路20的输出端与仲裁器30相连,向仲裁器30输出数据ci,时钟延迟电路20的时终端用于接收时钟信号CLOCK。

本发明实施例中,数据延迟电路10用于根据控制信号ai和第一输入端、第二输入端接收到的信号确定第一输出端和第二输出端所输出的信号;时钟延迟电路20用于根据时钟信号CLOCK和输入端接收到的信号bi确定输出端所输出的信号ci;仲裁器30用于根据n个时钟延迟电路20输出的信号(即c1-cn)确定输出数据d。

本发明实施例提供的物理不可克隆函数电路的工作过程具体如下:n个数据延迟电路的控制端接收n个控制信号a1-an,在第一级的数据延迟电路接收到初始信号Input data后,根据控制信号a1确定两个输出端的输出信号,并确定输出端的输出信号b1,同时将该输出信号发送至下一级的数据延迟电路,该下一级的数据延迟电路根据控制信号a2确定输出的信号,并确定输出端的输出信号b2,如此重复直至第n个数据延迟电路确定输出端的输出信号和数据端的输出信号bn。其中,第n个数据延迟电路的第一输出端和第二输出端可以忽略,即不需要与其他端口相连。第一级的数据延迟电路接收两路初始信号后,根据控制信号将两路初始信号按照相应的传输路径进行传输,同时在数据端输出数据bi。由于物理及外部因素造成两条传输路径的延迟存在偏差,从而利用该数据延迟电路引入了数据延迟。

具体的,引入数据采样延迟偏差后的一种信号波形图参见图3所示,此时未考虑时钟延迟。理想状态下bi的波形图可能是相同的,但是引入数据采样延迟偏差后,相邻的两个数据端输出的信号存在一定的差异,即在同一时刻不同的bi可能不同。如图3所示,在时钟信号CLOCK的上升沿,b1,b5,b6为低电平,b2,b3,b4为高电平。

同时,时钟延迟电路20根据时钟信号CLOCK和输入端接收到的信号bi确定输出端所输出的信号ci;本发明实施例中也利用了时钟树延迟的偏差进行数据采样,具体的,由于时钟信号CLOCK到达不同时钟延迟电路的时间点是不同的,从而导致不同的时钟延迟电路在同一时刻接收到的时钟信号CLOCK是不同的,进而可以将时钟延迟引入本发明实施例中的物理不可克隆函数电路。引入时钟延迟偏差后的一种波形图参见图4所示,且图4中也引入了数据延迟偏差。需要说明的是,图4中所示的含义为不同的时钟延迟电路在接收到时钟信号CLOCK时的波形图,如上所述,由于不同的时钟延迟电路在接收时钟信号时存在一定的延迟偏差,故图4中的b1,b2,b3,b4,b5,b6并不表示在同一时刻的波形图。

本发明实施例提供的一种物理不可克隆函数电路,利用数据延迟电路和时钟延迟电路分别引入数据延迟偏差和时钟延迟偏差,仲裁器利用引入数据延迟偏差和时钟延迟偏差的数据生成最终的PUF数据,增加了数学建模的难度,从而增加PUF电路的安全性。同时,该物理不可克隆函数电路利用控制信号可以有效改善现有前反馈PUF电路所产生数据不均匀的问题。

在一种可能的实现方式中,参见图5所示,数据延迟电路10包括双路选择器101和二选一选择器102。双路选择器101包括第一输入端in_data_1、第二输入端in_data_2、控制端、第一输出端out_data_1、第二输出端out_data_2,二选一选择器102包括第一输入端、第二输入端、控制端和输出端。

具体的,双路选择器101的第一输入端in_data_1、第二输入端in_data_2、控制端、第一输出端out_data_1和第二输出端out_data_2分别与数据延迟电路10的第一输入端、第二输入端、控制端、第一输出端和第二输出端一一对应,二选一选择器102的输出端为数据延迟电路10的数据端,用于输出数据bi。

双路选择器101的控制端与二选一选择器102的控制端相连,两个控制端均用于接收控制信号ai;二选一选择器102的第一输入端和第二输入端均与双路选择器101的第一输出端out_data_1相连。

本发明实施例中,双路选择器101用于根据控制信号ai确定两路信号的走向。具体的,当控制信号为第一信号时,双路选择器101的第一输入端in_data_1连接第一输出端out_data_1,双路选择器101的第二输入端in_data_2连接第二输出端out_data_2,即平行传输;当控制信号为第二信号时,双路选择器101的第一输入端in_data_1连接第二输出端out_data_2,双路选择器101的第二输入端in_data_2链接第一输出端out_data_1,即交叉传输。

二选一选择器102用于根据控制信号ai选择输出哪一路信号。具体的,当控制信号为第一信号时,二选一选择器102的第一输入端连接二选一选择器102的输出端;当控制信号为第二信号时,二选一选择器102的第二输入端in_data_2连接二选一选择器102的输出端。在本发明实施例中,二选一选择器的第一输入端和第二输入端均与双路选择器的第一输出端out_data_1相连,即无论控制信号为何种信号,二选一选择器输出的数据bi均等于out_data_1,此处引入二选一选择器的目的在于当控制信号不同时,out_data_1可以沿不同的传输线路输出至时间延迟电路,即可以进一步引入数据延迟偏差。

本发明实施例中,ai为随机数,即为1或0,或者为高电平或低电平;即上述的第一信号为高电平,第二信号为低电平;或者第一信号为低电平,第二信号为高电平。

以第一信号为低电平(即为0),第二信号为高电平(即为1)为例。当控制信号ai为0时,输入信号in_data_1,in_data_2不进行交叉传输,即out_data_1等于in_data_1,out_data_2等于in_data_2。反之,当控制信号ai为1时,输入信号交叉传输,即out_data_1等于in_data_2,out_data_2等于in_data_1。

在另一种可能的实现方式中,参见图6所示,数据延迟电路10包括双路选择器101和二选一选择器102;与图5所示的数据延迟电路之间的区别在于二选一选择器的输入端连接方式不同。具体的,双路选择器101包括第一输入端in_data_1、第二输入端in_data_2、控制端、第一输出端out_data_1、第二输出端out_data_2,二选一选择器102包括第一输入端、第二输入端、控制端和输出端。

双路选择器101的第一输入端in_data_1、第二输入端in_data_2、控制端、第一输出端out_data_1和第二输出端out_data_2分别为数据延迟电路10的第一输入端、第二输入端、控制端、第一输出端和第二输出端,二选一选择器102的输出端为数据延迟电路10的数据端。

双路选择器101的控制端与二选一选择器102的控制端相连;二选一选择器102的第一输入端和第二输入端分别与双路选择器101的第一输出端out_data_1和第二输出端out_data_2相连。

双路选择器和二选一选择器的工作原理如上所述。仍然以第一信号为低电平(即为0),第二信号为高电平(即为1)为例。当控制信号ai为0时,输入信号in_data_1,in_data_2不进行交叉传输,即out_data_1等于in_data_1,out_data_2等于in_data_2。反之,当控制信号ai为1时,输入信号交叉传输,即out_data_1等于in_data_2,out_data_2等于in_data_1。输出信号bi为时钟延迟电路的输入数据,控制信号ai为0时,bi等于out_data_1,反之bi等于out_data_2。此时的二选一选择器同样可以进一步引入数据延迟偏差。

在一种可能的实现方式中,时钟延迟电路20为边沿式D触发器。边沿式D触发器根据时钟脉冲CLOCK采集数据延迟电路的输出信号(b1~bn),进而D触发器输出数据(c1~cn);数据采集示意具体看参照图4所示的波形图。可选的,仲裁器30接收到的n个时钟延迟电路20输出的信号(c1~cn)后,对n个数据进行异或处理,输出最终的数据d,即PUF数据。

本发明实施例提供的一种物理不可克隆函数电路,利用数据延迟电路和时钟延迟电路同时引入数据延迟偏差和时钟延迟偏差,仲裁器利用引入数据延迟偏差和时钟延迟偏差的数据生成最终的PUF数据,增加了数学建模的难度,从而增加PUF电路的安全性。同时,该物理不可克隆函数电路利用控制信号可以有效改善现有前反馈PUF电路所产生数据不均匀的问题。此外,利用双向选择器可以有效实现双路传输信号,利用二选一选择器可以进一步引入数据延迟偏差。仲裁器中对D触发器所采集数据的异或处理增加了模板攻击的难度,进一步提高芯片的安全性。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

前述对本发明的具体示例性实施方案的描述是为了说明和例证的目的。这些描述并非想将本发明限定为所公开的精确形式,并且很显然,根据上述教导,可以进行很多改变和变化。对示例性实施例进行选择和描述的目的在于解释本发明的特定原理及其实际应用,从而使得本领域的技术人员能够实现并利用本发明的各种不同的示例性实施方案以及各种不同的选择和改变。本发明的范围意在由权利要求书及其等同形式所限定。

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