CN106385316B - Puf模糊提取电路和方法 - Google Patents
Puf模糊提取电路和方法 Download PDFInfo
- Publication number
- CN106385316B CN106385316B CN201610794033.7A CN201610794033A CN106385316B CN 106385316 B CN106385316 B CN 106385316B CN 201610794033 A CN201610794033 A CN 201610794033A CN 106385316 B CN106385316 B CN 106385316B
- Authority
- CN
- China
- Prior art keywords
- hamming code
- puf
- module
- response
- majority voting
- 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.)
- Expired - Fee Related
Links
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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Lock And Its Accessories (AREA)
- Error Detection And Correction (AREA)
Abstract
PUF模糊提取电路,涉及电子技术,本发明包括下述部分:多数表决模块,用于对相同激励产生的响应数据的各位进行多数表决,以多数表决结果作为多数表决模块的输出结果,所述响应数据为对相同激励源产生的至少三次响应的响应数据;汉明码编码模块,用于对多数表决模块的输出结果进行汉明编码;错误纠正模块,存储有初始化阶段中生成的辅助汉明码,用于与汉明码编码模块的输出对照以检查其错误信息并输出最终响应;多数表决模块的输出端连接汉明码编码模块的输入端,汉明码编码模块的输出端连接错误纠正模块的输入端。本发明所消耗的逻辑资源数量较BCH纠错码实现的模糊提取电路少很多。
Description
技术领域
本发明涉及电子技术。
背景技术
近些年来,随着智能卡、RFID(Radio Frequency IDentification,射频识别)标签和传感器网络节点等物理实体的广泛应用,如何对这些物理实体实施有效认证是确保***安全的关键因素。然而,由于这类实体普遍存在计算能力差、资源有限等问题,传统基于密码学的认证方法在应用时存在很大障碍。借鉴当前普遍使用的基于人体唯一特征指纹或虹膜对个人实施认证的思想,人们提出了基于物理实体的内在物理构造来唯一地标识单个物理实体,实现对物理实体有效认证的方法。这就是人们提出的物理不可克隆函数(PhysicalUnclonable Function,PUF)的概念。随着人们越来越多的关注,物理不可克隆函数被应用到***认证和密钥生成等更多的领域,并逐渐成为硬件安全领域的一个热门技术。
物理不可克隆函数电路是一种依赖芯片特征的硬件函数实现电路,具有唯一性和随机性,通过提取芯片制造过程中必然引入的工艺参数偏差,实现激励信号与响应信号唯一对应的函数功能。由于同一种类型的PUF电路结构完全相同,且每个PUF电路制造完成后函数功能确定且唯一,因此,PUF电路另一个显著的特点是具有不可克隆性。PUF电路的上述特性,使其可以用于构建安全芯片,并防御各种攻击。对一个物理实体输入一个激励,利用其不可避免的内在物理构造的随机差异输出一个不可预测的响应,这样一个抗物理克隆攻击的函数如图1所示。显然,它最主要的优势是可以抵抗物理克隆攻击的发生,同时相对于资源有限的物理实体来说,它的优势还包括这种不能被克隆的激励响应行为不仅可以实现一些与传统公钥密码一样的功能,而且还能大大减少计算、存储和通信开销。
对于同一芯片施加相同的激励,可能由于外界环境的不同而产生不同的响应,这是PUF本身无法避免的问题,由于PUF生成响应无法保证绝对的稳定,如果只从结构上去改善还不足以满足实际应用中对稳定性的要求,一般还需要在PUF中添加模糊提取算法,纠正对于同一芯片相同的激励,由于外界环境不同而产生不同响应的问题,如图2所示。
当前常用的模糊提取算法是BCH纠错算法。BCH码是一类常用的纠错码,它把最初的响应信息序列按固定的k位一组划分成消息组,再将每一消息组独立变换成长为n(n>k)的二进制数字组,称为码字。把消息组变换成码字的过程称为编码,其逆过程称为译码。纠错能力是BCH码的重要指标,如果最初的响应信息k位中有m位出现了错误,如果m小于等于BCH码设计的纠错能力,则通过BCH编解码算法,可以完成这m位错误位的纠错,否则,不能纠正错误。
BCH纠错码的优点是具有强大的纠错能力,把BCH作为模糊提取算法,可以实现多位的纠错,但BCH纠错码也有其缺点:BCH编码器和BCH解码器都需要消耗非常多的逻辑资源,并且需要多个时钟周期才能完成BCH编解码过程,而PUF所需要的模糊提取算法,不能占用过多的逻辑资源,并且要在比较短的时间内完成模糊提取过程,BCH纠错算法在这些方面都不占优势。
发明内容
本发明所要解决的技术问题是,提供一种PUF模糊提取电路和方法,其具有比较强的纠错能力,并且所消耗的逻辑资源很少,并具有快速模糊提取的特点。
本发明解决所述技术问题采用的技术方案是,PUF模糊提取电路,其特征在于,包括下述部分:
多数表决模块,用于对相同激励产生的响应数据的各位进行多数表决,以多数表决结果作为多数表决模块的输出结果,所述响应数据为对相同激励源产生的至少三次响应的响应数据;
汉明码编码模块,用于对多数表决模块的输出结果进行汉明编码;
错误纠正模块,存储有初始化阶段中生成的辅助汉明码,用于与汉明码编码模块的输出对照以检查其错误信息并输出最终响应;
多数表决模块的输出端连接汉明码编码模块的输入端,汉明码编码模块的输出端连接错误纠正模块的输入端。
本发明还提供一种PUF模糊提取方法,其特征在于,包括下述步骤:
1)对来自同一激励源的至少三次响应信号数据的每一位进行多数表决,得到表决后的响应信号;
2)对表决后的响应信号进行汉明编码处理;
3)将汉明编码后的响应信号与初始化阶段预存的辅助汉明码进行比较,判断是否有错,若有错且错误位数大于1,输出验证失败信息;若没有错误或错误位数等于1,输出验证通过信息。
所述步骤3)为:将汉明编码后的响应信号与初始化阶段预存的辅助汉明码进行逐位异或计算,判断是否有错,若有错且错误位数大于1,输出验证失败信息;若没有错误或错误位数等于1,输出验证通过信息。
本发明结合了多数表决器和汉明码编码的优点。多数表决器本身作为模糊提取电路,就可以达到很高的排除外界环境干扰的能力,但为了进一步提升抗干扰能力,本发明加入了汉明码编码模块,使得本模糊提取电路的性能与BCH纠错码实现的模糊提取电路性能相当,并且所消耗的逻辑资源数量较BCH纠错码实现的模糊提取电路少很多。这符合PUF的一个重要设计原则:轻量级。PUF具有轻量级属性是指实现物理不可克隆函数的元器件的数量和大小都是很小的,这在资源有限的设备当中有广大的应用前景。在如RFID、传感器网络节点等资源有限的设备当中,留给PUF的逻辑资源已经很少了,所以轻量级就成为硬性的要求。本发明实现了轻量级高性能模糊提取电路设计,在轻量级PUF的应用中有很大的意义。
附图说明
图1是物理不可克隆函数的激励响应机制示意图。
图2是加入模糊提取的PUF***示意图。
图3是本发明电路模块示意图。
图4是多数表决器的结构示意图。
图5是汉明编码电路的结构示意图。
具体实施方式
本发明的电路包括三个部分,如图3所示:多数表决器模块、汉明码编码模块和错误纠正模块。多数表决器模块的作用是对相同的激励产生的响应进行多数表决,决定最终的响应是什么。汉明码编码模块是对多数表决器模块产生的响应进行汉明码编码。错误纠正模块的作用是利用汉明码编码模块产生的汉明码与辅助汉明码进行运算,得到错误位置信息,并进行纠错。
本发明支持两个阶段的操作:生成阶段和认证阶段。在最初的生成阶段(即初始化阶段),给PUF输入一个激励n次,产生n个响应,然后用模糊提取算法根据这n个响应产生一个辅助汉明码,用于认证阶段的错误纠正。在认证阶段,根据激励产生的响应,用模糊提取算法产生一个汉明码,与生成阶段产生的辅助汉明码做运算,根据运算结果对响应信息进行纠错,并产生最终的响应信息。
多数表决器的输入是PUF产生的响应信息,在工作过程中,对PUF施加n个相同的激励,则会产生n个响应,但这n个响应可能由于外界环境的影响(比如供电电压不稳定,温度的变化,周围电磁场的影响等),而不完全一致,对于响应信息的某一位,不是0就是1,多数表决器的作用就是比较某一位上是0出现的次数多还是1出现的次数多,如果0多,则最终多数表决器该位的输出就是0,否则,多数表决器该位的输出为1。每一位输入信息位对应的多数表决器电路如图4所示。寄存器组的数量是2个,在一次认证过程中,输入信息位一共输入3次,每一次输入的信息不是0就是1,寄存器组用于存储这些信息位的累加结果,3次输入结束后,用比较器进行累加结果与2的比较,如果累加结果大于等于2,则最终信息位是1,否则,最终信息位是0。
总结所需要的寄存器数量,每一个信息位需要2个寄存器,对于响应信息是n位的情况,一共需要2*n个寄存器,加法器和比较器一共需要18个逻辑门,所以多数表决器一共需要2*n个寄存器和18*n个逻辑门。
所消耗的时钟周期上,对于响应信息是n位的情况,要处理完这n位信息,需要的时钟周期是3*n/8。
汉明码编码模块的作用是对多数表决器输出的信息位进行汉明码编码。汉明码是一种能纠正一位错误的编码方式,如果响应信息有8位,需要6位汉明码能纠正8位中的1位错误,响应信息位数成倍增加时,需要的汉明码只需增加2位,对于512位的响应信息,需要24位汉明码。汉明码编码时对某些响应信息位做异或操作,异或操作的结果构成了最终的输出汉明码。具体电路如图5所示。图中COUNTin是9bit的数据,表示该信息位在整个响应信息中是第几位,通过多个时钟周期的计算后,寄存器中的值就是最终的汉明码编码结果。汉明编码纠错的原理系公知技术,例如文献:[美]Rober t J.McEliece著李斗殷等译.信息论与编码理论(第二版)[M].电子工业出版社出版。本发明不再赘述其原理。
汉明码编码模块消耗的逻辑资源比较少,一共需要18个寄存器,和36个逻辑门。所消耗的时钟周期是n个。
错误纠正模块用于认证阶段,汉明码编码模块产生的汉明码是错误纠正模块的输入,同时错误纠正模块中存储着生成阶段生成的辅助汉明码,这两个汉明码做异或操作,根据异或结果,判断认证阶段的响应信息是否有错,如果有错,错误位数是否等于1,如果是以上两种情况,则验证通过,否则,验证失败。
对于本发明,举例对电路工作流程进行详细说明:假设响应是8bit信号,在生成阶段,给PUF3次相同的激励,产生3个相同的响应,响应值都是10110110,则经过多路表决器后的值也是10110110,该结果输入汉明码产生模块,经过异或操作,生成汉明码为100110,所以生成阶段产生的辅助汉明码是100110;对于认证阶段,假设给PUF输入3次相同的激励,产生的响应分别是10010110,10010110,10110110,经过多路表决器后,得到的结果是10010110,与认证阶段所得的值不同,相差一位,经过汉明码编码模块后,经过异或操作,得到的结果是000000。这个汉明码与辅助汉明码100110进行异或,结果是100110,有3个1,代表发生了一位错误,在纠错范围之内,可以纠正,所以验证通过。
错误纠正模块所消耗的资源数量是46个逻辑门,错误纠正模块所消耗的时钟周期是2个。
本发明所消耗的逻辑资源总数是:18*n+82个逻辑门和2*n+18个寄存器,而一个同样功能的BCH纠错电路需要的逻辑资源数量(34*n+110个逻辑门和8*n+28个寄存器)远大于本发明电路所需要的逻辑资源数量。而消耗的总的时钟周期是11*n/8个,由于多数表决器和汉明码编码模块可以形成流水线操作,所以消耗的时钟周期可以更少,而BCH算法的编解码要进行多个步骤:伴随式计算、错误位置多项式计算和钱氏搜索三个步骤,而且这三个步骤是串行的,消耗的时钟周期是18*n,远大于本发明电路所需要的时钟周期。所以,本发明较传统的BCH算法有更快的速度,同时消耗更少的逻辑资源。
本发明电路是PUF的重要组成部分,PUF主要有四种应用:认证、随机预言机、可计算函数和密钥生成器。
认证是PUF最基本的应用。由于PUF的不可克隆、防篡改和轻量级等属性,使用PUF用于认证是一种非常有用的防伪技术。所以在PUF的相关应用文献中,这是最常见的形式。它的基本原理是:在注册阶段,每一个PUF的一些CRP连同嵌入PUF的物理***的身份一起被存储在数据库中。在认证阶段,验证者从数据库中挑选一个随机CRP,然后提供给当前的***来激励PUF,如果观察到PUF的响应足够接近于数据库中存储的响应,那么认证成功,否则失败。为了防止重放攻击,每个PUF的每个CRP只能使用一次并且必须在验证结束后从数据库中删除。
随机预言机(Random Oracle)是指一个确定性的公共可访问的随机均匀分布函数,对于任意长度的输入,在输出域中均匀选择一个确定性长度的值作为询问的回答。基于PUF的方法可以来提供安全性和隐私保护。它通过使用PUF作为一个随机预言机来实现安全性,但是如果没有使用随机预言模型的全部属性,那么可能没有必要模拟PUF作为一个随机预言机。
由于基于延迟的数字电路PUF可以采用线性不等式来表示,所以它可以用来作为一个可计算函数。这意味着服务器不需要存储CRP,而是直接计算出预计的响应。这就使得PUF具有轻量级的优势,更适合在像RFID、传感器网络节点等资源有限的设备中使用。
使用PUF作为密钥生成器主要考虑使用的是数字电路PUF。因为在集成电路中,数字电路PUF有很好的属性用于密钥生成和存储。通过采用适当的后处理技术,PUF可用于生产一个加密强密钥,使得方案更具有安全性。
Claims (3)
1.PUF模糊提取方法,其特征在于,包括下述步骤:
1)对来自同一激励源的至少三次响应信号数据的每一位进行多数表决,得到表决后的响应信号;
2)对表决后的响应信号进行汉明编码处理;
3)将汉明编码后的响应信号与初始化阶段预存的辅助汉明码进行比较,判断是否有错,若有错且错误位数大于1,输出验证失败信息;若没有错误或错误位数等于1,输出验证通过信息。
2.如权利要求1所述的PUF模糊提取方法,其特征在于,所述步骤3)为:将汉明编码后的响应信号与初始化阶段预存的辅助汉明码进行逐位异或计算,判断是否有错,若有错且错误位数大于1,输出验证失败信息;若没有错误或错误位数等于1,输出验证通过信息。
3.如权利要求1所述的PUF模糊提取方法,其特征在于,所述辅助汉明码在初始化阶段产生,生成步骤为:给PUF输入一个激励n次,产生n个响应,然后用模糊提取算法根据这n个响应产生辅助汉明码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610794033.7A CN106385316B (zh) | 2016-08-31 | 2016-08-31 | Puf模糊提取电路和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610794033.7A CN106385316B (zh) | 2016-08-31 | 2016-08-31 | Puf模糊提取电路和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106385316A CN106385316A (zh) | 2017-02-08 |
CN106385316B true CN106385316B (zh) | 2019-03-05 |
Family
ID=57938266
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610794033.7A Expired - Fee Related CN106385316B (zh) | 2016-08-31 | 2016-08-31 | Puf模糊提取电路和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106385316B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6588048B2 (ja) * | 2017-03-17 | 2019-10-09 | 株式会社東芝 | 情報処理装置 |
CN108875417B (zh) * | 2017-05-09 | 2020-05-08 | 中芯国际集成电路制造(上海)有限公司 | Puf特征值的生成方法和具有puf的器件 |
CN109509495B (zh) * | 2017-09-14 | 2020-09-22 | 清华大学 | 阻变存储器的操作方法及其操作装置、芯片以及芯片认证方法 |
CN110442889B (zh) * | 2018-05-03 | 2021-07-09 | 北京大学 | 一种基于puf和模糊处理的电路可信性设计方法 |
CN109446846B (zh) * | 2018-10-19 | 2023-01-31 | 东南大学 | 一种物理不可克隆函数纠错方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105007285A (zh) * | 2015-08-19 | 2015-10-28 | 南京万道电子技术有限公司 | 一种基于物理不可克隆函数的密钥保护方法和安全芯片 |
CN105723651A (zh) * | 2013-11-10 | 2016-06-29 | 赛普利斯电子有限责任公司 | 可验证装置 |
-
2016
- 2016-08-31 CN CN201610794033.7A patent/CN106385316B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105723651A (zh) * | 2013-11-10 | 2016-06-29 | 赛普利斯电子有限责任公司 | 可验证装置 |
CN105007285A (zh) * | 2015-08-19 | 2015-10-28 | 南京万道电子技术有限公司 | 一种基于物理不可克隆函数的密钥保护方法和安全芯片 |
Non-Patent Citations (2)
Title |
---|
"Entropy Loss in PUF-based Key Generation Schemes:The Repetition Code Pitfall";Patrick Koeberl,etc al.,;《2014 IEEE International Symposium on Hardware-Oriented Security and Trust》;20140507;第II部分以及图1 |
"Intrinsic PUFs from Flip-Flops on Reconfigurable Devices[C]";Maes R,etc al.,;《Proceedings of the 3rd Benelux Workshop on Information and System Security (WISSec)》;20080131;第5.1-5.2小节 |
Also Published As
Publication number | Publication date |
---|---|
CN106385316A (zh) | 2017-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106385316B (zh) | Puf模糊提取电路和方法 | |
CN108885675B (zh) | 包括电路编码变换函数的加密asic | |
Armknecht et al. | A formalization of the security features of physical functions | |
US20190312740A1 (en) | Multi-puf authentication from sensors and their calibration | |
KR101723006B1 (ko) | 물리적 복제 방지 기능 기반 키 생성 시스템을 이용하는 디바이스 인증 | |
US20130147511A1 (en) | Offline Device Authentication and Anti-Counterfeiting Using Physically Unclonable Functions | |
US20090083833A1 (en) | Authentication with physical unclonable functions | |
WO2012001796A1 (ja) | 個体別情報生成装置及び個体別情報生成方法 | |
CN103020552B (zh) | 基于sram的puf的片上自我注册***及其实现方法 | |
US11277272B2 (en) | Integrated circuit and method for challenge-response physically unclonable function | |
US10235517B2 (en) | Robust device authentication | |
CN104168264B (zh) | 一种低成本、高安全性物理不可克隆函数电路 | |
US9961057B2 (en) | Securing a cryptographic device against implementation attacks | |
US20210234709A1 (en) | Integrated circuit performing authentication using challenge-response protocol and method of using the integrated circuit | |
Nguyen et al. | Efficient attacks on robust ring oscillator PUF with enhanced challenge-response set | |
Wen et al. | Efficient fuzzy extractor implementations for PUF based authentication | |
US20160323097A1 (en) | Securing a cryptographic device | |
EP3214567B1 (en) | Secure external update of memory content for a certain system on chip | |
Aysu et al. | A design method for remote integrity checking of complex PCBs | |
Alimohammadi et al. | Secure hardware key based on physically unclonable functions and artificial neural network | |
JP2021528925A (ja) | ヘルパーデータのみを使用する相関型ロバスト認証技術 | |
Kodýtek et al. | Proposal and properties of ring oscillator-based PUF on FPGA | |
Zerrouki et al. | A low-cost authentication protocol using Arbiter-PUF | |
Kirkpatrick et al. | Software techniques to combat drift in PUF-based authentication systems | |
Shariati et al. | Security analysis of image-based PUFs for anti-counterfeiting |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20190305 Termination date: 20190831 |
|
CF01 | Termination of patent right due to non-payment of annual fee |