阻变存储器的操作方法及其操作装置、芯片以及芯片认证方法与流程

文档序号:17188801发布日期:2019-03-22 21:45阅读:291来源:国知局
阻变存储器的操作方法及其操作装置、芯片以及芯片认证方法与流程

本公开的实施例涉及一种阻变存储器的操作方法及其操作装置、芯片以及芯片认证方法。



背景技术:

随着信息技术的高速发展,硬件安全面临着多方面的威胁(例如硬件特洛伊、知识产权剽窃、集成电路逆向工程、侧信道攻击等)。在众多的解决方案中,物理不可克隆函数(physicallyunclonablefunction,puf)因其固有的随机性、可再现性以及与微纳加工工艺的兼容性被认为是硬件安全防护的可行技术方案。



技术实现要素:

本公开至少一实施例提供一种阻变存储器的操作方法,包括:对阻变存储器阵列中的多个存储单元施加复位电压,以使所述阻变存储器阵列处于第一状态以形成物理不可克隆函数(puf);以及对处于所述第一状态的阻变存储器阵列中的多个存储单元施加置位电压,以使所述阻变存储器阵列处于第二状态;在所述第二状态时,所述阻变存储器阵列中有百分之九十以上的存储单元处于低阻态。

例如,本公开一实施例提供的阻变存储器的操作方法还包括:对处于所述第二状态的阻变存储器阵列中的存储单元施加所述复位电压,以使所述阻变存储器阵列处于第三状态;处于所述第三状态的阻变存储器阵列的电阻值状态与处于所述第一状态的阻变存储器阵列的电阻值状态,二者的误差值小于一预设误差值。

例如,在本公开一实施例提供的阻变存储器的操作方法中,所述预设误差值包括百分之十。

例如,在本公开一实施例提供的阻变存储器的操作方法中,在所述第二状态时,所述阻变存储器阵列中有百分之九十五以上的存储单元处于低阻态。

例如,在本公开一实施例提供的阻变存储器的操作方法中,在形成所述puf之前还包括:对所述阻变存储器阵列中的至少部分存储单元进行多次连续的隐藏与再现操作,以确定所述复位电压和所述置位电压。

例如,在本公开一实施例提供的阻变存储器的操作方法中,在形成所述puf之后还包括提取激励响应对。

例如,在本公开一实施例提供的阻变存储器的操作方法中,所述提取激励响应对包括:将所述阻变存储器阵列划分为第一子阵列和第二子阵列,对比所述第一子阵列和所述第二子阵列中的对应存储单元的电阻值大小,以获得多个激励响应对。

例如,在本公开一实施例提供的阻变存储器的操作方法中,所述提取激励响应对包括:将所述阻变存储器阵列划分为第一子阵列和第二子阵列,随机从所述第一子阵列和所述第二子阵列中各选取一个存储单元并对其电阻值大小进行对比,以获得多个激励响应对。

例如,在本公开一实施例提供的阻变存储器的操作方法中,所述提取激励响应对包括:提供一个参考电阻值,对比所述阻变存储器阵列中的各个存储单元的电阻值与参考电阻值,以获得多个激励响应对。

例如,在本公开一实施例提供的阻变存储器的操作方法中,所述误差值通过汉明距离比较获得。

本公开至少一实施例还提供一种阻变存储器操作装置,包括处理器和存储器,所述存储器存储有可执行指令,所述可执行指令可由所述处理器执行以实现本公开任一实施例所述的阻变存储器的操作方法。

本公开至少一实施例还提供一种阻变存储器芯片,包括阻变存储器阵列,所述阻变存储器阵列处于其中百分之九十以上的存储单元处于低阻态的第二状态。通过所述阻变存储器阵列中的多个存储单元被施加复位电压以使所述阻变存储器阵列处于第一状态以形成puf,然后对处于所述第一状态的阻变存储器阵列中的多个存储单元施加置位电压,以使所述阻变存储器阵列处于所述第二状态。

本公开至少一实施例还提供一种芯片认证方法,包括:选择认证服务器中的一个激励发送至待认证的如本公开任一实施例所述的阻变存储器芯片,其中,处于所述第二状态的阻变存储器阵列中的存储单元被施加所述复位电压,以使所述阻变存储器阵列处于第三状态,处于所述第三状态的阻变存储器阵列中对应所述激励的存储单元所存储的数据被作为第一响应返回;所述认证服务器接收所述待认证芯片根据所述激励返回的所述第一响应;以及将所述第一响应和所述认证服务器中的多个激励响应对中的与所述激励匹配的第二响应进行对比,若误差值小于一预设误差值,则认证成功,否则认证失败。

例如,本公开一实施例提供的芯片认证方法还包括:对原始芯片中的阻变存储器阵列施加所述复位电压,以形成puf;以及提取所述puf中的多个激励响应对,并存储在所述认证服务器中。

例如,在本公开一实施例提供的芯片认证方法中,所述激励包括所述待认证芯片中的至少一个地址。

本公开至少一实施例还提供一种芯片认证方法,包括:待认证的如本公开任一实施例所述的阻变存储器芯片接收认证服务器发送的一个激励。对所述待认证芯片施加所述复位电压,其中,处于所述第二状态的阻变存储器阵列中的存储单元被施加所述复位电压,以使所述阻变存储器阵列处于第三状态,处于所述第三状态的阻变存储器阵列中对应所述激励的存储单元所存储的数据被作为第一响应返回至所述认证服务器。

例如,本公开一实施例提供的芯片认证方法还包括:将所述第一响应和所述认证服务器中的多个激励响应对中的与所述激励匹配的第二响应进行对比,若误差值小于一预设误差值,则认证成功,否则认证失败。

附图说明

为了更清楚地说明本公开实施例的技术方案,下面将对实施例的附图作简单地介绍,显而易见地,下面描述中的附图仅仅涉及本公开的一些实施例,而非对本公开的限制。

图1为一种阻变存储器阵列的示意图;

图2为一种图1中所示的阻变存储器阵列中的存储单元的示意图;

图3为一种图2中所示的存储单元中的阻变元件的示意图;

图4为一种阻变元件的电学特性的示意图;

图5为一种阻变元件多次循环之间的关联性的示意图;

图6为本公开一实施例提供的一种阻变存储器的操作方法的示意图1;

图7为本公开一实施例提供的一种阻变存储器的操作方法的示意图2;

图8为一种阻变存储器阵列处于第一状态时的示意图;

图9为一种阻变存储器阵列处于第二状态时的示意图;

图10为一种阻变存储器阵列处于第三状态时的示意图;

图11a为采用差分方式提取激励响应对的示意图1;

图11b为采用差分方式提取激励响应对的示意图2;

图12为本公开一实施例提供的一种阻变存储器操作装置示意图;

图13为本公开一实施例提供的一种芯片认证方法的示意图1;

图14为本公开一实施例提供的一种芯片认证方法的示意框图;

图15为本公开一实施例提供的一种芯片认证方法的示意图2;以及

图16为本公开一实施例提供的另一种芯片认证方法的示意图。

具体实施方式

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

除非另外定义,本公开使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。同样,“一个”、“一”或者“该”等类似词语也不表示数量限制,而是表示存在至少一个。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。

阻变存储器因其固有的随机性非常适合puf应用,但目前实现的阻变存储器方案也同样存在数据泄露的风险。在初始化后,阻变存储器阵列中的每个存储单元的电阻被固定到一个确定的状态,之后的重现过程变成了单纯的读存储器过程,这样就可能导致存储在puf中的数据在一定程度上是对外开放的,攻击者可以通过一定的技术手段直接读取每个存储单元的数据。攻击者一旦获得存储在puf中的数据就可以很容易对puf进行复制,这对被保护硬件的安全可能构成威胁。

例如,阻变存储器包括以开关元件和阻变元件为基础的存储单元构成的阻变存储器阵列。图1示出了一种阻变存储器阵列10,阻变存储器阵列10例如由交叉排布的8条字线wl(wl<0>~wl<7>)、128条位线bl(bl<0>~bl<127>)和128条源线sl(sl<0>~sl<127>)组成,在位线bl与字线wl的每个交叉点设置一个存储单元100。图2示出了一种阻变存储器阵列10中的存储单元100的结构示意图,该存储单元100连接到相应的字线wl、源线sl和位线bl。如图2所示,每一个存储单元100包括一个阻变元件110和一个开关元件120。例如开关元件120可以采用晶体管。

需要说明的是,本公开的实施例中采用的晶体管均可以为薄膜晶体管或场效应晶体管(例如mos场效应晶体管)或其他特性相同的开关器件。这里采用的晶体管的源极、漏极在结构上可以是对称的,所以其源极、漏极在结构上可以是没有区别的。在本公开的实施例中,为了区分晶体管除栅极之外的两极,直接描述了其中一极为第一极,而另一极为第二极。

本公开的实施例对采用的晶体管的类型不作限定,例如当晶体管采用n型晶体管时,其栅极和字线wl连接,例如字线wl上输入高电平时晶体管导通;晶体管的第一极可以是漏极并配置为和位线bl连接,第二极可以是源极并配置为串联阻变元件110后连接至源线sl。例如当晶体管采用p型晶体管时,其栅极和字线wl连接,例如字线wl上输入低电平时晶体管导通;晶体管的第一极可以是源极并配置为和位线bl连接,第二极可以是漏极并配置为串联阻变元件110后连接至源线sl。下面各实施例均以晶体管采用n型晶体管为例进行说明。

字线wl的作用是对晶体管施加相应电压,从而控制晶体管的导通或截止。在晶体管导通后,例如,可以通过在源线sl和位线bl向存储单元中的阻变元件110施加电压,以改变该阻变元件110的阻态。例如,可以通过位线bl施加置位电压,以使得该阻变元件110处于低阻态;又例如,可以通过源线sl施加复位电压,以使得该阻变元件110处于高阻态。

需要说明的是,图1和图2所示的阻变存储器阵列10及存储单元100的结构仅是示例性的,并非对本发明实施例的限制。例如,阻变存储器阵列10中存储单元100的行与列的布置不限于图1中示出的情形。

阻变元件是阻变存储器阵列中的关键部件。例如,如图3所示,阻变元件110例如为夹心结构,包括位于中间的阻变层111和位于两侧的上电极112与下电极113。阻变层111例如可以是单层单一种类二元金属氧化物(例如nio、alox等)、石墨烯氧化物、多元钙钛矿氧化物(例如sto、szo、pcmo等),也可以是多层上述物质的叠层,例如可以是tixn与alox的叠层。

例如采用晶体管作为阻变存储器的开关元件时,阻变元件110的上电极112和下电极113例如可以分别连接晶体管的源极和阻变存储器阵列10的源线sl。晶体管的漏极连接位线bl,栅极连接字线wl。这样,在位线bl和字线wl同时施加电压时,例如可以进行置位操作。在源线sl和字线wl同时施加电压时,例如可以进行复位操作。晶体管的栅极的作用是通过接收来自字线wl的导通电压而开启晶体管,从而可以通过阻变元件110两侧的电极向阻变层111施加电压。因此,在采用晶体管作为开关元件120的结构中,对阻变层111施加电压时均需要先开启晶体管,也即需要通过字线wl对晶体管的栅极施加导通电压。

例如,如图4所示,存储单元中的阻变元件具有的特性之一是其电阻值随着施加在其两端的电压大小而变化。例如,阻变元件的电阻值可以通过在其两端施加一定的电压,然后通过检测通过阻变元件的电流获得。图4中横坐标表示施加在阻变元件两端的扫描电压值,例如,正电压表示施加在上电极的电压为高电平而施加在下电极的电压为低电平;相应的负电压表示施加在上电极的电压为低电平而施加在下电极的电压为高电平。图4中纵坐标表示通过阻变元件的电流值(此处为了表示清楚,纵坐标采用了对数坐标)。

例如,如图4中从a点到b点所示,随着施加在阻变元件上的电压值越来越大(此时施加电压为负电压),阻变元件的电阻值越来越大,即阻变元件从低阻态变为高阻态,将使阻变元件从低阻态变为高阻态的操作称为复位(reset)操作。如图4中从b点到c点表示,随着施加在阻变元件上的电压值越来越大(此时施加电压为正电压),阻变元件的电阻值越来越小,即阻变元件从高阻态变为低阻态,将使阻变元件从高阻态变为低阻态的操作称为置位(set)操作。图4中还示出了从c点到a点,在施加电压逐渐变小时阻变元件的电阻值变化的过程。可以看出,在相同的施加电压下,阻变元件在从a点向c点变化过程中的电阻值比从c点向a点变化过程中的电阻值大。

另外,如图5所示,存储单元中的阻变元件还具有一个特性就是循环与循环之间的关联性。图5中横坐标表示循环的次数,例如循环一次表示对一个阻变元件施加正电压进行置位操作,然后施加负电压进行复位操作,最后施加与上一次置位操作时相同的正电压进行置位操作;又例如,循环一次还可以表示对一个阻变元件施加负电压进行复位操作,然后施加正电压进行置位操作,最后施加与上一次复位操作时相同的负电压进行复位操作。图5中纵坐标表示阻变元件的电阻值。图5中示出了四个不同的阻变元件(如图中cell1、cell2、cell3和cell4所示)在反复的复位与置位操作过程中置位状态下的电阻值,可以看出在循环过程中,每个阻变元件的电阻值表现出一定的关联性。同样地,阻变元件在复位状态的电阻值也具有一定的关联性。

本公开至少一实施例提供一种阻变存储器的操作方法,该操作方法包括:对阻变存储器阵列中的多个存储单元施加复位电压,以使阻变存储器阵列处于第一状态以形成物理不可克隆函数(physicallyunclonablefunction,puf);以及对处于第一状态的阻变存储器阵列中的多个存储单元施加置位电压,以使阻变存储器阵列处于第二状态。在第二状态时,阻变存储器阵列中有百分之九十以上的存储单元处于低阻态。本公开至少一实施例还提供对应于上述阻变存储器的操作方法的操作装置、芯片以及芯片认证方法。

本公开的实施例提供的阻变存储器的操作方法及其操作装置、芯片以及芯片认证方法,可以对存储在物理不可克隆函数中的数据进行隐藏,从而可以实现对puf中信息的有效保护。

本公开的至少一实施例提供一种阻变存储器的操作方法,例如该操作方法可以用于实现物理不可克隆函数(puf)。例如,如图6所示,该操作方法可以包括如下操作步骤。

步骤s10:对阻变存储器阵列中的多个存储单元施加复位电压vr,以使阻变存储器阵列处于第一状态以形成puf;

步骤s20:对处于第一状态的阻变存储器阵列中的多个存储单元施加置位电压vs,以使阻变存储器阵列处于第二状态。在第二状态时,阻变存储器阵列中有百分之九十以上的存储单元处于低阻态。

在步骤s10中,例如,仍然以图1中所示的8×128(8行,128列)的阻变存储器阵列10为例进行说明,对该阻变存储器阵列10中的多个存储单元例如全部存储单元施加复位电压vr进行复位操作,可以将阻变存储器阵列10中的阻变元件固有的随机性转换为阻变存储器阵列10中电阻的分布,以使该阻变存储器阵列10处于第一状态以形成puf。图8为阻变存储器阵列处于第一状态下的示意图,图8中示出了8×128个存储单元的电阻值状态,黑色代表低阻态,白色代表高阻态。

例如,在存储单元采用图2中所示结构的情形下,可以通过与每个存储单元连接的字线wl和源线sl施加复位电压vr。在一个具体示例中,复位电压vr可以采用大小为-4.6v的电压,例如可以通过在阻变元件的下电极施加4.6v的电压实现。本公开的实施例包括但不限于此,复位电压vr还可以采用其他电压值以实现复位操作即可。需要说明的是,此处采用的-4.6v的复位电压适用于采用tin/taox/hfalyox/tin材料体系的阻变元件。其中tin为上下电极材料,taox/hfalyox为中间阻变层的两层叠层材料。

例如,如图8所示,可以采用这样一个复位电压,施加该复位电压后,可以使阻变存储器阵列中的存储单元处于低阻态(黑色)和处于高阻态(白色)的比例近似为1:1。

在步骤s20中,对如图8所示的处于第一状态的阻变存储器阵列10中的多个存储单元例如全部存储单元施加置位电压vs进行置位操作,以使该阻变存储器阵列10处于第二状态,以实现对阻变存储器阵列10中所存储数据(即各个存储单元的电阻值状态)的隐藏。图9为阻变存储器阵列10处于第二状态下的示意图。

例如,在一个示例中,当阻变存储器阵列10处于第二状态时,阻变存储器阵列中10有百分之九十以上的存储单元处于低阻态。又例如,在另一个示例中,当阻变存储器阵列10处于第二状态时,阻变存储器阵列10中有百分之九十五以上的存储单元处于低阻态。也就是说,对阻变存储器阵列10进行置位操作时,可以使阻变存储器阵列10中绝大多数的存储单元处于低电阻状态。

例如,在存储单元采用图2中所示结构的情形下,可以通过连接每个存储单元的字线wl和位线bl施加置位电压。在一个具体示例中,置位电压vs可以采用大小为3.6v的电压,例如可以通过在阻变元件的上电极施加3.6v的电压实现。本公开的实施例包括但不限于此,置位电压vs还可以采用其他电压值以实现置位操作即可。需要说明的是,置位电压vs不能设置的太大以尽可能减小对阻变元件的关联性的破坏。另外,需要说明的是,此处采用的3.6v的置位电压适用于采用tin/taox/hfalyox/tin材料体系的阻变元件。其中tin为上下电极材料,taox/hfalyox为中间阻变层的两层叠层材料。

在本实施例中,首先通过对阻变存储器阵列10中的存储单元进行复位操作以形成puf,然后再对阻变存储器阵列10中的存储单元进行置位操作,通过这种方式可以对基于阻变存储器阵列10形成的puf中的数据进行隐藏,从而可以实现对puf中信息的有效保护。

例如,在一个具体示例中,复位电压vr和置位电压vs可以采用脉冲电压。例如,该脉冲电压的脉冲宽度包括20ns~100ns,又例如脉冲宽度可以采用50ns。

需要说明的是,本实施例中提供的操作方法以8×128(8行、128列)大小的阻变存储器阵列为例进行说明,但本公开并不限于此,例如还可以对其他大小的阻变存储器阵列进行操作。另外,本实施例中提供的操作方法是以阻变存储器阵列中的全部存储单元为例进行说明的,本公开的实施例包括但不限于此,例如还可以只对阻变存储器阵列中的部分存储单元进行操作,也可以达到相应的技术效果。

例如,在本实施例的一个示例中,该操作方法还可以包括如下操作步骤。

步骤s30:对处于第二状态的阻变存储器阵列10中的存储单元施加复位电压vr,以使阻变存储器阵列10处于第三状态。处于第三状态的阻变存储器阵列10的电阻值状态与处于第一状态的阻变存储器阵列10的电阻值状态,二者的误差值en小于一预设误差值ep。

在步骤s30中,例如对处于第二状态的阻变存储器阵列10中的存储单元施加和在步骤s10中相同的复位电压vr,以使得该阻变存储器阵列10处于第三状态,以实现对puf中隐藏的数据进行再现。图10为阻变存储器阵列10处于第三状态下的示意图。

例如,对处于第三状态的阻变存储器阵列10与处于第一状态的阻变存储器阵列10的电阻值状态,二者的误差值en可以通过“汉明距离”比较获得。

汉明距离表示两个(相同长度)字符串对应位不同的数量,对两个字符串进行异或运算,并统计结果为1的个数,那么该个数就是汉明距离。例如,将汉明距离用于本实施例时,可以将存储单元处于低阻态时表示其存储数据为二进制1,将存储单元处于高阻态时表示其存储数据为二进制0,本公开的实施例包括但不限于此,例如还可以将存储单元处于低阻态时表示其存储数据为二进制0,而将存储单元处于高阻态时表示其存储数据为二进制1。在本公开的实施例中,均以低阻态表示二进制数据1、高阻态表示二进制数据0为例进行说明,以下各实施例与此相同,不再赘述。

例如,在完成步骤s10后,可以将处于第一状态的阻变存储器阵列10中的各个存储单元的电阻值状态转化为二进制数据0或1存储起来,例如存储为一个字符串t1;在完成步骤s30后,将处于第三状态的阻变存储器阵列10中的各个存储单元的电阻值状态也转化为二进制数据0或1存储起来,例如存储为一个字符串t2。例如,字符串t1和t2可以存储在一个存储器中。然后将字符串t1和t2的对应位进行异或运算,并统计结果为1的个数记为n。

例如,在阻变存储器阵列10采用8×128大小的情形下,对应的字符串长度l为8×128=1024。例如在一个示例中,误差值en可以采用百分比表示,具体可以采用如下公式计算获得。

en=n/l·100%;

在经过步骤s30的数据再现操作后,误差值en小于一预设误差值ep,例如在一个具体示例中,预设误差值ep可以为百分之十。

通过上述步骤s30的操作,可以对在步骤s20中隐藏起来的puf数据进行再现。例如,可以将上述包括步骤s10、s20以及s30的阻变存储器的操作方法用于芯片认证中。

需要说明的是,在本公开的实施例中,阻变存储器阵列10处于第一状态是指:对阻变存储器阵列10进行复位操作以形成puf后的状态;阻变存储器阵列10处于第二状态是指:对处于第一状态的阻变存储器阵列10进行置位操作,以对puf中的数据进行隐藏后的状态;阻变存储器阵列10处于第三状态是指:对处于第二状态的阻变存储器阵列10进行复位操作,以对puf中的数据进行再现后的状态。

例如,可以对于步骤s10、步骤s20以及步骤s30中所使用的复位电压vr和置位电压vs进行优化选择,以使得满足以下情形:处于第二状态下的阻变存储器阵列10中的绝大多数存储单元处于低阻态,例如有百分之九十以上的存储单元处于低阻态;对处于第三状态的阻变存储器阵列10与处于第一状态的阻变存储器阵列10的电阻值状态做比较,二者的误差值en小于一预设误差值ep,例如ep为百分之十。

例如,在本实施例的一个示例中,如图7所示,该操作方法在形成puf之前还可以包括如下操作步骤。

步骤s5:对阻变存储器阵列中10的至少部分存储单元进行多次连续的隐藏与再现操作,以确定复位电压vr和置位电压vs。

在步骤s5中,例如隐藏操作与步骤s20中类似,即对阻变存储器阵列10中的存储单元施加一置位电压;例如再现操作与步骤s30中类似,即对阻变存储器阵列10中的存储单元施加一复位电压。通过对阻变存储器阵列10中的存储单元进行多次连续的隐藏与再现操作,例如可以先确定置位电压vs,然后再逐渐改变施加的复位电压,并比较连续两次施加复位电压后阻变存储器阵列10的电阻值状态,判断其误差值,当该误差值小于一预设误差值时,可以将此时施加的复位电压确定为vr。

例如,对于不同的阻变存储器阵列10,由于在加工时无法避免引入的工艺偏差,其内部的阻变元件的特性会有所差异。所以例如将该操作方法用于芯片认证应用时,要通过步骤s5来确定复位电压vr和置位电压vs。

又例如,对于同一个阻变存储器阵列10里的存储单元,由于其加工时的工艺条件基本上一致,所以其内部的阻变元件的特性也基本保持一致(例如在施加同一电压时呈现出的电阻值以及循环操作时的关联性)。所以在步骤s5中,可以只对阻变存储器阵列10中的部分存储单元进行操作以确定复位电压vr和置位电压vs,当然也可以对阻变存储器阵列中的全部存储单元进行操作,本公开的实施例对此不作限定。

例如,在本实施例的一个示例中,如图7所示,该操作方法在形成puf之后还可以包括如下操作步骤。

步骤s15:提取激励响应对。

puf一般可以按照激励响应对(challengeresponsepair,crp)的个数分为强puf(strongpuf)与弱puf(weakpuf),强puf一般拥有数量巨大的crp。例如,可以将强puf嵌入到一个芯片中用于对该芯片进行认证。

例如,在一个具体示例中,可以采用差分方式获得多个激励响应对。如图11a和图11b所示,例如仍然以8×128大小的阻变存储器阵列10为例进行说明,为了更充分的提取crp,可以将经过步骤s10后处于第一状态下的阻变存储器阵列10平均划分为第一子阵列11和第二子阵列12,每个子阵列大小均为8×64(8行,64列)。当然还可以按照其他方式进行划分,本公开的实施例对此不作限定。

例如,如图11a和图11b所示,可以对比第一子阵列11和第二子阵列12中的对应存储单元的电阻值大小,以获得多个激励响应对。例如对比存储单元a1与a2的电阻值大小,例如当a1的电阻值大于a2的电阻值时,将存储单元a1的存储数据记为二进制数据1,存储单元a2的存储数据记为二进制数据0。也就是说在对比时,两个存储单元中电阻值较大的其存储数据记为二进制数据1,两个存储单元中电阻值较小的其存储数据记为二进制数据0。同样的,通过对比b1与b2、c1与c2、d1与d2,以获得对应储存单元的数据,如图11b中所示。需要说明的是,为了便于说明,图11a和图11b中的每个子阵列仅示出了四个存储单元,其他存储单元与上述类似,不再赘述。

在上述提取激励响应对的方法中,是对第一子阵列11和第二子阵列12中的对应存储单元进行操作的,本公开的实施例包括但不限于此,例如在另一个示例中还可以随机从第一子阵列11和第二子阵列12中各自选取一个存储单元并对其电阻值大小进行对比,以获得多个激励响应对。进行对比的方式与上述示例中一致,这里不再赘述。

相对于选取对应存储单元进行差分获取crp的方式,采用这种随机选取存储单元进行差分获取crp的方式,可以获取的crp数量更多。

例如,在puf应用在认证芯片中的情形下,阻变存储器阵列10中的每个存储单元根据其所在的行和列都有一个对应的地址数据,例如该地址数据可以是一个二进制字符串,例如当阻变存储器阵列10越大时,该地址数据对应的二进制字符串所占用的位数也越多。

例如,crp中的激励可以采用一个阻变存储器阵列10中的一个或多个地址数据,该激励的响应可以是对应于该地址中的存储单元存储的二进制数据。例如,在一个具体示例中,激励可以采用三个不同地址数据的组合,此时该阻变存储器阵列10的地址数据中有多少个三个不同地址数据的组合就有多少个crp。本公开的实施例包括但不限于上述激励选取的方式,例如激励还可以采用四个、五个或更多不同地址数据的组合,又或者对于同一个阻变存储器阵列10来说,激励还可以同时包括上述不同激励组合的集合。所以当一个阻变存储器阵列10足够大时,其所形成的puf中可以提取出来的crp数量可以是巨大的。

需要说明的是,在上述采用差分方式提取激励响应对的情形中,是将一个阻变存储器阵列分为两个子阵列进行操作的,本公开的实施例包括但不限于此,例如还可以直接对两个阻变存储器阵列进行差分处理,例如该两个阻变存储器阵列的大小相同。

例如,在另一个具体示例中,也可以采用非差分方式获得多个激励响应对。例如,在确定一个阻变存储器阵列10中的存储单元存储的数据时,可以提供一个参考电阻值,然后对比该阻变存储器阵列10中的各个存储单元的电阻值与参考电阻值的大小关系。例如,当存储单元的电阻值大于参考电阻值时,该存储单元的存储数据记为二进制数据1,当存储单元的电阻值小于参考电阻值时,该存储单元的存储数据记为二进制数据0。或者还可以采用相反的方式,本公开的实施例对此不作限定。

例如,与上一示例中的差分方式相同,在非差分方式中,crp中的激励也可以采用一个阻变存储器阵列10中的一个或多个地址数据,该激励的响应可以是对应于该地址中的存储单元存储的二进制数据。关于激励的描述可以参考上一示例,这里不再赘述。

采用上述阻变存储器的操作方法,可以使阻变存储器阵列经过复位操作后形成puf,然后对形成的puf提取crp。通过这种操作方法可以获得puf中的数量巨大的crp,该crp例如可以嵌入到芯片中用于对芯片进行认证。

本公开的至少一实施例还提供一种阻变存储器操作装置20。例如,如图12所示,该阻变存储器操作装置20包括处理器210和存储器220,存储器220存储有可执行指令,该可执行指令可由处理器210执行以实现上述实施例中提供的阻变存储器的操作方法。

例如,在一个具体示例中,如图12所示,阻变存储器操作装置20可以将可执行指令发送至一测试单元30,该测试单元10可以根据可执行指令向阻变存储器阵列10发送相应的操作电压。例如,根据指令的不同,该操作电压可以是复位电压或置位电压。例如,复位电压可以通过阻变存储器阵列10中的字线wl和源线sl施加至每个存储单元,以完成复位操作;例如,置位电压可以通过阻变存储器阵列10中的字线wl和位线bl施加至每个存储单元,以完成置位操作。

例如,阻变存储器操作装置20向测试单元30发送执行步骤s10的指令,测试单元30收到该指令后对阻变存储器阵列10施加复位电压,以使阻变存储器阵列10处于第一状态以形成puf。

例如对应于步骤s15,对处于第一状态的阻变存储器阵列10,测试单元30可以向阻变存储器阵列10发送一个幅值为0.1~0.3v的脉冲电压;然后测试单元30采集阻变存储器阵列10中的每个存储单元的电流数据,并将所采集到的电流数据传输回阻变存储器操作装置20中并存储在存储器220中。

例如,处理器210可以根据上述施加的脉冲电压值以及采集的电流数据计算各存储单元的电阻值,以获得阻变存储器阵列10形成puf后的电阻值状态数据,并且可以将该电阻值状态数据存储在存储器220中。例如,该阻变存储器操作装置20中的处理器210还可以对存储在存储器220中的电阻值状态数据做处理,例如可以采用上述实施例中的差分方式或非差分方式以提取crp并存储在存储器220中。

在本公开的实施例中,处理器210可以包括各种计算结构,例如复杂指令集计算机(cisc)结构、结构精简指令集计算机(risc)结构或者一种实行多种指令集组合的结构。在一些实施例中,处理器210也可以是微处理器,例如x86处理器或arm处理器,或者可以是数字处理器(dsp)等。处理器210可以控制其它组件以执行期望的功能,例如可以控制测试单元30以产生需要的操作电压。

在本公开的实施例中,存储器220可以保存处理器210执行的指令和/或数据。例如,存储器220可以包括一个或多个计算机程序产品,该计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(ram)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(rom)、硬盘、闪存等。在计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器210可以运行该计算机程序指令,以实现本公开实施例中期望的功能。在计算机可读存储介质中还可以存储各种应用程序和各种数据,例如应用程序使用和/或产生的各种数据等。

关于实现上述阻变存储器操作方法实施例中的其他步骤,例如步骤s5、步骤s20和步骤s30,处理器210只需要针对相应的操作方法,发出相应的指令或进行相应的数据处理即可,这里不再赘述。本实施例提供的阻变存储器操作装置可以对存储在puf中的数据进行隐藏,从而可以实现对puf中信息的有效保护。

本公开至少一实施例还提供一种阻变存储器芯片,该芯片包括阻变存储器阵列,阻变存储器阵列处于其中百分之九十以上的存储单元处于低阻态的第二状态;阻变存储器芯片例如处于出厂之后的未使用初始状态,待认证通过之后投入使用。

例如,通过阻变存储器阵列中的多个存储单元被施加复位电压以使阻变存储器阵列处于第一状态以形成puf,然后对处于第一状态的阻变存储器阵列中的多个存储单元施加置位电压,以使阻变存储器阵列处于所述第二状态。关于复位电压、置位电压、第一状态、第二状态以及puf可参考上述实施例中相应描述,这里不再赘述。

例如,每个阻变存储器芯片在出厂时,都可以对其执行上述步骤s5的操作,以确定复位电压vr和置位电压vs。然后可以对其执行上述步骤s10的操作,以形成puf,并执行上述步骤s15的操作以提取puf中的激励响应对。最后对其执行上述步骤s20的操作,以对该芯片中的puf中的数据进行隐藏,从而可以实现对该芯片的有效保护。

本公开的实施例提供的阻变存储器芯片具有唯一性、随机性和不可克隆性。通过提取芯片制造过程中无法避免引入的工艺偏差,可以产生多个特有的数据信息例如激励响应对。例如唯一性是指在每个芯片中形成puf时产生的响应包含了该芯片的唯一物理身份信息;例如随机性是指形成puf时产生的响应的逻辑值具有随机分布特性(由阻变存储器阵列本身的随机性决定);例如不可克隆性是指芯片制造过程中存在的随机工艺偏差,即使攻击者了解芯片电路结构等信息,也难以克隆出具有相同物理身份信息的芯片。这些优越特性使得该阻变存储器芯片可以有效防御各种攻击,例如可以将该芯片嵌入到智能卡等物理实体中用于身份认证。

例如,该阻变存储器芯片还可以包括行列地址译码电路,例如可以用于将输入的激励地址转换成具体的行列地址。

本公开的至少一实施例还提供一种芯片认证方法,如图13和图14所示,该芯片认证方法包括如下操作步骤。

步骤s100:选择认证服务器40中的一个激励发送至待认证芯片1;

步骤s200:认证服务器40接收待认证芯片1根据该激励返回的第一响应;以及

步骤s300:将第一响应和认证服务器40中的多个激励响应对中的与激励匹配的第二响应进行对比,若误差值小于一预设误差值,则认证成功,否则认证失败。

例如,如图14所示,可以将待认证芯片1要匹配的芯片称为原始芯片2。也就是说,如果待认证芯片1就是原始芯片2本身,则认证成功;如果待认证芯片1是其他芯片,则认证失败。

在步骤s100中,例如,待认证芯片1采用上述实施例中提供的阻变存储器芯片,该芯片包括阻变存储器阵列,阻变存储器阵列处于其中百分之九十以上的存储单元处于低阻态的第二状态。例如为了更高的安全性,可以随机选择认证服务器40中的一个激励发送至待认证芯片1。待认证芯片1在收到该激励后,其处于第二状态的阻变存储器阵列中的存储单元被施加复位电压,以使阻变存储器阵列处于第三状态,处于第三状态的阻变存储器阵列中对应激励的存储单元所存储的数据被作为第一响应返回。

例如,关于提取对应激励的存储单元所存储的数据可以采用上述实施例中所述的差分方式和非差分方式。例如,激励可以是待认证芯片1中的至少一个地址,关于激励地址的选择可以参考上述实施例中相应描述,这里不再赘述。

在步骤s300中,例如认证服务器40中预先存储有从原始芯片2中提取的多个激励响应对(crp),将该多个激励响应对中与激励匹配的响应称为第二响应。例如将第一响应和第二响应进行对比时,二者的误差值依然可以采用汉明距离比较获得。例如,预设误差值可以采用百分之十,本公开实施例包括但不限于此。

例如,误差值小于预设误差值时,则认为待认证芯片1就是原始芯片2本身,即认证成功;否则认证失败。

本实施例中的芯片认证方法可以提高芯片的安全和可靠等级,可以被广泛应用于身份认证领域。

例如,在本实施例的一个示例中,如图14和图15所示,该芯片认证方法还可以包括如下操作步骤。

步骤s400:对原始芯片2中的阻变存储器阵列施加复位电压,以形成puf;以及

步骤s500:提取puf中的多个激励响应对,并存储在认证服务器中。

这里,关于形成puf以及提取激励响应对可以参考上述实施例中相应描述,这里不再赘述。

例如认证服务器40可以包括数据库410,步骤s500中提取的多个激励响应对可以存储在数据库410中,本公开的实施例对于数据库的具体形式不作限制。

本公开的至少一实施例还提供一种芯片认证方法,如图14和图16所示,该芯片认证方法包括如下操作步骤。

步骤s100':待认证芯片1接收认证服务器40发送的一个激励;以及

步骤s200':待认证芯片1根据该激励返回第一响应至认证服务器40。

关于激励和第一响应可以参考上述实施例中相应描述,这里不再赘述。

例如,在本实施例的一个示例中,如图16所示,该芯片认证方法还可以包括如下操作步骤。

步骤s300':将第一响应和认证服务器40中的多个激励响应对中的与激励匹配的第二响应进行对比,若误差值小于一预设误差值,则认证成功,否则认证失败。

本实施例中的芯片认证方法可以提高芯片的安全和可靠等级,可以被广泛应用于身份认证领域。

以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,本公开的保护范围应以所述权利要求的保护范围为准。

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