获取存储器物理不可克隆函数的方法和系统与流程

文档序号:15198554发布日期:2018-08-19 02:33阅读:122来源:国知局
本发明涉及集成电路
技术领域
,具体而言涉及一种获取存储器物理不可克隆函数(puf)的方法和系统。
背景技术
:存储器物理不可克隆函数(puf)技术在信息加密领域日臻成熟。例如,利用静态随机存取存储器物理不可克隆函数(srampuf)构成的密钥系统应用平台广泛,兼容性好。高可靠性的srampuf对于高效的加密方案非常关键。现有的关于srampuf的技术利用专门的控制单元把构成puf的sram中稳定的存储单元(cell)筛选出来,它们的地址作为稳定0cell或者稳定1cell的特征值。所谓稳定的cell是指在不同的电压和温度范围内,遍历所有电压-温度的组合情形时,cell的上电初值都是稳定的、可重复的数值0或者1。然而,这样的方法存在弊端:即,如果sram的系统偏差很一致,决定cell值的主要因素是噪声,那么就有可能筛选不出来上述的所谓“稳定”cell,从而使这种方法失效。此外,由于仅筛选出来稳定的cell,最终生成的puf特征值的比特位数较少,使得puf特征值用于加密时被破解的风险很高。技术实现要素:针对现有技术的不足,一方面,本发明提供一种获取存储器物理不可克隆函数的方法,所述方法包括:在各种环境参数下对存储器进行上电,并统计所述存储器的每个存储单元在所述各种环境参数下的初始逻辑值;基于所述统计的结果确定所述每个存储单元的统计特征值;以及基于所述每个存储单元的单元地址及其统计特征值生成所述存储器的物理不可克隆函数特征值序列。在本发明的一个实施例中,所述基于所述统计的结果确定所述每个存储单元的统计特征值包括:当存储单元在所述各种环境参数下的初始逻辑值均为“0”时,该存储单元的统计特征值为“0”;当存储单元在所述各种环境参数下的初始逻辑值均为“1”时,该存储单元的统计特征值为“1”;当存储单元在所述各种环境参数下的初始逻辑值包括“0”和“1”、且为“0”的概率大于等于预定阈值时,该存储单元的统计特征值为“f”,其中“f”表示该存储单元为“0”偏向的存储单元;当存储单元在所述各种环境参数下的初始逻辑值包括“0”和“1”、且为“1”的概率大于等于所述预定阈值时,该存储单元的统计特征值为“t”,其中“t”表示该存储单元为“1”偏向的存储单元;以及当存储单元在所述各种环境参数下的初始逻辑值的情况不属于上述四种情况中的任一种时,该存储单元的统计特征值为“x”,其中“x”表示该存储单元为“0/1”随机的存储单元。在本发明的一个实施例中,所述基于所述每个存储单元的单元地址及其统计特征值生成所述存储器的物理不可克隆函数特征值序列包括:将所述存储器的各存储单元的统计特征值添加在对应的存储单元的地址值之后以构成各存储单元的特征值序列;以及按照所述各存储单元的地址顺序对所述各存储单元的特征值序列进行排列并组合,以作为所述存储器的物理不可克隆函数特征值序列。在本发明的一个实施例中,所述各种环境参数包括多个电压值与多个温度值的遍历组合。在本发明的一个实施例中,所述存储器为静态随机存取存储器。另一方面,本发明还提供一种获取存储器物理不可克隆函数的系统,所述系统包括:所述系统包括控制单元、环境参数调节单元、存储器以及计算单元,其中:所述控制单元与所述环境参数调节单元连接,用于控制所述环境参数调节单元生成各种环境参数;所述环境参数调节单元与所述存储器连接,用于向所述存储器输出所述各种环境参数;所述控制单元与所述存储器连接,用于控制所述存储器在所述各种环境参数下进行上电;以及所述计算单元与所述存储器连接,用于统计所述存储器的每个存储单元在所述各种环境参数下的初始逻辑值、基于所述统计的结果确定所述每个存储单元的统计特征值、并基于所述每个存储单元的单元地址及其统计特征值生成所述存储器的物理不可克隆函数特征值序列。在本发明的一个实施例中,所述环境参数调节单元包括电压调节器和温度调节器。在本发明的一个实施例中,所述电压调节器包括选择电压输出单元和多个分压电阻,工作电压通过所述分压电阻连接到地,所述选择电压输出单元在所述控制单元的控制下向所述存储器输出不同的电压。在本发明的一个实施例中,所述温度调节器包括计数器,所述计数器在所述控制单元的控制下向所述存储器循环写入“0”和“1”,以调节所述存储器的温度。在本发明的一个实施例中,所述存储器为静态随机存取存储器。本发明所提供的获取存储器物理不可克隆函数的方法和系统将构成puf的存储器的全部寻址空间均作为构成特征值的组成部分,最终输出的puf特征值具有统计意义,不仅可以生成更准确的puf特征值,还可以降低用于加密时被破解的风险。附图说明本发明的下列附图在此作为本发明的一部分用于理解本发明。附图中示出了本发明的实施例及其描述,用来解释本发明的原理。附图中:图1示出根据本发明实施例的获取存储器物理不可克隆函数的方法的示意性流程图;图2a到图2c分别示出了存储器所包括的一些存储单元在重复上电100次时初始逻辑值是“1”的次数的统计分布示意图;以及图3示出根据本发明实施例的获取存储器物理不可克隆函数的系统的示意性结构图。具体实施方式在下文的描述中,给出了大量具体的细节以便提供对本发明更为彻底的理解。然而,对于本领域技术人员而言显而易见的是,本发明可以无需一个或多个这些细节而得以实施。在其他的例子中,为了避免与本发明发生混淆,对于本领域公知的一些技术特征未进行描述。应当理解的是,本发明能够以不同形式实施,而不应当解释为局限于这里提出的实施例。相反地,提供这些实施例将使公开彻底和完全,并且将本发明的范围完全地传递给本领域技术人员。在此使用的术语的目的仅在于描述具体实施例并且不作为本发明的限制。在此使用时,单数形式的“一”、“一个”和“所述/该”也意图包括复数形式,除非上下文清楚指出另外的方式。还应明白术语“组成”和/或“包括”,当在该说明书中使用时,确定所述特征、整数、步骤、操作、元件和/或部件的存在,但不排除一个或更多其它的特征、整数、步骤、操作、元件、部件和/或组的存在或添加。在此使用时,术语“和/或”包括相关所列项目的任何及所有组合。为了彻底理解本发明,将在下列的描述中提出详细的步骤以及详细的结构,以便阐释本发明提出的技术方案。本发明的较佳实施例详细描述如下,然而除了这些详细描述外,本发明还可以具有其他实施方式。下面结合附图参照具体实施例描述本发明所提供的获取存储器物理不可克隆函数的方法和系统。基于srampuf的技术应用较为广泛,下面将详细描述的根据本发明实施例的获取存储器物理不可克隆函数的方法和系统所提到的存储器可以为sram,当然也可以为其他任何合适的存储器。图1示出根据本发明实施例的获取存储器物理不可克隆函数的方法100的示意性流程图。如图1所示,获取存储器物理不可克隆函数的方法100包括如下步骤:在步骤s110,在各种环境参数下对存储器进行上电,并统计所述存储器的每个存储单元在所述各种环境参数下的初始逻辑值。在一个实施例中,各种环境参数可以包括多个电压值与多个温度值的遍历组合。在电压-温度组合下,对存储器进行上电,并统计该存储器的每个存储单元在所述各种环境参数下的初始逻辑值。基于步骤s110,存储器所包括的各存储单元在各种环境参数下的初始逻辑值的统计结果列表如下表1所示。表1在表1中,将存储器示出为包括存储单元a、存储单元b、存储单元c、存储单元d和存储单元e,这里,仅为了描述方便而示例性地将存储器示出为包括这五个存储单元,实际上存储器可以包括任何数目的存储单元,本发明对此不进行限制。在遍历所有环境参数(即所有的电压-温度参数的组合)时,可针对每个电压-温度的组合重复若干次对存储器的上电。为了描述简单,表1中仅示出了针对电压-温度的三个组合点的三次试验,每次试验均为100次,在其余的环境参数下也应重复这样的试验,直到遍历完所有的环境参数组合。如表1所示,经过统计:在不同的环境参数下,存储单元a的初始逻辑值始终为“0”;存储单元b的初始逻辑值始终为“1”;存储单元c的初始逻辑值包括“0”和“1”,且为“0”的概率明显较高;存储单元d的初始逻辑值包括“0”和“1”,且为“1”的概率明显较高;存储单元e的初始逻辑值包括“0”和“1”,且为“0”和为“1”的概率相当。基于表1,在不同的环境参数下,存储单元a的初始逻辑值始终为“0”,因此可将存储单元a称为“0”稳定的存储单元;同样地,在不同的环境参数下,存储单元b的初始逻辑值始终为“1”,因此可将存储单元b称为“1”稳定的存储单元。对于存储单元c、存储单元d、以及存储单元e,可基于若干次的上述过程绘制它们在单次试验上电(即重复上电100次)时初始逻辑值是“1”的次数的统计分布,如图2a到图2c所分别示出的。如图2a所示,横坐标是100次重复上电后初始逻辑值为“1”的次数区间,例如4次为“1”(即96次为“0”)的试验结果出现了21次,从统计分布可以看出,存储单元c具有较小的概率(小于20%)得到上电是“1”的统计结果,即可将存储单元c称为“0”偏向的存储单元。如图2b所示,横坐标是100次重复上电后初始逻辑值为“1”的次数区间,例如92次为“1”(即8次为“0”)的试验结果出现了16次,从统计分布可以看出,存储单元d具有较大的概率(大于80%)得到上电是“1”的统计结果,即可将存储单元d称为“1”偏向的存储单元。如图2c所示,横坐标是100次重复上电后初始逻辑值为“1”的次数区间,为“0”和“1”的次数势均力敌(都比较靠近50次),没有明显偏向“1”或偏向“0”,即可将存储单元e称为“0/1”随机的存储单元。基于上述的统计过程,可继续进行下述步骤,现在返回图1继续描述后续的步骤。在步骤s120,基于所述统计的结果确定所述每个存储单元的统计特征值。基于在步骤s110的统计结果,可确定每个存储单元的统计特征值。每个存储单元的统计特征值可以理解为该存储单元上电时的统计意义上的初始逻辑值。之所以要确定存储单元的统计特征值,是因为在不同的环境参数下,并非每个存储单元的初始逻辑值都能固定/稳定地为“0”或“1”,而是有可能同时包括“0”和“1”,且“0”和“1”的出现具有一定统计分布规律,或者相对比较随机,正如表1所示的。因此,要确定每个存储单元的统计意义上的特征值,以为后续的生成整个存储器的特征值序列做准备。在一个实施例中,步骤s120可以进一步包括:当存储单元在所述各种环境参数下的初始逻辑值均为“0”时,该存储单元的统计特征值为“0”,即该存储单元为“0”稳定的存储单元;当存储单元在所述各种环境参数下的初始逻辑值均为“1”时,该存储单元的统计特征值为“1”,即该存储单元为“1”稳定的存储单元;当存储单元在所述各种环境参数下的初始逻辑值包括“0”和“1”、且为“0”的概率大于等于预定阈值(该预定阈值可以是根据需要而设置的,例如设置为75%、80%等)时,该存储单元的统计特征值为“f”,其中“f”表示该存储单元为“0”偏向的存储单元;当存储单元在所述各种环境参数下的初始逻辑值包括“0”和“1”、且为“1”的概率大于等于所述预定阈值时,该存储单元的统计特征值为“t”,其中“t”表示该存储单元为“1”偏向的存储单元;当存储单元在所述各种环境参数下的初始逻辑值的情况不属于上述四种情况中的任一种时,该存储单元的统计特征值为“x”,其中“x”表示该存储单元为“0/1”随机的存储单元。其中,统计特征值“f”、“t”、“x”均可以看作为一种标识,如前所述,标识“f”可以表示“0”偏向的存储单元,代表存储单元在各种环境参数下的初始逻辑值多数为“0”;标识“t”可以表示“1”偏向的存储单元,代表存储单元在各种环境参数下的初始逻辑值多数为“1”;标识可以“x”表示“0/1”随机的存储单元,代表存储单元在各种环境参数下的初始逻辑值为随机的“0”和“1”。类似地,统计特征值“0”和“1”也可以看作为标识,其中,标识“0”表示“0”稳定的存储单元,代表存储单元在各种环境参数下的初始逻辑值均为稳定的“0”;标识“1”表示“1”稳定的存储单元,代表存储单元在各种环境参数下的初始逻辑值均为稳定的“1”。因此,上述的统计特征值可以看作是决定了存储单元的类型。基于上述每个存储单元的特征值,可以生成包括这些存储单元的存储器的物理不可克隆函数特征值序列。在步骤s130,基于所述每个存储单元的单元地址及其统计特征值生成所述存储器的物理不可克隆函数特征值序列。与现有方法中筛选出稳定的存储单元不同,本发明所提供的方法将存储器的全部寻址空间都作为构成特征值的组成部分。即,每个存储单元的地址均为特征地址,每个特征地址的特征值为该特征地址所对应的存储单元的统计特征值。基于每个特征地址及对应的统计特征值,可以生成包括这些存储单元的存储器的物理不可克隆函数特征值序列。具体地,在一个实施例中,步骤s130可以进一步包括:将所述存储器的各存储单元的统计特征值添加在对应的存储单元的地址值之后以构成各存储单元的特征值序列;以及按照所述各存储单元的地址顺序对所述各存储单元的特征值序列进行排列并组合,以作为所述存储器的物理不可克隆函数特征值序列。例如,参见下面的表2,示例性地列举出了一个存储器各存储单元的地址(表2中的a表示地址,后面的000~111表示地址值)及按照本发明的上述方法得出的该存储器各存储单元的类型:表2a=000a=001a=010a=011a=100a=101a=110a=1110稳定0少0稳定0随机0多1稳定1多1稳定1随机1少1稳定由表2可知,地址a=000的存储单元为“0”稳定的存储单元,即其统计特征值为“0”,将该统计特征值添加在该存储单元的地址值之后即得到该存储单元的特征值序列“0000”;地址a=001的存储单元为“1”稳定的存储单元,即其统计特征值为“1”,将该统计特征值添加在该存储单元的地址值之后即得到该存储单元的特征值序列“0011”;地址a=010的存储单元为“1”偏向的存储单元,即其统计特征值为“t”,将该统计特征值添加在该存储单元的地址值之后即得到该存储单元的特征值序列“010t”;地址a=011的存储单元为“1”稳定的存储单元,即其统计特征值为“1”,将该统计特征值添加在该存储单元的地址值之后即得到该存储单元的特征值序列“0111”;地址a=100的存储单元为“0”稳定的存储单元,即其统计特征值为“0”,将该统计特征值添加在该存储单元的地址值之后即得到该存储单元的特征值序列“1000”;地址a=101的存储单元为“0/1”随机的存储单元,即其统计特征值为“x”,将该统计特征值添加在该存储单元的地址值之后即得到该存储单元的特征值序列“101x”;地址a=110的存储单元为“0”偏向的存储单元,即其统计特征值为“f”,将该统计特征值添加在该存储单元的地址值之后即得到该存储单元的特征值序列“110f”;地址a=111的存储单元为“1”稳定的存储单元,即其统计特征值为“1”,将该统计特征值添加在该存储单元的地址值之后即得到该存储单元的特征值序列“1111”。因此,对于包括具有表2所示出的地址的存储单元的存储器,将上述每个存储单元的特征值序列按照各存储单元的地址值的顺序进行排列然后组合起来,即得到该存储器的物理不可克隆函数特征值序列,即为:0000_0011_010t_0111_1000_101x_110f_1111该物理不可克隆函数特征值序列具有统计意义。当遇到“t”标识,需要重复鉴定初始逻辑值是否多数1少数0;当遇到“t”标识,需要重复鉴定初始逻辑值是否多数0少数1;当遇到“x”标识,不确定多数情况是0还是1。如果是在现有的仅筛选出稳定(即“0”稳定和“1”稳定)的存储单元,则该存储器的物理不可克隆函数特征值序列将被确定为:0000_0011_0111_1000_1111很明显,该组数字与根据本发明的方法生成的物理不可克隆函数特征值序列0000_0011_010t_0111_1000_101x_110f_1111相比,被破解的风险极高。相比之下,根据本发明的方法生成的物理不可克隆函数特征值序列降低了被破解的风险,更有利于加密的应用。基于上面的描述,根据本发明实施例的获取存储器物理不可克隆函数的方法将构成puf的存储器的全部寻址空间均作为构成特征值的组成部分,最终输出的puf特征值具有统计意义,不仅可以生成更准确的puf特征值,还可以降低用于加密时被破解的风险。根据本发明的另一方面,提供了一种用于实现上面所述获取存储器物理不可克隆函数的方法的系统。下面结合图3描述根据本发明实施例的用于实现上面所述获取存储器物理不可克隆函数的方法的系统。图3示出了根据本发明实施例的获取存储器物理不可克隆函数的系统300的示意性结构图。如图3所示,系统300可以包括控制单元310、环境参数调节单元320、存储器330以及计算单元340。其中,控制单元310与环境参数调节单元320和所述存储器330连接;环境参数调节单元320与存储器330连接;存储器330与计算单元340连接。控制单元310可以控制环境参数调节单元320生成结合图2所述的根据本发明实施例的方法中的各种环境参数、并控制存储器在所述各种环境参数下进行上电。环境参数调节单元320向存储器330输出所生成的各种环境参数。示例性地,环境参数调节单元320可以包括电压调节器和温度调节器(未在图3中示出),它们分别在控制单元310的控制下向存储器330输出各种不同的电压值和温度值。示例性地,环境参数调节单元320所包括的电压调节器可以包括选择电压输出单元和多个分压电阻,工作电压(例如vdd)通过所述分压电阻连接到地,所述选择电压输出单元在所述控制单元310的控制下向所述存储器330输出不同的电压。在该示例中的电压调节器可以模拟各种电压在有效范围内波动的情况,可以很好地提供不同的环境参数。在其他示例中,环境参数调节单元320所包括的电压调节器也可以采用其他任何合适的方式来实现,本发明对此不作限制。示例性地,环境参数调节单元320所包括的温度调节器可以包括计数器,所述计数器在控制单元310的控制下向所述存储器330循环写入“0”和“1”,以调节所述存储器330的温度。相对于通过调控环境温度来调控存储器的温度,在该示例中的温度调节器可以更加有效地调节存储器的温度。在其他示例中,环境参数调节单元320所包括的温度调节器也可以采用其他任何合适的方式来实现,本发明对此不作限制。计算单元340用于统计存储器330的每个存储单元在各种环境参数下的初始逻辑值,并基于统计的结果确定每个存储单元的统计特征值,并基于每个存储单元的单元地址及其统计特征值生成存储器330的物理不可克隆函数特征值序列。以上仅对用于系统300的各单元的主要功能进行了描述,而省略了前面关于根据前面关于根据本发明实施例的获取存储器物理不可克隆函数的方法已经描述过的细节内容,本领域普通技术人员可以根据前面关于根据本发明实施例的获取存储器物理不可克隆函数的方法的描述理解系统300的各单元的具体操作,为了简洁,此处不再赘述。基于上面的描述,根据本发明实施例的获取存储器物理不可克隆函数的系统将构成puf的存储器的全部寻址空间均作为构成特征值的组成部分,最终输出的puf特征值具有统计意义,不仅可以生成更准确的puf特征值,还可以降低用于加密时被破解的风险。总体来说,根据本发明实施例的获取存储器物理不可克隆函数的方法和系统将构成puf的存储器的全部寻址空间均作为构成特征值的组成部分,存储单元的统计特征值可以包括固定而稳定的“0”或“1”、有大概率偏向的“0”或“1”、以及几乎等概率或者不具备大概率偏向的“0”或“1”。统计特征值是“稳定性”的统计属性而非固定的数值。确定的稳定的(即“0”稳定的或“1”稳定的)cell值,用于负责验证每次重复上电都必然出现的固定值;统计意义上有大概率偏向的(即“0”偏向的或“1”偏向的)cell,则用于负责可容错过程的判断。如果确定而稳定的cell出现一次失误,则判断为密钥不匹配;如果对于统计意义上有大概率偏向的cell,每次的验证值都是固定的明确值0或1,则判断为密钥不匹配。换言之,基于本发明的方法和系统所产生的物理不可克隆函数特征值序列在作为密钥时,由于赋予每个数据位统计学属性,因此对特征值的判别不光是对固定值的比较,还包括对统计值的判断,所有的数据位的统计属性都满足,才能判定为特征值匹配,判别过程需要多次重复周期的循环,用于得到统计结果,因此可大大提高密钥的安全性。尽管已经参考附图描述了上述示例实施例,但应理解上述示例实施例仅仅是示例性的,并且不意图将本发明的范围限制于此。本领域普通技术人员可以在其中进行各种改变和修改,而不偏离本发明的范围和精神。所有这些改变和修改意在被包括在所附权利要求所要求的本发明的范围之内。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该本发明的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如相应的权利要求书所反映的那样,其发明点在于可以用少于某个公开的单个实施例的所有特征的特征来解决相应的技术问题。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。本领域的技术人员可以理解,除了特征之间相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。以上所述,仅为本发明的具体实施方式或对具体实施方式的说明,本发明的保护范围并不局限于此,任何熟悉本
技术领域
的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。本发明的保护范围应以权利要求的保护范围为准。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1