[发明专利]一种基于SRAM-PUF的模糊保险箱的密钥存储方法有效
申请号: | 201710395655.7 | 申请日: | 2017-05-27 |
公开(公告)号: | CN107256370B | 公开(公告)日: | 2019-12-10 |
发明(设计)人: | 李冰;陈帅;杨超凡;沈克强;刘勇;董乾;张林;王刚;赵霞 | 申请(专利权)人: | 东南大学 |
主分类号: | G06F21/72 | 分类号: | G06F21/72;G06F21/79;G06F21/60;H04L9/08 |
代理公司: | 32204 南京苏高专利商标事务所(普通合伙) | 代理人: | 柏尚春 |
地址: | 214135 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 sram puf 模糊 保险箱 密钥 存储 方法 | ||
1.一种基于SRAM-PUF的模糊保险箱密钥存储方法,其特征在于,步骤包括:
注册阶段:
第1-1步,匹配待存储密钥与SRAM芯片,使每块SRAM芯片仅对应一个待存储密钥;
第1-2步,插入SRAM芯片,系统采集SRAM芯片的p次上电值,p为正整数,筛选出SRAM芯片中震荡次数大于设定值的单元作为震荡点并记录其地址;若SRAM某一单元连续两次的上电值不同,则算作一次震荡;
第1-3步,对待存储密钥进行CRC编码,得到编码结果KCRC,将KCRC平均分为D+1段并将所述D+1段的值依次作为系数,构造D级多项式P(x),D为多项式级数;
第1-4步,构造真实点横坐标:根据真实点个数M确定所需特征信息的数量,从SRAM中选取M个震荡点,将M个震荡点的地址转化到有限域GF(216)中并作为xi,利用xi构造特征模板A={xi|xi∈GF(216),i=1,2,3...,M};
第1-5步,构造真实点集合:将第1-4步所述M个真实点分别带入第1-3步中所述D级多项式P(x),得到真实点纵坐标P(xi),将所述真实点坐标(xi,P(xi))组合为真实点集合Q;第1-6步,构造杂凑点集合:利用随机数发生器随机生成N个杂凑点坐标(vj,wj),j=1,2,3,4......N,作为杂凑点集合Q’,杂凑点坐标范围和真实点坐标范围相同;
第1-7步,对真实点纵坐标P(xi)和杂凑点纵坐标wj进行BCH纠错编码,使得该纵坐标出现错误时可以将其纠正,经BCH纠错编码后得到(P(xi))BCH和(wj)BCH;
第1-8步,构造细节点,将所述真实点横坐标按照位宽对半拆分,得到高位真实点横坐标xhi和低位真实点横坐标xli,将所述高位真实点横坐标和低位真实点横坐标组合为真实细节点(xhi,xli),i=1,2,3,4.....M;将所述杂凑点横坐标按照位宽对半拆分,得到高位杂凑点横坐标vhj和低位杂凑点横坐标vlj,将所述高位杂凑点横坐标和低位杂凑点横坐标组合为杂凑细节点(vhj,vlj),j=1,2,3,4.....N;
第1-9步,构造细节点描述子:对每一个真实细节点(xhi,xli)和每一个杂凑细节点(vhj,vlj),依次进行如下步骤:以所述真实细节点(xhi,xli)或所述杂凑细节点(vhj,vlj)为中心按照注册者选择的规律选取k个细节点描述子,获取所述每个细节点描述子周围t个地址所对应的数值,并依次将所述k个细节点描述子周围的t个地址所对应的k*t bit数值按照先行后列的顺序排列,构造得到真实点细节点描述子数据MI′(xhi,xli))和杂凑点细节点描述子数据MI′(vhj,vlj)),k、t为正整数;
第1-10步,计算帮助数据:将所述每一个真实点纵坐标纠错码与该真实点纵坐标纠错码所对应的描述子数据对应的低位进行异或,将所述每一个杂凑点纵坐标纠错码与该杂凑点纵坐标纠错码所对应的描述子数据对应的低位进行异或,得到真实点帮助数据hreal和杂凑点帮助数据hchaff;
第1-11步,构造模糊保险箱:将所述真实点横坐标xi,i=1,2,3,…,M,杂凑点横坐标vj,j=1,2,3,…,N,和所述与其对应帮助数据hreal、hchaff组合为坐标(xi,hreal)和(vj,hchaff),将其构成模糊保险箱V,并将所述模糊保险箱坐标按照真实点横坐标和杂凑点横坐标的数值升序排列,组合为模糊保险箱V并存储至认证数据库;
重构阶段:
第2-1步,用户插入SRAM芯片,系统读取p次SRAM上电特性,筛选出SRAM芯片中震荡次数大于设定值的单元作为震荡点并记录其地址构造震荡点集合ZD;若SRAM某一单元连续两次的上电值不同,则算作一次震荡;
第2-2步,筛选真实点:将震荡点集合ZD与模糊保险箱中坐标点的横坐标做对比,筛选出模糊保险箱横坐标和集合ZD重合的坐标点构造重构真实点模板为重构真实点横坐标xdo在模糊保险箱V中对应的纵坐标;由于SRAM芯片中震荡点的位置比较固定,若用户使用合法SRAM芯片,可从模糊保险箱中对比出L个坐标点作为重构真实点模板QD,由于SRAM-PUF的响应误差,不能保证每次采集的震荡点完全一致,因此L<M;
第2-3步,构造细节点:将第2-2步中筛选出的重构真实点横坐标xdo按照位宽对半拆分,得到高位真实点横坐标xdho和低位真实点横坐标xdlo,将所述高位真实点横坐标和低位真实点横坐标组合为真实点细节点(xdho,xdlo),o=1,2,3,4.....L,并映射在SRAM芯片坐标系中;第2-4步,构造细节点描述子:对每一个真实点细节点(xdho,xdlo)依次进行如下步骤:以所述真实细节点(xdho,xdlo)按照注册者选择的规律选取k个细节点描述子,获取所述每个细节点描述子周围t个地址所对应的数值,并依次将所述k个细节点描述子周围的t个地址所对应的k*t bit数值按照先行后列的顺序排列,构造得到细节点描述子数据MI′(xdho,xdlo);
第2-5步,将所述细节点描述子数据与进行异或操作,获取重构真实点经过纠错编码后的坐标
第2-6步,对坐标Rad的纵坐标进行BCH解码,解码后获得重构真实点纵坐标集合P(xdo),利用重构真实点横坐标xdo与重构真实点纵坐标P(xdo)构造集合QP={(xdo,P(xdo))|o=1,…,L};
第2-7步,重构多项式P(x):从集合QP中选取D+1个坐标,利用拉格朗日插值法重构多项式,取多项式的系数则可获得步骤1-3中提到的KCRC,将KCRC进行CRC校验后可得到步骤1-1中使用的待存储密钥,至此完成密钥的获取。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东南大学,未经东南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710395655.7/1.html,转载请声明来源钻瓜专利网。
- 上一篇:编码数据的方法、读取数据的方法
- 下一篇:一种防窥视密码输入器的制作方法