[发明专利]一种基于SRAM PUF的密钥提取方法及系统有效
申请号: | 201410520665.5 | 申请日: | 2014-09-30 |
公开(公告)号: | CN105530097B | 公开(公告)日: | 2018-09-28 |
发明(设计)人: | 刘宗斌;章庆隆;韩晔;向继;高能;马原 | 申请(专利权)人: | 中国科学院数据与通信保护研究教育中心 |
主分类号: | H04L9/32 | 分类号: | H04L9/32 |
代理公司: | 北京德琦知识产权代理有限公司 11018 | 代理人: | 牛峥;王丽琴 |
地址: | 100093 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 sram puf 密钥 提取 方法 系统 | ||
1.一种基于SRAM PUF的密钥提取方法,其特征在于,包括:
注册阶段:
步骤1:SRAM PUF上电,读取并存储SRAM固定地址段产生的原始数据,并以该原始数据作为基准响应数据;
步骤2:SRAM PUF再次上电,读取SRAM与步骤1相同的固定地址段的原始数据,作为第一初始值与所述的基准响应数据进行对比,获得稳定数据,获得产生稳定数据的地址信息作为稳定数据的位置信息并存储;
步骤3:SRAM PUF再次上电,读取SRAM与步骤1相同的固定地址段的原始数据,作为新的第一初始值与所述的基准响应数据进行对比,获得稳定数据,将产生稳定数据的地址信息与系统存储的稳定数据的位置信息对比,将产生出错数据位的位置信息剔除掉,筛选出一直产生稳定数据的位置信息,作为更新的稳定数据的位置信息存储;
步骤4:根据所述稳定数据的位置信息从基准响应数据中提取预定长度的第一数据;
步骤5:根据所述预定长度的第一数据和纠错算法生成纠错码,并存储纠错码;
步骤6:删除基准响应数据,以所述第一数据作为密钥素材生成密钥;
验证阶段:
步骤1’:SRAM PUF上电,读取与注册阶段相同的SRAM固定地址段产生的原始数据,并以该原始数据作为第二初始值;
步骤2’:根据所述注册阶段存储的稳定数据的位置信息,从所述第二初始值中提取预定长度的第二数据;
步骤3’:依据注册阶段生成的纠错码对所述第二数据进行纠错,将纠错结果作为验证阶段恢复出的密钥素材,生成密钥。
2.根据权利要求1所述的方法,其特征在于,注册阶段的步骤3中SRAM PUF再次上电,读取SRAM与步骤1相同的固定地址段的原始数据,作为新的第一初始值与所述的基准响应数据进行对比,获得稳定数据,将产生稳定数据的地址与系统存储的稳定数据的位置信息对比,将产生出错数据位的位置信息剔除掉,筛选出一直产生稳定数据的位置信息,作为更新的稳定数据的位置信息包括:
步骤31:SRAM PUF再次上电,读取SRAM与步骤1相同的固定地址段的原始数据,作为新的第一初始值与所述的基准响应数据进行对比,将出错的数据位剔除掉,生成产生稳定数据的地址信息,新的第一初始值中剩余的数据位即为稳定数据对应的数据位;
步骤32:把产生稳定数据的地址信息与存储的稳定数据的位置信息对比,将产生出错数据位的地址剔除掉,筛选出一直产生稳定数据的地址信息,作为更新的稳定地址信息进行存储;
步骤33:根据更新的稳定地址信息位个数与原来的稳定地址信息位个数计算误码率,将得到的误码率与预设的误码率阈值进行对比,当误码率小于所述预设的误码率阈值时执行步骤4,当误码率大于所述预设的误码率阈值时重复执行步骤31和步骤32。
3.根据权利要求2所述的方法,其特征在于,所述步骤2中,SRAM PUF再次上电,读取SRAM与步骤1相同的固定地址段的原始数据,作为第一初始值与所述的基准响应数据进行对比为对相同存储地址中的数值进行异或运算,以异或运算结果作为稳定数据的位置信息进行存储。
4.根据权利要求3所述的方法,其特征在于,所述步骤31中,SRAM PUF再次上电,读取SRAM与步骤1相同的固定地址段的原始数据,作为新的第一初始值与所述的基准响应数据进行对比为进行异或运算,以异或运算结果作为产生稳定数据的地址信息。
5.根据权利要求4所述的方法,其特征在于,所述步骤32中,把产生稳定数据的地址与存储的稳定数据的位置信息对比为进行或运算,将运算结果作为更新的稳定地址信息替换原来的稳定地址信息进行存储。
6.一种基于SRAM PUF的密钥提取系统,其特征在于,包括:
在注册阶段,用于SRAM PUF上电后,读取并存储SRAM固定地址段产生的原始数据,并以该原始数据作为基准响应数据的第一模块;用于SRAM PUF再次上电,读取SRAM所述固定地址段的原始数据,作为第一初始值与所述的基准响应数据进行对比,获得稳定数据,获得产生稳定数据的地址信息作为稳定数据的位置信息并存储的第二模块;用于SRAM PUF再次上电,读取SRAM所述固定地址段的原始数据,作为新的第一初始值与所述的基准响应数据进行对比,获得稳定数据,将产生稳定数据的地址信息与系统存储的稳定数据的位置信息对比,产生出错数据位的位置信息剔除掉,筛选出一直产生稳定数据的位置信息,作为更新的稳定数据的位置信息的第三模块;用于根据所述稳定数据的位置信息从基准响应数据中提取预定长度的第一数据的第四模块;用于根据所述预定长度的第一数据和纠错算法生成纠错码,并存储纠错码的第五模块;用于删除基准响应数据,以所述第一数据作为密钥素材生成密钥的第六模块;
在验证阶段,用于SRAM PUF上电,读取与注册阶段相同的SRAM固定地址段产生的原始数据,并以该原始数据作为第二初始值的第七模块;用于根据所述注册阶段存储的稳定数据的位置信息,从所述第二初始值中提取预定长度的第二数据的第八模块;用于依据注册阶段生成的纠错码对所述第二数据进行纠错,将纠错结果作为验证阶段恢复出的密钥素材,生成密钥的第九模块。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院数据与通信保护研究教育中心,未经中国科学院数据与通信保护研究教育中心许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410520665.5/1.html,转载请声明来源钻瓜专利网。