基于stt-ram存储单元错误率分布的puf认证方法

文档序号:8340838阅读:637来源:国知局
基于stt-ram存储单元错误率分布的puf认证方法
【技术领域】
[0001]本发明属于信息安全领域,涉及一种物理不可克隆(PUF)认证方法,尤其涉及一种基于STT-RAM存储单元错误率分布的物理不可克隆认证方法。
【背景技术】
[0002]自旋矩传输随机读写器(STT-RAM)是一种新型非易失(Non-volatile)存储器。STT-RAM被认为是未来SRAM的替代品之一,拥有高密度,低静态功耗,低访存时间等优点。与此同时,物理不可克隆技术(PUF)正被广泛建议应用于设备认证,而其他非易失性存储已经被提出用于制作PUF,但是普遍存在硬件开销大或者延迟高等问题。
[0003]2011年,美国的Prabhu等人提出利用NAND Flash来进行设备认证。他们首先提取Flash中每个比特对干扰错误(disturb error)的敏感程度,编程延迟等等,然后计算相关系数的办法来区分和认证芯片。这种办法延迟长(15s),且环境影响下可能会失效。
[0004]2012年,美国的Rajendran等人提出利用忆阻器(Memristor)来进行设备认证。他们首先用感应器(sensor)采集每个单元节点的电压,然后利用电压信息进行认证芯片。这种办法由于需要使用感应器采集每个节点电压,额外电路开销较大,并且环境变化也会影响稳定性。

【发明内容】

[0005]为了克服上述现有技术的不足,本发明提供一种利用自旋矩传输随机读写器(STT-RAM)存储单元错误率分布的物理不可克隆认证方法,在很小的硬件代价以及时间代价下,解决设备认证的问题,提高认证的可靠性。
[0006]本文定义如下术语:
[0007](I)Error-Least-State:表示本发明工作环境中,STT-RAM单元错误率最低的环境。例如,在工作电压0.9V-1.1V、工作温度275K-325K的环境下,Error-Least-State表示最高工作电压、最低工作温度的环境,即(1.1V,275K)的环境。
[0008](2)Error-Most-State:表示本发明工作环境中,STT-RAM单元错误率最高的环境。例如,在工作电压0.9V-1.1V、工作温度275K-325K环境下,Error-Most-State表示最低工作电压、最高工作温度的环境,即(0.9V,325K)的环境。
[0009](3)RWR测试:即读写读测试,是一种检测单元错误率的方法。该方法首先读取单元数据,反转数据后写回,再读出数据检测数据是否成功改变来检测读写错误。
[0010](4)EDP:即错误率差分对(Error-rate Differential Pair),表不 STT-RAM 阵列中满足下列关系的两个相邻单元:在N轮RWR测试中,两个单元发生错误的次数之差大于等于一给定次数Nth。通过对IMB大小ITlJ的STT-RAM存储阵列进行仿真实验,证明N和Nth的取值应该满足N = Nth> = 3,本发明实施例中N = Nth= 3。
[0011]本发明的原理是,本发明基于STT-RAM存储单元错误率分布的物理不可克隆认证方法包括三个阶段:预处理阶段、注册阶段和验证阶段。首先在预处理阶段(Pre-process)记录STT-RAM阵列中所有EDP的位置,然后在注册阶段(Enrollment Phase)输入多个EDP位置,芯片电路利用这些EDP内两个单元错误率相对大小来输出参考输出(ReferenceResponse),在验证阶段(Evaluat1n Phase)再次重现注册阶段,最后根据验证阶段和注册阶段的输出判断芯片的真假。
[0012]本发明提供的技术方案是:
[0013]一种基于STT-RAM存储单元错误率分布的物理不可克隆认证方法,依次包括如下步骤:
[0014]I)在预处理阶段执行如下操作,得到多个EDP单元的地址:
[0015]1.1分别在Error-Least-State与Error-Most-State环境下,对于每个奇地址单元,设定该单元的地址为Addr,通过N轮RWR测试判断地址为Addr与Addr+Ι两个单元是否构成EDP ;
[0016]1.2如果上述两个单元构成EDP,则得到该EDP的地址EDP_Addr和EDP_Addr+l ;
[0017]1.3将EDP_Addr输出保存到数据库;
[0018]2)在注册阶段执行如下操作,得到参考输出:
[0019]2.1取得Nse。个在预处理阶段得到的数据库中的EDP,计数器置为O ;其中,Nsec^偶数;N■的取值应大于等于128,本发明中实施例中N.取值为128 ;
[0020]2.2对于每个EDP,判断EDP_Addr与EDP_Addr+l地址的两个单元在R轮RWR测试中,哪个单元发生错误的次数更多;如果EDP_Addr+l比EDP_Addr发生错误的次数多,计数器加I ;通过对IMB大小ITlJ的STT-RAM存储阵列进行仿真实验,证明R的取值应该满足R> = 4,本发明实施例中R = 4。
[0021]2.3当遍历Nse。个EDP后,将计数器中的数与Nse。的一半比大小,大于等于时输出I否则输出O ;
[0022]2.4将2.3输出结果作为参考输出,存到一个安全的数据库中;
[0023]3)设结果不同次数为0,在验证阶段执行如下操作,得到结果不同的总次数,用于验证给定设备与注册阶段的设备是否相同:
[0024]3.1取得Nse。个在预处理阶段得到的数据库中的EDP,将计数器置为O ;确保这N se。个EDP作为一次整体的输入在注册阶段被使用过;该N.取值与步骤2.1中的N ■取值相同,本发明实施例中取值为128 ;
[0025]3.2对于每个EDP,判断EDP_Addr与EDP_Addr+l地址的两个单元在R轮RWR测试中,哪个单元发生错误的次数更多;如果EDP_Addr+l比EDP_Addr发生错误的次数多,计数器加I ;该R取值与步骤2.2中的R取值相同,本发明实施例中取值为4 ;
[0026]3.3当遍历Nse。个EDP_Addr后,将计数器中的数与N se。的一半比大小,大于等于时输出I否则输出O ;
[0027]3.4将3.3的输出结果与注册阶段步骤2.4的参考输出结果作比较,如果二者结果不同则结果不同次数加I ;
[0028]3.5多次重复步骤3.1到3.4,得到结果不同的总次数;
[0029]3.6判断步骤3.5中结果不同的总次数是否大于设定阈值,如大于则判断设备没通过认证,否则设备通过认证。
[0030]在本发明实施例中,上述基于STT-RAM存储单元错误率分布的物理不可克隆认证方法是在工作电压0.9V-1.1V、工作温度275K-325K环境下进行的,其中,步骤1.1中的Error-Most-State表示最低工作电压、最高工作温度的环境,即(0.9V,325K)的环境;Error-Least-State表示最高工作电压、最低工作温度的环境,S卩(1.1V,275K)的环境。
[0031]上述基于STT-RAM存储单元错误率分布的物理不可克隆认证方法中,经过仿真实验,步骤1.1是通过两个单元发生错误的次数之差是否大于等于Nth来判断两个位置的单元是否构成EDP ;步骤1.1中的N和Nth的取值应该满足N = N th> = 3,本发明实施例中N =Nth= 3 ;步骤2.2中的R取值应该满足R> = 4,本发明实施例中R = 4 ;步骤3.2中的R取值与步骤2.2相同;步骤3.5中的多次为128次,步骤3.6中的阈值为23。在本发明实施例中,步骤2.1和步骤3.1中的N.取值为128。
[0032]与现有技术相比,本发明的有益效果是:
[0033]通过本发明所提供的基于STT-RAM存储单元错误率分布的物理不可克隆认证方法,利用验证阶段和注册阶段输出的EDP内两个单元错误率相对大小对硬件设备进行认证,提高了认证的可靠性,加快了认证速度,节省了硬件开销。
【附图说明】
[0034]图1是本发明实施例中预处理阶段的流程框图。
[0035]图2是本发明实施例中注册阶段的流程框图。
[0036]图3是本发明实施例中验证阶段的流程框图。
【具体实施方式】
[0037]下面结合附图,通过实施例进一步描述本发明,但不以任何方式限制本发明的范围。
[0038]本实施例针对I个IMB大小ITlJ的STT-RAM进行认证,指定其工作环境为电压范围0.9V-1.1V,温度范围275K到325K。利用本发明提供的基于STT-RAM存储单元错误率分布的物理不可克隆认证方法,本实施例的认证工作分为三个阶段一一预处理阶段、注册阶段,验证阶段。
[0039]A.在预处理阶段,执行如下操作:
[0040]Al.分别在 Error-Least-State 与 Error-Most-State 下,对于每个奇地址 Addr,判断Addr与Addr+Ι两个位置的单元是否构成EDP。判断EDP的方法是,在N轮RWR测试中,两个单元发生错误的次数之差大于等于Nth,本实施例中,N和Nth均取值为3 ;
[0041]A2.如果构成EDP输出Addr的值,否则继续检测
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1