CN110730068A - 一种基于sram-puf的密钥提取方法 - Google Patents
一种基于sram-puf的密钥提取方法 Download PDFInfo
- Publication number
- CN110730068A CN110730068A CN201910912062.2A CN201910912062A CN110730068A CN 110730068 A CN110730068 A CN 110730068A CN 201910912062 A CN201910912062 A CN 201910912062A CN 110730068 A CN110730068 A CN 110730068A
- Authority
- CN
- China
- Prior art keywords
- sram
- data
- response sequence
- puf
- extraction method
- 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.)
- Pending
Links
Images
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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0866—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/1515—Reed-Solomon codes
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开一种基于SRAM‑PUF的密钥提取方法,属于SoC信息安全技术领域。所述基于SRAM‑PUF的密钥提取方法包括生成阶段和重建阶段。在生成阶段获得可公开的辅助数据S;在重建阶段,依据所述辅助数据S纠正存在的错误,得到稳定的响应序列Y2。本发明能防止信息被非法窃取,并抵御来自外界的暴力窃取和物理移植;纠正SRAM产生响应时出现的随机错误,极大地提高SRAM PUF的稳定性。
Description
技术领域
本发明涉及SoC信息安全技术领域,特别涉及一种基于SRAM-PUF的密钥提取方法。
背景技术
近年来,当智能设备越来越普遍时,随之而产生的信息安全问题成为了人们所关注的焦点。为了产品信息和用户数据不被泄漏,电子产品的加密防伪技术就显得尤为重要。如数据加密算法(DES)、高级加密标准(AES)和RSA公钥加密算法等传统的加密算法可以有效地保证数据和设备的安全,但如果这些加密算法的密钥一旦泄漏,加密算法也就失去了作用。此外,虽然可以设计复杂的加密算法来抵抗暴力破解攻击、侧信道攻击和重放攻击等以避免自身密钥的泄漏,然而由于成本和工作环境的制约,多数智能设备无法支持过于复杂的算法;一些优秀的加密算法即使能防止信息被非法窃取,也无法抵御来自外界的暴力窃取和物理移植。
在这种背景下,人们提出了一种全新的方法来保护设备的信息安全。鉴于集成电路在生产过程中每个逻辑门的物理特性都不相同,因此可以利用建立在设备上物理构造差异和不可克隆性来进行唯一性的认证。然而在实际使用中,SRAM PUF提取密钥还存在一些问题。由于温度、电压等工作环境的不同,对于同一个激励,SRAM PUF产生的响应序列也不一定相同。因此,需要对产生的响应序列进行处理以得到唯一稳定的密钥。
发明内容
本发明的目的在于提供一种基于SRAM-PUF的密钥提取方法,实现自适应调整、降低数据传输出错的风险,以提高SRAM PUF的稳定性。
为解决上述技术问题,本发明提供一种基于SRAM-PUF的密钥提取方法,包括:
生成阶段,获得可公开的辅助数据S;
重建阶段,依据所述辅助数据S纠正存在的错误,得到稳定的响应序列Y2。
可选的,所述生成阶段包括:
通过SRAM芯片产生响应序列Y和RS码;
所述RS码先随机产生长度为k的数据,利用m个RS纠错码将其编码为一个长度为n的数据D,其中k+m=n;
计算响应序列Y卷积数据D得到所述辅助数据S。
可选的,所述RS码和产生的响应序列Y等长。
可选的,所述SRAM芯片产生响应序列Y包括:
选取不少于2种常见型号的SRAM芯片进行若干次不同环境下的上电测试,从中分别选取片内上电复位值相对稳定的SRAM芯片和数据变化率相对较大的SRAM芯片,随机择SRAM芯片一组长度为n位置产生的数据作为响应序列Y。
可选的,所述重建阶段包括:依据所述辅助数据S,利用RS码译码及编码纠正存在的错误,得到稳定的响应序列Y2。
可选的,所述的重建阶段包括如下步骤:
步骤1、使用SRAM芯片中与生成阶段同一位置产生一个长度为n的响应序列Y1;
步骤2、将响应序列Y1与辅助数据S相卷积得到数据D1,所述数据D1是一个包含错误比特的数据,错误数为0到n;
步骤3、采用RS码将数据D1进行译码得到原信息,然后再重复生成阶段的编码过程,用RS码对其再次进行编译得到一个长度为n的数据D2;
步骤4、将数据D2与辅助数据S卷积得到的响应序列Y2,即为提取的密钥。
在本发明中提供了一种基于SRAM-PUF的密钥提取方法,在生成阶段获得可公开的辅助数据S;在重建阶段,依据所述辅助数据S纠正存在的错误,得到稳定的响应序列Y2。
本发明具有以下有益效果:
(1)能防止信息被非法窃取,并抵御来自外界的暴力窃取和物理移植;
(2)纠正SRAM产生响应时出现的随机错误,极大地提高SRAM PUF的稳定性。
附图说明
图1是本发明提供的基于SRAM-PUF的密钥提取方法示意图;
图2是SRAM存储单元结构示意图。
具体实施方式
以下结合附图和具体实施例对本发明提出的一种基于SRAM-PUF的密钥提取方法作进一步详细说明。根据下面说明和权利要求书,本发明的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比例,仅用以方便、明晰地辅助说明本发明实施例的目的。
实施例一
本发明提供了一种基于SRAM-PUF的密钥提取方法,如图1所示,包括生成阶段和重建阶段;其中,在所述生成阶段获得可公开的辅助数据S;在重建阶段依据所述辅助数据S纠正存在的错误,得到稳定的相应序列Y2。
具体的,请继续参阅图1,在所述生成阶段,首先通过SRAM芯片产生响应序列Y和RS码;所述RS码先随机产生长度为k的数据,利用m个RS纠错码将其编码为一个长度为n的数据D,其中k+m=n;计算响应序列Y卷积数据D得到所述辅助数据S,由于从所述辅助数据S无法逆推出响应序列Y,所以辅助数据S是可以公开的。其中,所述RS码和产生的响应序列Y等长,且均通过SRAM芯片产生。进一步的,响应序列Y的产生方法为:选取不少于2种常见型号的SRAM芯片进行若干次不同环境下的上电测试,从中分别选取片内上电复位值相对稳定的SRAM芯片和数据变化率相对较大的SRAM芯片,随机择SRAM芯片一组长度为n位置产生的数据作为响应序列Y(即上电值Y);更进一步的,如图2所示的两个首尾相连的反相耦合器组成了SRAM PUF的单元阵列中的每个单元。其中两个状态节点Q和nQ在无源情况下处于逻辑“00”状态,而当SRAM上电后,Q和nQ会迅速过渡到“01”或“10”状态,因为工艺生产中存在的部分不确定性因素,这个最终状态是不可预测的。那么利用这个特性在上电后,SRAM的存储矩阵上就会得到一系列不同的响应,形成激励响应对。选取五种常见型号的SRAM芯片多次进行不同环境下的上电测试,从中分别选取片内上电复位值较为稳定的芯片和同片片内数据变化率较大的芯片,随机择芯片一组长度为n位置产生的数据作为响应序列Y。
所述重建阶段包括:依据所述生成阶段获得的辅助数据S,利用RS码译码及编码纠正存在的错误,得到稳定的响应序列Y2,具体为:
使用SRAM芯片中与生成阶段同一位置产生一个长度为n的响应序列Y1(即上电复值Y1);将响应序列Y1与辅助数据S相卷积得到数据D1,而其中D1是一个包含错误传输比特的数据;采用RS码将数据D1进行译码得到原信息,然后再重复生成阶段的编码过程,用RS码对其再次进行编译得到一个长度为n的数据D2,这个译码后再次编码的过程即为图1中的RS码纠错;将数据D2与辅助数据S卷积得到的响应序列Y2,即为提取的密钥。
上述描述仅是对本发明较佳实施例的描述,并非对本发明范围的任何限定,本发明领域的普通技术人员根据上述揭示内容做的任何变更、修饰,均属于权利要求书的保护范围。
Claims (6)
1.一种基于SRAM-PUF的密钥提取方法,其特征在于,包括:
生成阶段,获得可公开的辅助数据S;
重建阶段,依据所述辅助数据S纠正存在的错误,得到稳定的响应序列Y2。
2.如权利要求1所述的基于SRAM-PUF的密钥提取方法,其特征在于,所述生成阶段包括:
通过SRAM芯片产生响应序列Y和RS码;
所述RS码先随机产生长度为k的数据,利用m个RS纠错码将其编码为一个长度为n的数据D,其中k+m=n;
计算响应序列Y卷积数据D得到所述辅助数据S。
3.如权利要求2所述的基于SRAM-PUF的密钥提取方法,其特征在于,所述RS码和产生的响应序列Y等长。
4.如权利要求2所述的基于SRAM-PUF的密钥提取方法,其特征在于,所述SRAM芯片产生响应序列Y包括:
选取不少于2种常见型号的SRAM芯片进行若干次不同环境下的上电测试,从中分别选取片内上电复位值相对稳定的SRAM芯片和数据变化率相对较大的SRAM芯片,随机择SRAM芯片一组长度为n的位置产生的数据作为响应序列Y。
5.如权利要求2所述的基于SRAM-PUF的密钥提取方法,其特征在于,所述重建阶段包括:依据所述辅助数据S,利用RS码译码及编码纠正存在的错误,得到稳定的响应序列Y2。
6.如权利要求5所述的基于SRAM-PUF的密钥提取方法,其特征在于,所述的重建阶段包括如下步骤:
步骤1、使用SRAM芯片中与生成阶段同一位置产生一个长度为n的响应序列Y1;
步骤2、将响应序列Y1与辅助数据S相卷积得到数据D1,所述数据D1是一个包含错误比特的数据,错误数为0到n;
步骤3、采用RS码将数据D1进行译码得到原信息,然后再重复生成阶段的编码过程,用RS码对其再次进行编译得到一个长度为n的数据D2;
步骤4、将数据D2与辅助数据S卷积得到的响应序列Y2,即为提取的密钥。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910912062.2A CN110730068A (zh) | 2019-09-25 | 2019-09-25 | 一种基于sram-puf的密钥提取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910912062.2A CN110730068A (zh) | 2019-09-25 | 2019-09-25 | 一种基于sram-puf的密钥提取方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110730068A true CN110730068A (zh) | 2020-01-24 |
Family
ID=69219420
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910912062.2A Pending CN110730068A (zh) | 2019-09-25 | 2019-09-25 | 一种基于sram-puf的密钥提取方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110730068A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111884799A (zh) * | 2020-07-30 | 2020-11-03 | 中物院成都科学技术发展中心 | 一种基于RO-PUF的CRPs库构建方法和系统 |
CN112436945A (zh) * | 2020-11-11 | 2021-03-02 | 中国电子科技集团公司第五十八研究所 | 一种基于sram-puf的密钥获取方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120183135A1 (en) * | 2011-01-19 | 2012-07-19 | Verayo, Inc. | Reliable puf value generation by pattern matching |
CN102656588A (zh) * | 2009-08-14 | 2012-09-05 | 本质Id有限责任公司 | 具有防篡改和抗老化系统的物理不可克隆函数 |
CN103188075A (zh) * | 2013-02-01 | 2013-07-03 | 广州大学 | 一种密钥和真随机数发生器及生成密钥和真随机数的方法 |
CN105337725A (zh) * | 2014-08-08 | 2016-02-17 | 中国科学院数据与通信保护研究教育中心 | 一种密钥管理装置及方法 |
CN105530097A (zh) * | 2014-09-30 | 2016-04-27 | 中国科学院数据与通信保护研究教育中心 | 一种基于sram puf的密钥提取方法及系统 |
US9584329B1 (en) * | 2014-11-25 | 2017-02-28 | Xilinx, Inc. | Physically unclonable function and helper data indicating unstable bits |
CN108959977A (zh) * | 2018-06-22 | 2018-12-07 | 中国电子科技集团公司第五十八研究所 | 一种适用于sram puf的软硬混合解码方法 |
-
2019
- 2019-09-25 CN CN201910912062.2A patent/CN110730068A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102656588A (zh) * | 2009-08-14 | 2012-09-05 | 本质Id有限责任公司 | 具有防篡改和抗老化系统的物理不可克隆函数 |
US20120183135A1 (en) * | 2011-01-19 | 2012-07-19 | Verayo, Inc. | Reliable puf value generation by pattern matching |
CN103188075A (zh) * | 2013-02-01 | 2013-07-03 | 广州大学 | 一种密钥和真随机数发生器及生成密钥和真随机数的方法 |
CN105337725A (zh) * | 2014-08-08 | 2016-02-17 | 中国科学院数据与通信保护研究教育中心 | 一种密钥管理装置及方法 |
CN105530097A (zh) * | 2014-09-30 | 2016-04-27 | 中国科学院数据与通信保护研究教育中心 | 一种基于sram puf的密钥提取方法及系统 |
US9584329B1 (en) * | 2014-11-25 | 2017-02-28 | Xilinx, Inc. | Physically unclonable function and helper data indicating unstable bits |
CN108959977A (zh) * | 2018-06-22 | 2018-12-07 | 中国电子科技集团公司第五十八研究所 | 一种适用于sram puf的软硬混合解码方法 |
Non-Patent Citations (1)
Title |
---|
邵健: ""基于SRAM-PUF的秘钥提取方案设计"", 《电子设计工程》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111884799A (zh) * | 2020-07-30 | 2020-11-03 | 中物院成都科学技术发展中心 | 一种基于RO-PUF的CRPs库构建方法和系统 |
CN111884799B (zh) * | 2020-07-30 | 2021-03-30 | 中物院成都科学技术发展中心 | 一种基于RO-PUF的CRPs库构建方法和系统 |
CN112436945A (zh) * | 2020-11-11 | 2021-03-02 | 中国电子科技集团公司第五十八研究所 | 一种基于sram-puf的密钥获取方法 |
CN112436945B (zh) * | 2020-11-11 | 2023-01-20 | 中国电子科技集团公司第五十八研究所 | 一种基于sram-puf的密钥获取方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Delvaux et al. | A survey on lightweight entity authentication with strong PUFs | |
EP2789116B1 (en) | Soft decision error correction for memory based puf using a single enrollment | |
CN107566122B (zh) | 用于执行物理不可克隆功能的多次注册的方法 | |
US20120183135A1 (en) | Reliable puf value generation by pattern matching | |
US9998445B2 (en) | Authentication system | |
US7653197B2 (en) | System and method of reliable forward secret key sharing with physical random functions | |
Gao et al. | Lightweight (reverse) fuzzy extractor with multiple reference PUF responses | |
Gao et al. | Building secure SRAM PUF key generators on resource constrained devices | |
Yin et al. | Design and implementation of a group-based RO PUF | |
US10742406B2 (en) | Key generation and secure storage in a noisy environment | |
JP2018504827A (ja) | 物理的複製不可能関数からの暗号鍵生成 | |
US11146410B2 (en) | Pseudo-random generation of matrices for a computational fuzzy extractor and method for authentication | |
KR20080106180A (ko) | 신호 제너레이터에 기반한 장치 보안 | |
US8817972B2 (en) | Method of authentication using a decoding of an error correcting code on the basis of a public matrix | |
CN110730068A (zh) | 一种基于sram-puf的密钥提取方法 | |
CN103338107A (zh) | 密钥生成方法及密钥生成装置 | |
US20220358203A1 (en) | Puf-rake: a puf-based robust and lightweight authentication and key establishment protocol | |
Kazumori et al. | A ternary fuzzy extractor for efficient cryptographic key generation | |
Müelich | Channel coding for hardware-intrinsic security | |
Yu et al. | Security and reliability properties of syndrome coding techniques used in PUF key generation | |
Alibrahim | OCCRA: overt-covert challenge-response authentication using device-centric primitives | |
CN112436945A (zh) | 一种基于sram-puf的密钥获取方法 | |
Van Dijk et al. | PUF Interfaces and their Security | |
WO2022047540A1 (en) | Device fingerprinting | |
CN115941203A (zh) | 一种基于puf技术的私钥的安全存储方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200124 |
|
RJ01 | Rejection of invention patent application after publication |