[发明专利]一种基于SRAM型存储器的物理不可克隆函数响应纠错电路有效
申请号: | 201610654990.X | 申请日: | 2016-08-10 |
公开(公告)号: | CN106301786B | 公开(公告)日: | 2019-04-02 |
发明(设计)人: | 阚诺文;刘伟强 | 申请(专利权)人: | 南京航空航天大学 |
主分类号: | H04L9/32 | 分类号: | H04L9/32 |
代理公司: | 南京瑞弘专利商标事务所(普通合伙) 32249 | 代理人: | 杨晓玲 |
地址: | 210016 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于SRAM型存储器的物理不可克隆函数响应纠错电路,包括:编码模块用于将物理不可克隆函数的响应结合由随机数组成的密钥序列通过特定的编码规则映射成唯一对应的位置码序列;解码模块用于将物理不可克隆函数的响应结合原有的位置码序列反映射还原出密钥序列;控制模块实现编码和解码之间的转换、时序和地址的生成、各模块电路之间的线路控制和计算编码前密钥和解码后密钥之间的相似度的功能。本发明克服了SRAM PUF响应的不稳定性,将不稳定的SRAMPUF响应输出转换为稳定的密钥和位置码之间的映射关系,从而实现了硬件身份的认证,提高了身份认证的安全性,简化了认证过程,提高了认证效率,降低了硬件成本。 | ||
搜索关键词: | 一种 基于 sram 存储器 物理 不可 克隆 函数 响应 纠错 电路 | ||
【主权项】:
1.一种基于SRAM型存储器的物理不可克隆函数响应纠错电路,其特征在于:包括控制模块、编码模块及解码模块;其中,所述编码模块用于将物理不可克隆函数的响应结合由随机数组成的密钥序列通过编码规则映射成唯一对应的位置码序列;所述解码模块用于将物理不可克隆函数的响应结合原有的位置码序列通过相应的解码规则反映射还原出对应的密钥序列;所述控制模块用于实现编码和解码这两种状态之间的转换、时序和地址的生成、各模块电路之间的线路控制和计算编码前密钥和解码后密钥之间的相似度的功能;所述控制模块包括控制电路(201)、编码‑解码转换器(202)、时钟产生电路(203)、地址生成电路(204)及数据串组合电路(205);所述编码模块包括汉明纠错算法电路(101)、纠错码存储器(102)、求最大偏差值电路(103)、位置码存储器(105)、密钥生成电路(106)及SRAM PUF‑1响应提取电路(107);所述解码模块包括汉明纠错算法电路(101)、纠错码存储器(102)、数值极性判断电路(104)、位置码存储器(105)及SRAM PUF‑2响应提取电路(108);(一)具体的编码过程如下:(1)编码初始复位:当收到外部的编码指令时,控制电路(201)向编码‑解码转换器(202)发出编码请求,编码‑解码转换器(202)随后发出一个复位信号,使编码电路复位;同时,编码‑解码转换器(202)向SRAM PUF‑1响应提取电路(107)发出响应提取信号;(2)SRAM PUF‑1响应提取:SRAM PUF‑1响应提取电路(107)收到信号后开始提取第一个SRAM型存储器物理不可克隆函数的响应SRAM PUF‑1,并通过数据串组合电路(205)把该响应SRAM PUF‑1以8位二进制补码的形式导出若干个响应数值,导出的响应数值存储在数据库中并发送给求最大偏差值电路(103),存储完毕后发送编码准备完毕信号给编码‑解码转换器(202);(3)开始编码:编码‑解码转换器(202)收到反馈信号后,向密钥生成电路(106)发出生成密钥信号,并通过时钟产生电路(203)触发汉明纠错算法电路(101)的编码模式,使汉明纠错算法电路(101)工作在编码状态;(4)生成密钥序列:密钥生成电路(106)收到信号后生成由随机数组成的密钥序列,同时将该密钥序列存储在数据库中并发送给汉明纠错算法电路(101);(5)产生纠错码:编码状态的汉明纠错算法电路(101)收到作为密钥序列的数据串后生成该数据串对应的纠错码并存储在纠错码存储器(102)中,同时通过数据串组合电路(205)将该密钥序列转换成二进制码的形式发送给求最大偏差值电路(103);(6)生成位置码:包括如下步骤:(61)求最大偏差值电路(103)接收到SRAM PUF‑1响应提取电路(107)发出的若干个SRAMPUF‑1响应数值后,将这些SRAMPUF‑1响应数值按照每组N个的形式进行分组,每组中的SRAMPUF‑1响应数值对应的位置序号依次为0,1,2…N‑1;(62)计算出每一组的平均响应数值,保存在数据库中并定义大于该组平均响应数值为正,小于该组平均响应数值为负;(63)密钥序列中每一比特位对应一个响应数值组,若该响应数值组对应的比特位为1,则找出该组中数值与平均响应数值正向偏差最大的响应,同时将该响应在该组中的位置序号保存;若该响应数值组对应的比特位为0,则找出该组中数值与平均响应数值负向偏差最大的响应,同时将该响应在组中的位置序号保存;这些位置序号通过数据串组合电路(205)排列组成位置码存储到位置码存储器(105)中;(64)密钥序列中每一比特位对应N*8比特位的SRAM PUF‑1响应,这种时序对应关系由时钟产生电路(203)控制;(7)编码完成:当所有的SRAM PUF‑1响应都编码完成后,求最大偏差值电路(103)向控制电路(201)发出编码完成信号,编码结束;(二)具体的解码过程如下:(A)解码初始复位:当收到外部的解码命令时,控制电路(201)向编码‑解码转换器(202)发出解码请求,编码‑解码转换器(202)随后发出复位信号,使解码电路复位;同时,编码‑解码转换器(202)向SRAM PUF‑2响应提取电路(108)发出响应提取信号;(B)SRAM PUF‑2响应提取:SRAM PUF‑2响应提取电路(108)收到信号后开始提取第二个SRAM型存储器物理不可克隆函数的响应SRAM PUF‑2,并通过数据串组合电路(205)把该响应SRAM PUF‑2以8位二进制补码的形式导出若干个响应数值,导出的响应数值存储在数据库中并发送给数值极性判断电路(104),存储完毕后发送响应提取完成信号给编码‑解码转换器(202);(C)开始解码:编码‑解码转换器(202)收到SRAM PUF‑2响应提取电路(108)的反馈信息后,向数值极性判断电路(104)发送解码开始信号,并通过时钟产生电路(203)触发汉明纠错算法电路(101)的解码模式,使汉明纠错算法电路(101)工作在解码状态;(D)生成密钥序列:包括如下步骤:(D1)数值极性判断电路(104)收到解码开始信号后,将从SRAM PUF‑2响应提取电路(108)得到的若干个SRAMPUF‑2响应数值同样按照每组N个的形式进行分组,每组中的SRAMPUF‑2响应数值对应的位置序号依次为0,1,2…N‑1;(D2)计算出每一组的平均响应数值,保存在数据库中并定义大于该组平均响应数值为正,小于该组平均响应数值为负;(D3)从位置码存储器中读取位置码,位置码中每一个位置序号对应一个响应数值组,找出该组中其位置序号所对应的SRAM PUF‑2响应数值,若该响应数值为正,则对应的密钥值为1,否则,对应的密钥值为0;位置码中每一个位置序号对应N*8比特位的SRAM PUF‑2响应,这种时序对应关系由时钟产生电路(203)控制;(D4)将这些密钥值通过数据串组合电路(205)转换成数据串形式的密钥序列存储到数据库中并发送到汉明纠错算法电路(101);(E)密钥序列纠错:收到该密钥序列后,汉明纠错算法电路(101)同时从纠错码存储器(102)中读取相应的纠错码,得到纠错后的密钥序列,存储后发送到控制电路(201);(F)相似度计算:控制电路(201)对纠错后的密钥序列及编码中生成的密钥序列进行相似度计算,若两者的相似度高于设定值,说明产生SRAMPUF‑1响应的硬件和产生SRAM PUF‑2响应的硬件是同一块硬件;否则,说明两者是两块不同的硬件;(G)解码完成:当完成SRAMPUF‑1响应与SRAM PUF‑2响应的对比后,控制电路(201)向外部输出判断的结果,解码结束。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京航空航天大学,未经南京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610654990.X/,转载请声明来源钻瓜专利网。