当前位置: 首页 > 专利查询>东南大学专利>正文

一种基于SRAM-PUF的模糊保险箱的密钥存储方法技术

技术编号:16399512 阅读:295 留言:0更新日期:2017-10-17 19:48
本发明专利技术公开一种基于SRAM‑PUF的模糊保险箱密钥存储方法,在注册阶段提取SRAM‑PUF的震荡点和待存储密钥生成模糊保险箱,将密钥存储于模糊保险箱中。在密钥重构阶段,使用SRAM‑PUF作为身份识别信息,可以筛选出模糊保险箱中的真实点以重构密钥。SRAM‑PUF的震荡点的分布会有一定的误差,因此本发明专利技术引入纠错编码来消除误差的影响,提高获取密钥的可靠性和稳定性。本发明专利技术利用PUF的不可克隆、不可复制的特性构造出一种安全的模糊保险箱来存储密钥。同时,该方法可以抵抗目前主流的各种攻击方法。

A key storage method of fuzzy SRAM box based on PUF

The invention discloses a key storage method of fuzzy SRAM box based on PUF, SRAM extraction PUF shock in registration phase and to store key generation fuzzy safe, the key is stored in the fuzzy vault. In the secret reconstruction phase, using SRAM PUF as the identity information, you can filter out the real point of fuzzy vault in reconstructing the secret. The distribution of SRAM PUF shock point there will be some errors, so the invention introduces error correction encoding to eliminate errors, improve the reliability and stability of the key. The invention constructs a safe fuzzy safe box to store the key by using the non cloning and non replicating characteristics of PUF. At the same time, this method can resist all kinds of attack methods.

【技术实现步骤摘要】
一种基于SRAM-PUF的模糊保险箱的密钥存储方法
本专利技术涉及信息安全
,尤其涉及一种基于SRAM-PUF的密钥存储机制。
技术介绍
现存的密码学安全机制大都基于EEPROM,Flash等非易失性寄存器(Non-volatileMemory,NVM)进行安全认证与密钥存储。然而,基于NVM的存储机制需要在集成电路制造过程中加入浮栅晶体管工艺,增加制造成本。同时,NVM存储机制易受侵入式攻击等多种物理攻击的威胁。因此如何在低成本的嵌入式设备中实现高安全性的密钥存储是亟需解决的关键问题之一。物理不可克隆函数(PhysicalUnclonableFunctions,PUFs)作为一种全球新兴的信息安全机制,具有低成本、高安全的特点,正在成为主流的信息安全产业的支撑,能够有效解决上述问题。PUFs的本质是一种“芯片指纹”,该“指纹”来源于难以控制、无法预测、不可克隆的芯片制造差异,能够抵御针对NVM的物理攻击。基于以上分析,PUFs在嵌入式设备中可用于替代NVM存储机制进行密钥、ID存储。但是,目前存在的基于PUFs密钥存储机制存在密钥难以更新的问题:基于PUFs的密钥存储机制的本质在于从PUFs固有的“芯片指纹”中提取密钥。然而,在密钥失效、到达生命周期等场景下需要动态的更新密钥,PUFs电路显然难以满足这一需求。而加入可重构PUFs则需要进行专用集成电路设计,增加成本。
技术实现思路
本专利技术旨在解决上述问题,提出一种可以动态更新的密钥存储机制,创新性的将PUFs的模糊性与密钥的精确性结合加密存储。本专利技术的目的在于提供一种基于SRAM-PUF的模糊保险箱密钥存储方案,本方案中,密钥来源于密钥管理系统或其他密钥生成机制,PUFs仅用于保护该密钥,将密钥储存于模糊保险箱中,确保密钥的安全性。密钥可以任意更新,更具灵活性。本专利技术多次采集SRAM芯片的上电值,若SRAM某一单元连续两次上电值不同,则算作该单元一次震荡,通过设置参数震荡次数阈值,可以筛选出SRAM芯片中的震荡点。根据SRAM芯片的特性,对于同一块SRAM芯片来说,其震荡点的地址基本不变,只有很小差异,而不同SRAM芯片的震荡点地址差异巨大。因此本专利技术将SRAM芯片中的震荡点地址作为特征模板构造模糊保险箱,同时利用存储密钥构造多项式,将密钥安全的存储在模糊保险箱中。本专利技术具体采用如下技术方案:注册阶段:第1步,将待存储密钥K与SRAM芯片匹配,使每块SRAM芯片仅对应一个密钥K。第2步,插入SRAM芯片,采集SRAM芯片的p次上电值,筛选出SRAM芯片中震荡次数(若SRAM某一单元连续两次的上电值不同,则算作一次震荡)大于f的单元作为震荡点并记录其地址。第3步,对待存储密钥K进行CRC编码得到KCRC,将KCRC平均分为D+1段并将所述D+1段的值依次作为系数,构造D级多项式P(x);第4步,构造真实点横坐标:根据所述真实点个数M确定所需特征信息的数量,选取M个震荡点并将M个震荡点的地址转化到有限域GF(216)中并作为xi(i=1,2,3....M),利用xi构造特征模板A={xi|xi∈GF(216),i=1,2,3…,M}第5步,构造真实点集合:将第4步所述M个真实点分别带入第3步中所述D级多项式P(x),得到真实点坐标P(xi)(i=1,2,3,...,M),将所述真实点坐标(xi,P(xi))(i=1,2,3,...,M)组合为真实点集合Q;第6步,构造杂凑点集合:利用随机数发生器随机生成N个杂凑点坐标(vj,wj)(j=1,2,3,4......N)作为杂凑点集合Q’,杂凑点坐标范围和真实点坐标范围相同。第7步,对真实点纵坐标P(xi)和杂凑点纵坐标wj进行BCH纠错编码,使得该纵坐标出现错误时可以将其纠正,经BCH编码后得到(P(xi))BCH和(wj)BCH,第8步,构造细节点,将所述真实点横坐标按照位宽对半拆分,得到高位真实点横坐标和低位真实点横坐标,将所述高位真实点横坐标和低位真实点横坐标组合为真实细节点(xhi,xli)(i=1,2,3,4.....M);将所述杂凑点横坐标按照位宽对半拆分,得到高位杂凑点横坐标和低位杂凑点横坐标,将所述高位杂凑点横坐标和低位杂凑点横坐标组合为杂凑细节点(vhj,vlj)(j=1,2,3,4.....N)。第9步,构造细节点描述子:对每一个真实细节点(xhi,xli)和每一个杂凑细节点(vhj,vlj)。依次进行如下步骤:以所述真实细节点(xhi,xli)或所述杂凑细节点(vhj,vlj)为中心按照一定规律(规律由注册者自由选取)选取k个细节点描述子,获取所述每个细节点描述子周围t个地址所对应的数值,并依次将所述k个细节点描述子周围的t个地址所对应的k*tbit数值按照先行后列的顺序排列,构造得到真实点细节点描述子数据MI′(xhi,xli))和杂凑点细节点描述子数据MI′(vhj,vlj))。第10步,计算帮助数据:将所述每一个真实点纵坐标纠错码与该真实点纵坐标纠错码所对应的描述子数据对应的低位进行异或,将所述每一个杂凑点纵坐标纠错码与该杂凑点纵坐标纠错码所对应的描述子数据对应的低位进行异或,得到真实点帮助数据hreal和杂凑点帮助数据hchaff。第11步,构造模糊保险箱:将所述真实点横坐标xi(i=1,2,3,…,M),杂凑点横坐标vj(j=1,2,3,…,N)和所述与其对应帮助数据hrealhchaff组合为坐标(xi,hreal)和(vj,hchaff),将其构成模糊保险箱,并将所述模糊保险箱坐标按照真实点横坐标和杂凑点横坐标的数值升序排列,组合为模糊保险箱V,将所述模糊保险箱V存储至所述认证数据库。重构阶段:第1步,用户插入SRAM芯片,系统读取p次SRAM上电特性,筛选出SRAM芯片中震荡次数(若SRAM某一单元连续两次的上电值不同,则算作一次震荡)大于f的单元作为震荡点并记录其地址构造震荡点集合ZD。第2步,将震荡点集合ZD与模糊保险箱中坐标点的横坐标做对比,筛选出模糊保险箱横坐标和集合ZD重合的坐标点构造重构真实点模板由于SRAM芯片中震荡点的位置比较固定(约有80%-90%震荡点位置固定),若用户使用合法SRAM芯片,可从模糊保险箱中对比出L个坐标点作为重构真实点模板QD(由于SRAM-PUF的响应误差,不能保证每次采集的震荡点完全一致,L<M)。第3步,构造细节点:将第2步中筛选出的重构真实点横坐标xdo按照位宽对半拆分,得到高位真实点横坐标xdho和低位真实点横坐标xdlo,将所述高位真实点横坐标和低位真实点横坐标组合为真实点细节点(xdho,xdlo)(o=1,2,3,4.....L)并映射在SRAM芯片坐标系中;第4步,构造细节点描述子:对每一个真实细节点(xdho,xdlo)依次进行如下步骤:以所述真实细节点(xdho,xdlo)按照一定规律(规律由注册者自由选取)选取k个细节点描述子,获取所述每个细节点描述子周围t个地址所对应的数值,并依次将所述k个细节点描述子周围的t个地址所对应的k*tbit数值按照先行后列的顺序排列,构造得到细节点描述子数据MI′(xdho,xdlo);第5步,将所述细节点描述子数据与真实点对应的帮助数据进行异或操作,获取重构真实本文档来自技高网...
一种基于SRAM-PUF的模糊保险箱的密钥存储方法

【技术保护点】
一种基于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(2

【技术特征摘要】
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*tbit数值按照先行后列的顺序排列,构造得到真实点细节点描述子数据MI′(xhi,xli))和杂凑点细节点描述子数据MI′(vhj,vlj)),k、t为正整数;第1-10步,计算帮助数据:将所述每一个真实点纵坐标纠错码与该真实点纵坐标纠错码所对应的描述子数据对...

【专利技术属性】
技术研发人员:李冰陈帅杨超凡沈克强刘勇董乾张林王刚赵霞
申请(专利权)人:东南大学
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1