CN106301786B - 一种基于sram型存储器的物理不可克隆函数响应纠错电路 - Google Patents
一种基于sram型存储器的物理不可克隆函数响应纠错电路 Download PDFInfo
- Publication number
- CN106301786B CN106301786B CN201610654990.XA CN201610654990A CN106301786B CN 106301786 B CN106301786 B CN 106301786B CN 201610654990 A CN201610654990 A CN 201610654990A CN 106301786 B CN106301786 B CN 106301786B
- Authority
- CN
- China
- Prior art keywords
- circuit
- response
- numerical value
- coding
- error correction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000004044 response Effects 0.000 title claims abstract description 168
- 238000012937 correction Methods 0.000 title claims abstract description 70
- 230000006870 function Effects 0.000 title claims abstract description 36
- 238000000034 method Methods 0.000 claims abstract description 27
- 230000008569 process Effects 0.000 claims abstract description 12
- 238000004364 calculation method Methods 0.000 claims abstract description 8
- 238000006243 chemical reaction Methods 0.000 claims abstract description 5
- 239000000284 extract Substances 0.000 claims description 14
- 238000000605 extraction Methods 0.000 claims description 10
- 230000000295 complement effect Effects 0.000 claims description 6
- 230000005611 electricity Effects 0.000 claims description 3
- 238000013507 mapping Methods 0.000 abstract description 6
- 238000012795 verification Methods 0.000 abstract description 3
- 230000005284 excitation Effects 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000004321 preservation Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000003483 aging Methods 0.000 description 1
- 230000032683 aging Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000000465 moulding Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3271—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
- H04L9/3278—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response using physically unclonable functions [PUF]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Error Detection And Correction (AREA)
Abstract
本发明公开了一种基于SRAM型存储器的物理不可克隆函数响应纠错电路,包括:编码模块用于将物理不可克隆函数的响应结合由随机数组成的密钥序列通过特定的编码规则映射成唯一对应的位置码序列;解码模块用于将物理不可克隆函数的响应结合原有的位置码序列反映射还原出密钥序列;控制模块实现编码和解码之间的转换、时序和地址的生成、各模块电路之间的线路控制和计算编码前密钥和解码后密钥之间的相似度的功能。本发明克服了SRAM PUF响应的不稳定性,将不稳定的SRAMPUF响应输出转换为稳定的密钥和位置码之间的映射关系,从而实现了硬件身份的认证,提高了身份认证的安全性,简化了认证过程,提高了认证效率,降低了硬件成本。
Description
技术领域
本发明涉及一种基于SRAM型存储器的物理不可克隆函数响应纠错电路,属于信息安全技术领域。
背景技术
物理不可克隆函数PUF是指一种可以依靠制造过程中的差异性来产生其特有输出的物理实体。对PUF结构输入的激励C和产生的响应R被称为激励-响应对CRP。一些情况下,PUF结构被认为是匹配激励响应的映射函数。对于同一个PUF结构,输入多次相同的激励会产生不同的响应,响应的差异是由于一些不规则的噪声、测量误差和周围环境如温度、电压等的变化引起的,而响应之间的差异称为片内汉明距离。为了使同一个PUF结构的响应具有可再现的特性,片内汉明距离当然是越小越好。但两个不同PUF结构的响应差异越大,就越容易区分两者。由于制造不出两块产生相同的激励响应对的PUF结构,因此,PUF是不可克隆的。
SRAM PUF(静态随机存取存储器物理不可克隆函数)电路是利用数字信号锁存结构在集成电路制造过程中存在的工艺偏差来产生物理不可克隆函数关系的电路。SRAM PUF电路的函数关系容易受到供电电压、温度以及老化等因素的影响,输出值并不稳定,因此在使用前必须经过纠错处理,使同一片PUF产生的有差异的响应通过函数能得到稳定的映射值。
发明内容
发明目的:为了克服现有技术中存在的不足,本发明提供一种基于SRAM型存储器的物理不可克隆函数响应纠错电路,克服SRAM PUF响应的不稳定性,将不稳定的SRAM PUF响应输出转换为稳定的密钥和位置码之间的映射关系,从而实现硬件身份认证,认证过程简单可靠,高效稳定,降低硬件成本。
技术方案:为实现上述目的,本发明采用的技术方案为:
一种基于SRAM型存储器的物理不可克隆函数响应纠错电路,包括控制模块、编码模块及解码模块;
其中,所述编码模块用于将物理不可克隆函数的响应结合由随机数组成的密钥序列通过编码规则映射成唯一对应的位置码序列;
所述解码模块用于将物理不可克隆函数的响应结合原有的位置码序列通过相应的解码规则反映射还原出对应的密钥序列;
所述控制模块用于实现编码和解码这两种状态之间的转换、时序和地址的生成、各模块电路之间的线路控制和计算编码前密钥和解码后密钥之间的相似度的功能。
优选的,所述控制模块包括控制电路、编码-解码转换器、时钟产生电路、地址生成电路及数据串组合电路;
其中,所述编码-解码转换器用于切换编码和解码这两种工作状态,时钟产生电路用于生成时钟触发信号,地址生成电路用于生成每个存储器的读写地址,数据串组合电路用于将数据串形式的密钥拆成单个二进制码或将二进制码形式的密钥重新组合成数据串形式。
所述编码模块包括汉明纠错算法电路、求最大偏差值电路、位置码存储器、密钥生成电路、纠错码存储器及SRAM PUF-1响应提取电路;
所述解码模块包括汉明纠错算法电路、数值极性判断电路、位置码存储器、纠错码存储器及SRAM PUF-2响应提取电路;
其中,所述汉明纠错算法电路包括编码和解码两种模式,其中编码模式下,当输入一个数据串时,汉明纠错算法电路将输出该数据串及对应的检验码;解码模式下,当输入一个数据串和对应的检验码时,汉明纠错算法电路将输出该数据串经过纠错后得到的数据串。
(一)具体的编码过程如下:
(1)编码初始复位:当收到外部的编码指令时,控制电路向编码-解码转换器发出编码请求,编码-解码转换器随后发出复位信号,使编码电路复位;同时,编码-解码转换器向SRAM PUF-1响应提取电路发出响应提取信号;
(2)SRAM PUF-1响应提取:SRAM PUF-1响应提取电路收到信号后开始提取第一个SRAM型存储器物理不可克隆函数的响应SRAM PUF-1,并通过数据串组合电路把该响应SRAMPUF-1以8位二进制补码的形式导出若干个响应数值,导出的响应数值存储在数据库中并发送给求最大偏差值电路,存储完毕后发送编码准备完毕信号给编码-解码转换器;
(3)开始编码:编码-解码转换器收到反馈信号后,向密钥生成电路发出生成密钥信号,并通过时钟产生电路触发汉明纠错算法电路的编码模式,使汉明纠错算法电路工作在编码状态;
(4)生成密钥序列:密钥生成电路收到信号后生成由随机数组成的密钥序列,同时将该密钥序列存储在数据库中并发送给汉明纠错算法电路;
(5)产生纠错码:编码状态的汉明纠错算法电路收到作为密钥序列的数据串后生成该数据串对应的纠错码并存储在纠错码存储器中,同时通过数据串组合电路将该密钥序列转换成二进制码的形式发送给求最大偏差值电路;
(6)生成位置码:包括以下步骤:
(61)求最大偏差值电路接收到SRAM PUF-1响应提取电路发出的若干个SRAMPUF-1响应数值后,将这些SRAMPUF-1响应数值按照每组N个的形式进行分组,每组中的SRAMPUF-1响应数值对应的位置序号依次为0,1,2…N-1;
(62)计算出每一组的平均响应数值,保存在数据库中并定义大于该组平均响应数值为正,小于该组平均响应数值为负;
(63)密钥序列中每一比特位对应一个响应数值组,若该响应数值组对应的比特位为1,则找出该组中数值与平均响应数值正向偏差最大的响应,同时将该响应在该组中的位置序号保存;若该响应数值组对应的比特位为0,则找出该组中数值与平均响应数值负向偏差最大的响应,同时将该响应在组中的位置序号保存;这些位置序号通过数据串组合电路顺序排列组成位置码存储到位置码存储器中;
(64)密钥序列中每一比特位对应N*8比特位的SRAM PUF-1响应,这种时序对应关系由时钟产生电路控制;
(7)编码完成:当所有的SRAM PUF-1响应都编码完成后,求最大偏差值电路向控制电路发出编码完成信号,编码结束。
(二)具体的解码过程如下:
(A)解码初始复位:当收到外部的解码命令时,控制电路向编码-解码转换器发出解码请求,编码-解码转换器随后发出复位信号,使解码电路复位;同时,编码-解码转换器向SRAM PUF-2响应提取电路发出响应提取信号;
(B)SRAM PUF-2响应提取:SRAM PUF-2响应提取电路收到信号后开始提取第二个SRAM型存储器物理不可克隆函数的响应SRAM PUF-2,并通过数据串组合电路把该响应SRAMPUF-2以8位二进制补码的形式导出若干个响应数值,导出的响应数值存储在数据库中并发送给数值极性判断电路,存储完毕后发送响应提取完成信号给编码-解码转换器;
(C)开始解码:编码-解码转换器收到SRAM PUF-2响应提取电路的反馈信息后,向数值极性判断电路发送解码开始信号,并通过时钟产生电路触发汉明纠错算法电路的解码模式,使汉明纠错算法电路工作在解码状态;
(D)生成密钥序列:包括以下步骤:
(D1)数值极性判断电路收到解码开始信号后,将从SRAM PUF-2响应提取电路得到的若干个SRAMPUF-2响应数值同样按照每组N个的形式进行分组,每组中的SRAMPUF-2响应数值对应的位置序号依次为0,1,2…N-1;
(D2)计算出每一组的平均响应数值,保存在数据库中并定义大于该组平均响应数值为正,小于该组平均响应数值为负;
(D3)从位置码存储器中读取位置码,位置码中每一个位置序号对应一个响应数值组,找出该组中其位置序号所对应的SRAM PUF-2响应数值,若该响应数值为正,则对应的密钥值为1,否则,对应的密钥值为0;位置码中每一个位置序号对应N*8比特位的SRAM PUF-2响应,这种时序对应关系由时钟产生电路控制;
(D4)将这些密钥值通过数据串组合电路转换成数据串形式的密钥序列存储到数据库中并发送给汉明纠错算法电路;
(E)密钥序列纠错:收到该密钥序列后,汉明纠错算法电路同时从纠错码存储器中读取相应的纠错码,得到纠错后的密钥序列,存储后发送到控制电路;
(F)相似度计算:控制电路对纠错后的密钥序列及编码中生成的密钥序列进行相似度计算,若两者的相似度高于设定值,说明产生SRAMPUF-1响应的硬件和产生SRAM PUF-2响应的硬件是同一块硬件;否则,说明两者是两块不同的硬件;
(G)解码完成判断:当完成SRAMPUF-1响应与SRAM PUF-2响应的对比后,控制电路向外部输出判断的结果,解码结束。
优选的,编码过程中,密钥生成电路生成的密钥序列按照每组S个的形式进行分组后再通过汉明纠错算法电路来产生纠错码;对应地,解码过程中,数值极性判断电路生成的密钥序列按照每组S个的形式进行分组后再通过汉明纠错算法电路来纠错。
一般SRAM PUF有大量的响应数据,而使用带纠错码的汉明纠错方法时,由于纠错能力有限,不能一次将所有的密钥序列纠错,因此对密钥序列分组纠错能有效提高汉明纠错算法电路的纠错效率。
进一步的,编码过程中,求最大偏差值电路(103)生成的位置码为K比特位,对应地,解码过程中,数值极性判断电路(104)读取的位置码为K比特位,且满足N<2K。
有益效果:本发明提供的一种基于SRAM型存储器的物理不可克隆函数响应纠错电路,相对于现有技术,具有以下效果:本发明克服了SRAM PUF响应的不稳定性,将不稳定的SRAMPUF响应输出转换为稳定的密钥和位置码之间的映射关系,从而实现了硬件身份的认证,提高了身份认证的安全性,简化了认证过程,提高了认证效率,降低了硬件成本。
附图说明
图1为本发明一种基于SRAM型存储器的物理不可克隆函数响应纠错电路的总体结构原理框图;
图2为本发明控制模块电路的结构原理框图;
图3为本发明在编码阶段的流程图;
图4为本发明在解码阶段的流程图;
图中包括:汉明纠错算法电路101,纠错码存储器102,求最大偏差值电路103,数值极性判断电路104,位置码存储器105,密钥生成电路106,SRAM PUF-1响应提取电路107,SRAM PUF-2响应提取电路108,控制电路201,编码-解码转换器202,时钟产生电路203,地址生成电路204,数据串组合电路205。
具体实施方式
下面结合附图对本发明作更进一步的说明。
如图1所示为一种基于SRAM型存储器的物理不可克隆函数响应纠错电路,包括控制模块、编码模块及解码模块;
其中,所述编码模块用于将物理不可克隆函数的响应结合由随机数组成的密钥序列通过编码规则映射成唯一对应的位置码序列;
所述解码模块用于将物理不可克隆函数的响应结合原有的位置码序列通过相应的解码规则反映射还原出对应的密钥序列;
所述控制模块用于实现编码和解码这两种状态之间的转换、时序和地址的生成、各模块电路之间的线路控制和计算编码前密钥和解码后密钥之间的相似度的功能;
所述编码模块包括汉明纠错算法电路101、求最大偏差值电路103、位置码存储器105、密钥生成电路106、纠错码存储器102及SRAM PUF-1响应提取电路107;
所述解码模块包括汉明纠错算法电路101、数值极性判断电路104、位置码存储器105、纠错码存储器102及SRAM PUF-2响应提取电路108;
所述控制模块包括控制电路201。
如图2所示,所述控制模块还包括编码-解码转换器202、时钟产生电路203、地址生成电路204及数据串组合电路205;
所述电路107、108分别表示SRAM PUF-1响应提取电路107、SRAM PUF-2响应提取电路108,存储器103、104分别表示求最大偏差值电路103、数值极性判断电路104,模块107、108同样表示SRAM PUF-1响应提取电路107、SRAM PUF-2响应提取电路108。
如图3所示,具体的编码过程如下:
(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收到信号后生成由随机数组成的密钥序列,同时将该密钥序列按照每组7个的形式进行分组后存储在数据库中并发送给汉明纠错算法电路101;
(5)产生纠错码:编码状态的汉明纠错算法电路101收到作为密钥序列的数据串后生成该数据串对应的纠错码并存储在纠错码存储器102中,同时通过数据串组合电路205将该密钥序列转换成二进制码的形式发送给求最大偏差值电路103;
(6)生成位置码:包括以下步骤:
(61)求最大偏差值电路103接收到SRAM PUF-1响应提取电路107发出的若干个SRAMPUF-1响应数值后,将这些SRAMPUF-1响应数值按照每组8个的形式进行分组,每组中的SRAMPUF-1响应数值对应的位置序号依次为0,1,2…7;
(62)计算出每一组的平均响应数值,保存在数据库中并定义大于该组平均响应数值为正,小于该组平均响应数值为负;
(63)密钥序列中每一比特位对应一个响应数值组,若该响应数值组对应的比特位为1,则找出该组中数值与平均响应数值正向偏差最大的响应,同时将该响应在该组中的位置序号保存;若该响应数值组对应的比特位为0,则找出该组中数值与平均响应数值负向偏差最大的响应,同时将该响应在组中的位置序号保存;这些位置序号通过数据串组合电路205按顺序排列组成位置码存储到位置码存储器105中;
(64)密钥序列中每一比特位对应8*8比特位的SRAM PUF-1响应,这种时序对应关系由时钟产生电路203控制;
(7)编码完成:当所有的SRAM PUF-1响应都编码完成后,求最大偏差值电路103向控制电路201发出编码完成信号,编码结束。
如图4所示,具体的解码过程如下:
(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响应数值同样按照每组8个的形式进行分组,每组中的SRAMPUF-2响应数值对应的位置序号依次为0,1,2…7;
(D2)计算出每一组的平均响应数值,保存在数据库中并定义大于该组平均响应数值为正,小于该组平均响应数值为负;
(D3)从位置码存储器105中读取位置码,位置码中每一个位置序号对应一个响应数值组,找出该组中其位置序号所对应的SRAM PUF-2响应数值,若该响应数值为正,则对应的密钥值为1,否则,对应的密钥值为0;位置码中每一个位置序号对应8*8比特位的SRAMPUF-1响应,这种时序对应关系由时钟产生电路203控制;
(D4)将这些密钥值通过数据串组合电路205转换成数据串形式的密钥序列,将得到的密钥序列按照每组S个的形式进行分组后存储到数据库中并发送给汉明纠错算法电路101;
(E)密钥序列纠错:收到该密钥序列后,汉明纠错算法电路101同时从纠错码存储器102中读取相应的纠错码,得到纠错后的密钥序列,存储后发送到控制电路201;
(F)相似度计算:控制电路201对纠错后的密钥序列及编码中生成的密钥序列进行相似度计算,若两者的相似度高于设定值,说明产生SRAMPUF-1响应的硬件和产生SRAMPUF-2响应的硬件是同一块硬件;否则,说明两者是两块不同的硬件;
(G)解码完成判断:当完成SRAMPUF-1响应与SRAM PUF-2响应的对比后,控制电路201向外部输出判断的结果,解码结束。
如图3、4所示,在编码和解码阶段中一共有两次纠错过程,第一次发生在求最大偏差值和极性判断的函数映射过程中,此过程中,既利用了不可克隆的响应数值映射出了位置码并且反映射重新得到密钥,又避免了大量的单个不稳定PUF响应;第二次发生在密钥两次通过汉明纠错算法模块的过程中,解码时利用编码生成的纠错码可以将第一次纠错过程中没有纠错成功的数据位再次纠正。
以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (3)
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)向外部输出判断的结果,解码结束。
2.根据权利要求1所述的一种基于SRAM型存储器的物理不可克隆函数响应纠错电路,其特征在于:编码过程中,密钥生成电路(106)生成的密钥序列按照每组S个的形式进行分组后再通过汉明纠错算法电路(101)来产生纠错码;对应地,解码过程中,数值极性判断电路(104)生成的密钥序列按照每组S个的形式进行分组后再通过汉明纠错算法电路(101)来纠错。
3.根据权利要求1所述的一种基于SRAM型存储器的物理不可克隆函数响应纠错电路,其特征在于:编码过程中,求最大偏差值电路(103)生成的位置码为K比特位,对应地,解码过程中,数值极性判断电路(104)读取的位置码为K比特位,且满足N<2K。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610654990.XA CN106301786B (zh) | 2016-08-10 | 2016-08-10 | 一种基于sram型存储器的物理不可克隆函数响应纠错电路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610654990.XA CN106301786B (zh) | 2016-08-10 | 2016-08-10 | 一种基于sram型存储器的物理不可克隆函数响应纠错电路 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106301786A CN106301786A (zh) | 2017-01-04 |
CN106301786B true CN106301786B (zh) | 2019-04-02 |
Family
ID=57669719
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610654990.XA Active CN106301786B (zh) | 2016-08-10 | 2016-08-10 | 一种基于sram型存储器的物理不可克隆函数响应纠错电路 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106301786B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106972926B (zh) * | 2017-03-29 | 2019-12-10 | 北京经纬恒润科技有限公司 | 一种无线汽车钥匙的加密解密方法、装置及系统 |
EP3407335B1 (en) * | 2017-05-22 | 2023-07-26 | Macronix International Co., Ltd. | Non-volatile memory based physically unclonable function with random number generator |
DE102018123103A1 (de) * | 2017-10-13 | 2019-04-18 | Samsung Electronics Co., Ltd. | Halbleitervorrichtung, die Sicherheitsschlüssel erzeugt, Verfahren zum Erzeugen eines Sicherheitsschlüssels und Verfahren zum Registrieren des Sicherheitsschlüssels |
CN109446846B (zh) * | 2018-10-19 | 2023-01-31 | 东南大学 | 一种物理不可克隆函数纠错方法 |
CN111756540B (zh) * | 2019-03-26 | 2023-04-28 | 北京普安信科技有限公司 | 一种传送密文的方法、终端、服务器及系统 |
CN112130809B (zh) * | 2020-09-21 | 2022-04-29 | 太原理工大学 | 一种真随机数发生器 |
CN112436945B (zh) * | 2020-11-11 | 2023-01-20 | 中国电子科技集团公司第五十八研究所 | 一种基于sram-puf的密钥获取方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104521177A (zh) * | 2011-12-06 | 2015-04-15 | 本质Id有限责任公司 | 使用单次注册用于基于存储器的puf的软判决误差校正 |
CN104704768A (zh) * | 2012-10-04 | 2015-06-10 | 本质Id有限责任公司 | 用于从用作物理不可克隆功能的存储器中生成密码密钥的系统 |
-
2016
- 2016-08-10 CN CN201610654990.XA patent/CN106301786B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104521177A (zh) * | 2011-12-06 | 2015-04-15 | 本质Id有限责任公司 | 使用单次注册用于基于存储器的puf的软判决误差校正 |
CN104704768A (zh) * | 2012-10-04 | 2015-06-10 | 本质Id有限责任公司 | 用于从用作物理不可克隆功能的存储器中生成密码密钥的系统 |
Non-Patent Citations (5)
Title |
---|
Soft Decision Error Correction for Compact Memory-Based PUFs Using a Single Enrollment;Vincent van der Leest等;《Cryptographic Hardware and Embedded Systems CHES 2012》;20120912;第268-282页 |
一种低成本物理不可克隆函数结构的设计实现及其RFID应用;刘伟强等;《电子学报》;20160731;第44卷(第7期);第1772-1776页 |
嵌入式SoC片上SRAM PUF的设计与实现;刘客;《中国优秀硕士学位论文全文数据库 信息科技辑》;20140615;第I135-197页 |
李刚等.基于SRAM-PUF电路的AES算法设 计.《数学的实践与认识》.2015,第45卷(第9期), |
适用于SRAM-PUF的纠错码研究;冯志华等;《微电子学与计算机》;20160630;第33卷(第6期);第11-13页 |
Also Published As
Publication number | Publication date |
---|---|
CN106301786A (zh) | 2017-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106301786B (zh) | 一种基于sram型存储器的物理不可克隆函数响应纠错电路 | |
CN101253726B (zh) | 在计算机可读介质中存储数据的计算机实施的方法 | |
US10469273B2 (en) | Authentication based on a challenge and response using a physically unclonable function | |
Dong et al. | A genetic algorithm enabled similarity-based attack on cancellable biometrics | |
Maes et al. | A soft decision helper data algorithm for SRAM PUFs | |
Zuckerman | Simulating BPP using a general weak random source | |
CN104521177B (zh) | 使用单次注册用于基于存储器的puf的软判决误差校正 | |
Chen et al. | Face template protection using deep LDPC codes learning | |
Aliabadi et al. | Storing sparse messages in networks of neural cliques | |
JP5288935B2 (ja) | コード化および復号化前のバイオメトリックパラメータの前処理方法 | |
Wen et al. | Enhancing PUF reliability by machine learning | |
CN106385316A (zh) | Puf模糊提取电路和方法 | |
CN111193254B (zh) | 一种住宅日用电负荷预测方法和设备 | |
CN103838649A (zh) | 一种降低二进制编码存储系统中计算量的方法 | |
Sun et al. | A novel cancelable fingerprint scheme based on random security sampling mechanism and relocation bloom filter | |
Rathgeb et al. | Context-based texture analysis for secure revocable iris-biometric key generation | |
CN110545543A (zh) | 一种无线设备的认证方法、装置及系统 | |
CN117526965A (zh) | 一种银行数据智能压缩存储方法、计算机设备及存储介质 | |
CN102355348A (zh) | 一种容错的des算法加速器 | |
Lai et al. | Breaking free from entropy’s shackles: cosine distance-sensitive error correction for reliable biometric cryptography | |
CN110730068A (zh) | 一种基于sram-puf的密钥提取方法 | |
CN109271797A (zh) | 一种提高数据库敏感信息安全性的方法及系统 | |
CN112149186B (zh) | 一种基于摘要算法的数据防篡改的方法及其系统 | |
CN115242402A (zh) | 签名方法、验签方法及电子设备 | |
Liu et al. | A new fuzzy vault method using cubic spline interpolation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |