Puf电路、芯片、设备及挑战响应对生成方法

文档序号:1921891 发布日期:2021-12-03 浏览:13次 >En<

阅读说明:本技术 Puf电路、芯片、设备及挑战响应对生成方法 (PUF circuit, chip, device and challenge response pair generation method ) 是由 申小龙 闫鑫 赵俊峰 薛晓勇 唐文涛 于 2020-05-29 设计创作,主要内容包括:本申请提供一种PUF电路、芯片、设备及挑战响应对生成方法,该PUF电路包括:RRAM单元、测量电路和存储器;测量电路分别与RRAM单元和存储器连接。测量电路用于检测RRAM单元在预设限制电流以及预设电压下处于易失存储状态的时间,并生成与时间对应的数字量;存储器用于将数字量作为PUF的响应进行存储,并确定与响应对应的挑战,实现了一种具有大量CRP,同时CPR之间没有相关性,可以容忍建模攻击的PUF。(The application provides a PUF circuit, a chip, a device and a challenge response pair generation method, wherein the PUF circuit comprises: an RRAM cell, a measurement circuit, and a memory; the measurement circuit is connected to the RRAM cell and the memory, respectively. The measuring circuit is used for detecting the time of the RRAM unit in a volatile storage state under the preset limiting current and the preset voltage and generating a digital quantity corresponding to the time; the memory is used for storing the digital quantity as the response of the PUF and determining the challenge corresponding to the response, so that the PUF with a large number of CRPs and no correlation between CPRs can be tolerated to model attacks is realized.)

PUF电路、芯片、设备及挑战响应对生成方法

技术领域

本申请涉及信息安全技术,尤其涉及一种PUF电路、芯片、设备及挑战响应对生成方法。

背景技术

物理不可克隆函数(Physical Unclonable Function,PUF)是利用集成电路在制造过程中不可控制的随机工艺偏差来产生硬件指纹,具有唯一性、随机性和不可克隆性。PUF作为一种应用于物联网终端设备信息安全的硬件方法,越来越受到关注。

当用一个称为挑战(Challenge)的输入查询时,PUF产生一个称为响应(Response)的可测量输出,相应的挑战和响应构成了挑战响应对(Challenge Response Pair,CRP)。根据CRP的数量与物理实体大小之间的关系,PUF可以分为强PUF和弱PUF两类。强PUF通常是基于对一定数量的级联逻辑器件的两种组合的比较来产生响应,典型的例子包括基于门级延迟变化的仲裁器(Arbiter)PUF和环形振荡器(Ring Oscillator)PUF。强PUF具有大量的CRP,有利于进行广泛的安全应用,然而,这种强PUF的资源复用导致了不同CRP之间具有关联性,使其容易受到建模攻击,这种攻击可以从一个PUF的所有CRP子集中导出一个数值模型,并预测其对其他挑战的未来响应。弱PUF是基于一对相同的器件或电路之间的参数不匹配来产生响应,典型的例子包括蝶型PUF和触发器PUF等。弱PUF的不同CRP之间的没有相关性,可以抵抗建模攻击,然而,弱PUF通常仅具有少量CRP,这就导致其应用受到限制,在需要大量CRP的应用场景中无法使用。

因此,如何提供一种能够产生大量CRP,且可以容忍建模攻击的PUF是目前亟待解决的问题。

发明内容

本申请提供一种PUF电路、芯片、设备及挑战响应对生成方法,实现了既能够产生大量CRP,又可以容忍建模攻击的PUF。

第一方面,本申请提供一种物理不可克隆函数PUF电路,包括:阻变式存储器RRAM单元、测量电路和存储器;所述测量电路分别与所述RRAM单元和所述存储器连接;

所述测量电路,用于检测所述RRAM单元在预设限制电流以及预设电压下处于易失存储状态的时间,并生成与所述时间对应的数字量;

所述存储器用于将所述数字量作为所述PUF的响应进行存储,并确定与所述响应对应的挑战。

在一种可行的实现方式中,所述测量电路包括随机数检测电路和计数器;

所述随机数检测电路用于向所述RRAM单元输入预设电压,检测所述RRAM单元在所述预设电压下的电流变化并输出对应的指示信号;

所述计数器用于根据所述指示信号生成与所述RRAM单元处于易失存储状态的时间对应的所述数字量。

在一种可行的实现方式中,所述测量电路还包括截断电路;所述截断电路与所述计数器和所述存储器分别连接;

所述截断电路用于截取所述数字量的后M位;

所述存储器用于将截取后得到的数字量作为所述PUF的响应进行存储。

在一种可行的实现方式中,所述存储器还用于将存储所述响应的地址确定为与所述响应对应的挑战。

在一种可行的实现方式中,所述RRAM单元包括RRAM器件和第一开关管;

所述第一开关管的第一端与电源连接,所述电源用于控制所述RRAM单元的预设限流;所述第一开关管的第二端接地,所述第一开关管的第三端与所述RRAM器件的下电极连接,所述RRAM器件的上电极与所述随机数检测电路连接。

在一种可行的实现方式中,所述随机数检测电路包括第二开关管、第三开关管、第四开关管、镜像恒流源、比较器和与非门;

所述第三开关管的第一端与控制信号连接;所述控制信号为高电平信号或低电平信号;所述第三开关管的第二端与第一预设电压信号连接;所述第三开关管的第三端与所述第二开关管的第一端连接;

所述第四开关管的第一端与所述控制信号连接;所述控制信号为高电平信号或低电平信号;所述第四开关管的第二端与第二预设电压信号连接;所述第四开关管的第三端与所述第二开关管的第一端连接;所述第二预设电压信号小于所述第一预设电压信号;

所述第二开关管的第二端与所述镜像恒流源连接;所述第二开关管的第三端与所述RRAM器件的上电极连接;

所述镜像恒流源与所述比较器的第一输入端连接;所述比较器的第二输入端与参考电源连接;

所述比较器的输出端与所述与非门的第一输入端连接;所述与非门的第二输入端与测试信号连接;所述测试信号与所述控制信号的电平相反;

所述与非门的输出端与所述计数器连接。

在一种可行的实现方式中,所述计数器在所述与非门的输出端由高电平变为低电平时开始计数,并在所述与非门的输出端由低电平变为高电平时停止计数。

在一种可行的实现方式中,所述存储器还用于根据接收到的挑战输出对应的响应。

第二方面,本申请提供一种芯片,包括如上述第一方面中任一项所述的PUF电路。

第三方面,本申请提供一种电子设备,包括如上述第二方面所述的芯片。

第四方面,本申请提供一种物理不可克隆函数PUF的挑战响应对生成方法,所述PUF中包括阻变式存储器RRAM单元,所述方法包括:

向所述RRAM单元输入预设电压,并控制所述RRAM单元工作在预设限制电流下;

检测所述RRAM单元在所述预设限制电流以及所述预设电压下处于易失存储状态的时间,并生成与所述时间对应的数字量;

将所述数字量确定为所述PUF的响应,并确定与所述响应对应的挑战。

在一种可行的实现方式中,所述生成与所述时间对应的数字量,包括:

生成所述时间对应的第一数字量,所述第一数字量的长度为N;

截取所述第一数字量的后M位形成第二数字量,M小于N;

相应的,所述将所述数字量确定为PUF的响应,包括:

将所述第二数字量确定为所述响应。

在一种可行的实现方式中,所述确定与所述响应对应的挑战,包括:

将存储所述响应的地址确定为与所述响应对应的挑战。

在一种实现方式中,所述方法还包括:

接收挑战指令,所述挑战指令中包括目标挑战;

输出与所述目标挑战对应的响应。

本申请提供一种PUF电路、芯片、设备及挑战响应对生成方法,该PUF电路包括:RRAM单元、测量电路和存储器;测量电路分别与RRAM单元和存储器连接。测量电路用于检测RRAM单元在预设限制电流以及预设电压下处于易失存储状态的时间,并生成与时间对应的数字量;存储器用于将数字量作为PUF的响应进行存储,并确定与响应对应的挑战。该PUF电路利用RRAM单元在限制电流较小时的易失存储状态的持续时间,即短时记忆时间的随机性,将RRAM单元作为一个随机源,将其短时记忆时间作为PUF的随机数,使得PUF不易被攻击,同时由于RRAM单元在限制电流较小时可擦写次数大幅提高,从而能够利用一个RRAM单元产生数量巨大的随机数,从而实现了一种具有大量CRP,同时CPR之间没有相关性,可以容忍建模攻击的PUF。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为一种安全芯片示意图;

图2为本申请提供的一种PUF电路的结构示意图一;

图3为本申请提供的一种PUF电路的结构示意图二;

图4为本申请提供的一种PUF电路的结构示意图三;

图5为本申请提供的一种PUF电路的时序图;

图6为本申请提供的一种PUF电路的结构示意图四;

图7为本申请提供的一种PUF认证流程示意图;

图8为本申请提供的一种PUF的挑战响应对生成方法的流程示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

随着集成电路技术和信息安全技术的发展,安全芯片的应用领域已经从传统的政治、经济、军事和外交等重要部门全面推广应用到社会的日常生活中,如身份认证、金融收费、汽车防盗、物流跟踪、防伪标识等等。

安全芯片作为一个完全封闭的硬件装置,具有封闭性好、破解难度和破解代价高的特点。由于安全芯片内部集成了处理器模块、存储器模块和密码算法模块,可以独立地进行密钥生成和加解密等操作,能够完成数据的安全保护及身份认证等服务。安全芯片在未来信息安全领域将发挥越来越重要的作用。

然而随着攻击技术的发展,安全芯片受到的威胁越来越多,如图1所示。这些威胁大致可以分为软件攻击、物理攻击、软件和物理联合攻击,其中物理攻击又包括侵入式攻击和非侵入式攻击。侵入式攻击又称为强力攻击,包括微探测、激光切割等,通过硬件反向技术进行非法克隆关键信息,从而盗取密钥信息或者实现非法认证。非侵入式攻击通常指在执行密码算法过程中物理器件泄漏的各种与密钥本身相关的旁道信息,譬如运行时间、能量消耗、电磁辐射等,攻击者利用旁道信息攻击加密器件来盗取密钥。

此外,当前又出现将多种攻击模式相结合,包括硬件木马、逆向工程、寄存器强写攻击等,进一步提高攻击技术的破坏性,随着攻击模式的演化,对安全芯片的要求也越来越高。基于PUF电路的安全芯片,由于其唯一性、随机性和不可克隆性,越来越受到关注。

现有技术中,PUF通常分为强PUF和弱PUF。强PUF通常是基于对一定数量的级联逻辑器件的两种组合的比较来产生响应,典型的例子包括基于门级延迟变化的仲裁器(PUF和环形振荡器PUF。而弱PUF通常是基于一对相同的器件或电路之间的参数不匹配来产生响应,典型的例子包括蝶型PUF和触发器PUF等。

强PUF具有大量的CRP,有利于进行广泛的安全应用,然而,这种强PUF的资源复用导致了不同CRP之间具有关联性,使其容易受到建模攻击,这种攻击可以从一个PUF的所有CRP子集中导出一个数值模型,并预测其对其他挑战的未来响应。此外,强PUF通常需要复杂的硬件,导致单个响应位都要带来显著的能量消耗,很容易超过电子设备的限制。弱PUF的不同CRP之间的没有相关性,可以抵抗建模攻击,然而,弱PUF通常仅具有少量CRP,这就导致其应用受到限制,在需要大量CRP的应用场景中无法使用。因此,在考虑设备功率约束的情况下,为了实现PUF在实际安全认证上的应用,还面临一个基础挑战,即如何提供一种具有大量CRP,同时CPR之间没有相关性,可以容忍建模攻击的PUF。

为了解决上述问题,本申请提供一种PUF电路,该PUF电路采用阻变式存储器(Resistive Random Access Memory,RRAM)单元作为生成随机数的随机源,利用RRAM单元在限制电流较小时的易失存储状态的持续时间的随机性来生成随机数,使得PUF不易被攻击,同时由于RRAM单元在限制电流较小时可擦写次数大幅提高,从而能够利用一个RRAM单元产生数量巨大的随机数,从而实现了一种具有大量CRP,同时CPR之间没有相关性,可以容忍建模攻击的PUF。

以下首先对RRAM单元的特性进行详细介绍。当RRAM单元限制电流较大,即通过RRAM的最大电流较大时,向RRAM单元施加置位电压后,RRAM单元变为低阻态,且RRAM的单元的保持时间可以达到10年甚至更久,进而实现非易失性存储,示例的,该较大的限制电流为120μA至1mA,该置位电压可以为1.5V至2.5V,本实施例对此不作具体限定,限制电流和置位电压的具体数值可以根据RRAM的实际情况确定,只要能够使得RRAM单元处于非易失存储状态即可。

但是,当限制电流较小时,向RRAM单元施加置位电压后,RRAM单元虽然也变成低阻态,但是置位电压撤销,在其上施加一个较小的电压时,RRAM单元经过一段时间又会回到高阻态,即RRAM单元的保持时间较短,表现出短时记忆的易失性存储特性。示例的,该较小的限制电流可以小于50μA,该较小的电压可以是0.5V左右的电压,同样的,该较小的限制电流和较小的电压的具体数值也可以根据RRAM的实际情况确定,只要能够使得RRAM单元处于易失存储状态即可。在该较小的限制电流和较小的电压作用下,RRAM单元的低阻态的持续时间就是短时记忆时间。

在同一限制电流条件下,RRAM单元的短时记忆时间表现较强的随机性,且限制电流越小,短时记忆时间越短,分布区域也越大。另外,在低限制电流条件下,RRAM单元的可擦写次数大幅提高,根据这一特点,可以利用一个RRAM单元经过多次的设置,并测量其短时记忆时间,从而产生数量巨大的随机数。

以下结合具体实施例对本申请提供的PUF电路进行详细说明。可以理解的是,下面这几个具体实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。

图2为本申请提供的一种PUF电路的结构示意图一。如图2所示,PUF电路包括:RRAM单元21、测量电路22和存储器23;测量电路22分别与RRAM单元21和存储器23连接。

测量电路22,用于检测RRAM单元21在预设限制电流以及预设电压下处于易失存储状态的时间,并生成与时间对应的数字量;存储器23用于将数字量作为PUF的响应进行存储,并确定与响应对应的挑战。

本实施例中利用RRAM单元21产生随机数,通过对RRAM单元21设置预设限制电流,并施加预设电压使RRAM单元21处于易失存储状态,示例的,对RRAM单元21设置较小的限制电流,例如15μA,向RRAM单元21施加置位电压,例如2V,使RRAM单元21处于低阻态,之后,置位电压撤销后,向RRAM单元21施加较小的预设电压,例如0.8V,则RRAM单元21开始处于易失存储状态,经过一段时间后,RRAM单元21从低阻态回到高阻态,易失存储状态结束。

通过测量电路22检测RRAM单元21处于易失存储状态的时间,即短时记忆时间,并生成与该时间对应的数字量作为PUF电路生成的随机数。由于RRAM单元21处于易失存储状态的时间具有随机性,从而保证了生成的数字量的随机性。

测量电路22与RRAM单元21配套来对其进行检测,示例的,如图3所示,测量电路22中可以包括随机数检测电路221和计数器222。

其中,随机数检测电路221用于向RRAM单元21输入预设电压,检测RRAM单元21在预设电压下的电流变化并输出对应的指示信号;计数器222用于根据指示信号生成与RRAM单元处于易失存储状态的时间对应的数字量。

由上述对RRAM单元21的说明可知,RRAM单元21的存储状态的变化体现在其阻态的变化,那么相应的其阻态变化时,流经RRAM单元21的电流也会发生变化,因此,随机数检测电路221检测RRAM单元21在预设电压下的电流变化,根据电流变化,以及向RRAM单元21施加的电压信号来输出对应的指示信号,该指示信号用于指示RRAM单元21是否处于易失存储状态,从而计数器可以222可以根据指示信号生成与RRAM单元21处于易失存储状态的时间对应的数字量。

存储器23将该数字量进行存储作为PUF的一个响应,同时确定一个与该响应对应的挑战,该挑战与响应一一对应,作为PUF的一个CRP。本实施例中对于存储器23确定的与响应对应的挑战不作具体限定,只要保证挑战与响应一一对应,不同的响应对应的挑战不同即可。

通过上述过程PUF电路产生了一个CRP,可以理解的是,若需要生成多个CRP,则测量电路22重复向RRAM单元21施加电压并进行检测,重复上述过程,则可以生产多个CRP。由于RRAM在限制电流较小时的可擦写次数极大,因此可以重复上述过程生成的随机数的数量也是巨大的,即PUF电路可以生成的CRP的数量是巨大的。

本实施例中,PUF电路利用RRAM单元在限制电流较小时的易失存储状态的持续时间,即短时记忆时间的随机性,将RRAM单元作为一个随机源,将其短时记忆时间作为PUF的随机数,使得PUF不易被攻击,同时由于RRAM单元在限制电流较小时可擦写次数大幅提高,从而能够利用一个RRAM单元产生数量巨大的随机数,从而实现了一种具有大量CRP,同时CPR之间没有相关性,可以容忍建模攻击的PUF。

在上述实施例的基础上,对PUF电路的各部分进行进一步的详细说明。

图4是本申请提供的一种PUF电路的结构示意图三。如图4所示,RRAM单元21包括RRAM器件R1和第一开关管M1。

图4中RRAM单元21是一个典型的1T1R RRAM结构。其中的第一开关管M1作为选通器件。第一开关管M1的第一端连接字线WL,通过字线WL与电源连接,电源用于控制RRAM单元21的预设限流;第一开关管M1的第二端连接源线SL,源线SL接地;第一开关管M1的第三端与RRAM器件R1的下电极连接,RRAM器件R1的上电极与位线BL连接,位线BL与随机数检测电路221连接。

随机数检测电路221包括第二开关管M2、第三开关管M3、第四开关管M4、镜像恒流源2211、比较器A1和与非门G1。

第三开关管M3的第一端与控制信号Soft_Prog连接;控制信号Soft_Prog为高电平信号或低电平信号;第三开关管M3的第二端与第一预设电压信号Vwb连接;第三开关管M3的第三端与第二开关管M2的第一端连接。

第四开关管M4的第一端与控制信号Soft_Prog连接;控制信号Soft_Prog为高电平信号或低电平信号;第四开关管M4的第二端与第二预设电压信号Vsb连接;第四开关管M4的第三端与第二开关管M2的第一端连接;第二预设电压信号Vsb小于第一预设电压信号Vwb。

第二开关管M2的第二端与镜像恒流源2211连接;第二开关管M2的第三端与RRAM器件R1的上电极连接。

镜像恒流源2211与比较器A1的第一输入端连接;比较器A1的第二输入端与参考电源Vref连接。

比较器A1的输出端与与非门G1的第一输入端连接;与非门G1的第二输入端与测试信号Meas连接;测试信号Meas与控制信号Soft_Prog的电平相反。

与非门G1的输出端与计数器222连接。

结合图5所示的时序图对图4的PUF电路的工作原理进行说明。

在每一个随机数产生周期中,控制信号Soft_Prog先变为高电平,控制信号Soft_Prog可以通过软编程单元控制。第一预设电压信号Vwb,也可以称为写电压或置位电压,通过第三开关管M3连接到第二开关管M2的栅极,对位线BL的电压进行钳位,进行RRAM单元21的置位操作。RRAM单元21的限制电流通过其字线WL进行限制,通过设置较小的限制电流来实现RRAM单元21的易失性存储。

控制信号Soft_Prog为高电平持续一段时间,RRAM单元21从高阻态变为低阻态,通路电流Icell也会变大,通过由第五开关管M5和第六开关管M6构成的镜像恒流源2211,电流Isense电流也变大,输入比较器A1的一端的Vsense电压也变高,当Vsense电压大于参考电压Vref,则比较器A1输出的Flag信号变为高电平。

当控制信号Soft_Prog为从高变低时,较低的第二预设电压信号Vsb,也就是前述的较小的预设电压,也可以成为偏置电压,通过第四开关管M3施加在第二开关管M2的栅极,此时RRAM单元21的短时记忆时间开始。当RRAM单元从低阻态恢复为高阻态时,通路电流Icell会变小,通过第五开关管M5和第六开关管M6构成的镜像恒流源2211,Isense电流也变小,输入比较器A1的一端的Vsense电压也变低,当Vsense电压小于参考电压Vref,Flag信号变为低电平,短时记忆时间结束。

此外,当控制信号Soft_Prog为从高变低时,测试信号Meas变为高电平,计数器222会进行复位,Meas信号和Flag信号经过与非门G1输出后得到指示信号,即Stop信号,Stop信号为低电平的时间就是RRAM单元21的短时记忆时间,即处于易失存储状态的时间。计数器222在与非门G1的输出端由高电平变为低电平时开始计数,并在与非门G1的输出端由低电平变为高电平时停止计数。

示例的,计数器222可以输出一个与RRAM单元21的短时记忆时间对应的20位的数字量CNT[19:0]。本实施例中对于计数器输出的数字量的长度不作具体限定,数字量的长度可以根据实际需要选择设置。

存储器23的存储控制信号Store有效时,将数字量CNT[19:0]写入存储器23进行存储,作为PUF的一个响应。可选的,存储器23还将存储该响应的地址确定为与该响应对应的挑战,从而获得一个CRP。在存储器23中存储了CRP的前提下,存储器23还可以在接收到输入的挑战时输出与该挑战对应的响应。如图4中所示的,存储器23接收到的挑战信号CHA,输出相应的响应信号RES。

本实施例中,测量电路中的随机数检测电路,通过向RRAM单元施加电压,并检测RRAM单元的电流变化来检测RRAM单元的短时记忆时间,并通过计数器来输出该短时记忆时间对应的数字量,实现了生成数量巨大且互不相关的CRP。

可选的,在上述PUF电路的基础上,如图6所示,测量电路22还包括截断电路223;截断电路223与计数器222和存储器23分别连接。

截断电路223用于截取计数器222输出的数字量的后M位,相应的,存储器23用于将截取后得到的数字量作为PUF的响应进行存储。

示例的,计数器222输出一个20位数字量CNT[19:0],通过截断电路223,20位数字量CNT[19:0]的高4位被截掉,剩下低16位数字量CNT[15:0]。存储器23的存储控制信号Store有效时,16位数字量CNT[15:0]被写入存储器23进行存储,其对应的地址作为响应的挑战。

计数器222根据RRAM单元21的短时记忆时间产生对应的数字量时,每次生成的数字量的高位部分可能相同,而低位不同,为了进一步提高随机性,采用截断电路223将数字量的高位部分截掉,而仅保留数字量的低位部分,使得进行截断之后得到的数字量中1和0的比例更为接近,随机数的随机性也更高,从而使得PUF更不易被建模攻击。可以理解的是,上述20位数字量和截断后得到的16位数字量仅为示例说明,本实施例中对于截断电路223截取的长度不作具体限定,可以根据实际需要选择设置。

本申请还提供一种芯片,该芯片中包括如上述实施例中任一项的PUF电路。可以理解的是,具有上述PUF电路的芯片能够实现该PUF电路实现的功能,也能够应用于该PUF电路可以应用的安全应用场景中。

进一步的,本申请还提供一种电子设备,该电子设备中包括上述芯片。

基于上述实施例提供的PUF电路,对其在安全领域的具体应用进行举例说明。示例的,在进行电子设备的安全认证时,终端与服务端之间采用基于PUF的认证方法进行安全认证,终端可以是上的电子设备,其芯片中可以包括上述的PUF电路。

基于PUF的认证过程可以包括三个阶段,注册、认证和重配置阶段,如图7所示。

注册阶段:在终端部署之前,每个终端都要进行注册。在注册阶段,终端中的PUF首先生成多个CRP。然后,各个终端将其标识和相应的多个CRP发送至服务端,服务端对终端标识和CRP进行存储,例如存储在CRP数据库中。其中,终端的标识也可以由PUF生成。由于PUF生成的不同CPR之间的没有相关性,因此建模攻击是无效的。

认证阶段:终端发送其标识给服务端,服务端在CRP数据库中查找该标识,并选择该标识对应的CRP,将CRP中的挑战发送到终端,然后终端输出该挑战对应的响应,并发送给服务端。服务端确定接收到的相应与CRP数据库的响应是否匹配,即两个响应的差异不超过某个预定的阈值。服务端检测两个响应是否匹配时,是确定两个数字量之间不同的位的数量是否超过预订的阈值。或者服务端也可以检测两个响应是否完全一致。如果匹配,则对终端进行身份认证,否则将拒绝身份认证。使用过的CRP将从CRP数据库中删除。

CPR重配置阶段:在CRP数据库中,当属于某一终端的CRP快用完或已经用完时,需要由终端重新生成新的CRP。在重新配置阶段,服务端根据终端的标识,发送重新配置命令到相应的终端。终端接收到重配置命令后生成新的CRP再发送至服务端,服务端对终端发送的新的CRP进行存储,例如存储在CRP数据库中。由于本申请的PUF可以输出数量巨大的CRP,且重新生成的CRP与先前存储的CRP完全无关,因此在CRP重新配置之后,可以继续进行认证。

可以理解的是,在注册阶段终端可以将多个CRP注册到服务端,从而可以在后续的认证阶段中才用该多个CRP进行多次认证。只有在多个CRP即将用尽或已经用尽时,才需要进行CRP重配置。CRP重配置过程就是重新进行注册的过程,在CRP重配置之后,即可利用重配置的CRP进行认证。

图8为本申请提供的一种PUF的挑战响应对生成方法的流程示意图。PUF中包括RRAM单元,示例的,该PUF可以是上述任一实施例中的PUF。该方法包括:

S801、向RRAM单元输入预设电压,并控制RRAM单元工作在预设限制电流下;

S802、检测RRAM单元在预设限制电流以及预设电压下处于易失存储状态的时间,并生成与时间对应的数字量;

S803、将数字量确定为PUF的响应,并确定与响应对应的挑战。

可选的,生成与时间对应的数字量,包括:

生成时间对应的第一数字量,第一数字量的长度为N;截取第一数字量的后M位形成第二数字量,M小于N。

相应的,将数字量确定为PUF的响应,包括:将第二数字量确定为响应。

可选的,确定与响应对应的挑战,包括:

将存储响应的地址确定为与响应对应的挑战。

可选的,方法还包括:接收挑战指令,挑战指令中包括目标挑战;输出与目标挑战对应的响应。

本实施例提供的方法可以由上述PUF电路实现,其实现原理和技术效果类似,此处不再赘述。

实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一可读取存储器中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储器(存储介质)包括:只读存储器(read-only memory,ROM)、RAM、快闪存储器、硬盘、固态硬盘、磁带(magnetic tape)、软盘(floppy disk)、光盘(optical disc)及其任意组合。

本申请实施例是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理单元以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理单元执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

在本申请中,术语“包括”及其变形可以指非限制性的包括;术语“或”及其变形可以指“和/或”。本本申请中术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。本申请中,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。

16页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种实现服务器MAC信息准确的方法、装置和系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类