CN109995507A - 一种基于puf的密钥生成方法及装置、私钥存储方法 - Google Patents
一种基于puf的密钥生成方法及装置、私钥存储方法 Download PDFInfo
- Publication number
- CN109995507A CN109995507A CN201910318049.4A CN201910318049A CN109995507A CN 109995507 A CN109995507 A CN 109995507A CN 201910318049 A CN201910318049 A CN 201910318049A CN 109995507 A CN109995507 A CN 109995507A
- Authority
- CN
- China
- Prior art keywords
- identification code
- bits
- sram
- key
- bch
- 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
- 238000000034 method Methods 0.000 title claims abstract description 67
- 238000012795 verification Methods 0.000 claims description 25
- 238000012937 correction Methods 0.000 claims description 17
- 230000008569 process Effects 0.000 claims description 14
- 238000012545 processing Methods 0.000 claims description 12
- 238000010586 diagram Methods 0.000 description 6
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000004044 response 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/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- 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/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
-
- 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/3234—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 involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Power Engineering (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于PUF的密钥生成方法及装置、私钥存储方法,使用嵌入式设备上的SRAM上电特征数据提取一串与设备具有硬件相关性的上电数据,再对这串数据使用SM3国密算法进行hash运算,得到256位安全密钥。由于利用嵌入式设备中的随机SRAM区域上电数据,通过PUF技术,加密使用的密钥只存在于芯片内部,在使用时才会通过“物理电子指纹”生成,使用后回归物理模式保存。且PUF的不可预知的随机唯一性和无可复制性,保证了加密密钥的安全唯一,从而实现”一芯一密”、”一次一密”的密钥管理方式,并利用此安全密钥对私钥使用SM4算法进行加密存储。通过上述方法,本发明可以大幅提高非对称密码算法的私钥安全性,且具有良好的应用前景。
Description
技术领域
本发明涉及嵌入式安全技术领域,具体涉及一种基于PUF的密钥生成方法及装置、私钥存储方法。
背景技术
近年来,非对称密码算法在各行各业中得到了普遍的应用。而在使用非对称密码算法时,如果攻击者获得了私钥,那么攻击者不仅能解密之前截获的消息,还能解密之后的所有消息。私钥的泄露将严重威胁私密数据的安全性,造成巨大的损失。保证私钥的安全可以保证数据的安全传输和安全存储。
本申请发明人在实施本发明的过程中,发现现有技术的方法,至少存在如下技术问题:
现有的私钥安全保护手段通常是,以明文或者密文的形式将私钥存储在非易失性存储器中,并采用USB Key的技术来保证私钥的安全性,然而采用这些保护手段无法保证私钥的充分安全性。
由此可知,现有技术中的方法存在私钥的存储安全性不高的技术问题。
发明内容
有鉴于此,本发明提供了一种基于PUF的密钥生成方法及装置、私钥存储方法,用以解决或者至少部分解决现有技术中的方法存在的私钥的存储安全性不高的技术问题。
本发明第一方面提供了一种基于PUF的密钥生成方法,包括:
步骤S1:基于SRAM PUF技术,采集嵌入式平台上电后的SRAM特征数据,并根据SRAM特征数据生成种子值和第一识别码,根据种子值和第一识别码进行BCH编码,生成帮助数据;
步骤S2:在读取引导加载程序后,根据第一识别码的地址读取带有噪声的第二识别码,根据帮助数据和第二识别码进行BCH译码,恢复出第三识别码,并验证第三识别码与第一识别码是否相同,如果相同则验证通过;
步骤S3:在第三识别码与第一识别码相同时,利用对称加密算法对第三识别码进行哈希处理,生成密钥。
在一种实施方式中,步骤S1具体包括:
读取一段大小为k bits第一SRAM初始值,将第一SRAM初始值进行BCH编码,生成具有预设纠错容限的n bits标准BCH码字;
读取一段大小为n bits第二SRAM初始值,根据第二SRAM初始值生成n bits的第一识别码;
将n bits标准BCH码字与n bits的第一识别码ID做异或处理,生成n bits帮助数据,并将其保存于非易失性存储器上,其中,n bits帮助数据用于密钥重构帮助带有噪声的识别码恢复出对应的识别码。
在一种实施方式中,步骤S2具体包括:
在读取引导加载程序后,读取与第一识别码具有相同地址的n bits带有噪声的第二识别码;
读取非易失性存储器保存的n bits帮助数据HD;
将n bits带有噪声的第二识别码与n bits帮助数据做异或操作,获得n bits带有错误的BCH码;
将n bits带有错误的BCH码经过BCH译码操作,判断实际错误是否不大于预设纠错容限,如果是则生成n bits标准BCH码,译码成功,否则,BCH译码失败,程序结束运行;
在译码成功时,将n bits标准BCH码与n bits帮助数据做异或操作,恢复出第三识别码;
将恢复出的第三识别码与系统注册时产生的第一识别码进行比较,如果相同则验证成功。
在一种实施方式中,步骤S3具体包括:
利用SM3算法或者SM4算法对第三识别码进行哈希处理,生成密钥。
在一种实施方式中,第一识别码的地址的生成过程包括:
通过随机生成器生成一个随机数;
根据生成的随机数在地址列表中选取出地址值作为第一识别码的地址。
基于同样的发明构思,本发明第二方面提供了一种基于PUF的密钥生成装置,包括:
SRAM PUF注册模块,用于基于SRAM PUF技术,采集嵌入式平台上电后的SRAM特征数据,并根据SRAM特征数据生成种子值和第一识别码,根据种子值和第一识别码进行BCH编码,生成帮助数据;
SRAM PUF验证模块,用于在读取引导加载程序后,根据第一识别码的地址读取带有噪声的第二识别码,根据帮助数据和第二识别码进行BCH译码,恢复出第三识别码,并验证第三识别码与第一识别码是否相同,如果相同则验证通过;
哈希处理模块,用于在第三识别码与第一识别码相同时,利用对称加密算法对第三识别码进行哈希处理,生成密钥。
在一种实施方式中,SRAM PUF注册模块具体用于:
读取一段大小为k bits第一SRAM初始值,将第一SRAM初始值进行BCH编码,生成具有预设纠错容限的n bits标准BCH码字;
读取一段大小为n bits第二SRAM初始值,根据第二SRAM初始值生成n bits的第一识别码;
将n bits标准BCH码字与n bits的第一识别码ID做异或处理,生成n bits帮助数据,并将其保存于非易失性存储器上,其中,n bits帮助数据用于密钥重构帮助带有噪声的识别码恢复出对应的识别码。
在一种实施方式中,SRAM PUF验证模块具体用于:
在读取引导加载程序后,读取与第一识别码具有相同地址的n bits带有噪声的第二识别码;
读取非易失性存储器保存的n bits帮助数据HD;
将n bits带有噪声的第二识别码与n bits帮助数据做异或操作,获得n bits带有错误的BCH码;
将n bits带有错误的BCH码经过BCH译码操作,判断实际错误是否不大于预设纠错容限,如果是则生成n bits标准BCH码,译码成功,否则,BCH译码失败,程序结束运行;
在译码成功时,将n bits标准BCH码与n bits帮助数据做异或操作,恢复出第三识别码;
将恢复出的第三识别码与系统注册时产生的第一识别码进行比较,如果相同则验证成功。
在一种实施方式中,哈希处理模块具体用于:
利用SM3算法或者SM4算法对第三识别码进行哈希处理,生成密钥。
基于同样的发明构思,本发明第三方面提供了一种私钥存储方法,将非对称算法的私钥利用第一方面生成的密钥进行加密处理后,存储于非易失性存储器中。
本申请实施例中的上述一个或多个技术方案,至少具有如下一种或多种技术效果:
本发明提供的一种基于PUF的密钥生成方法,首先基于SRAM PUF技术,采集嵌入式平台上电后的SRAM特征数据,并根据SRAM特征数据生成种子值和第一识别码,根据种子值和第一识别码进行BCH编码,生成帮助数据;然后根据第一识别码的地址读取带有噪声的第二识别码,根据帮助数据和第二识别码进行BCH译码,恢复出第三识别码,并验证第三识别码与第一识别码是否相同,如果相同则验证通过;并在第三识别码与第一识别码相同时,利用对称加密算法对第三识别码进行哈希处理,生成密钥。并基于上述密钥生成方法生成的密钥,对非对称算法的私钥进行加密处理,存储于非易失性存储器中。
相对于现有的方法而言,本发明采用SRAM PUF技术采集SRAM特征数据后,基于这组数据进行Hash处理生成一组密钥,再采用此密钥对私钥使用对称加密算法进行加密存储。通过PUF技术,加密使用的密钥只存在于芯片内部,在使用时才会通过“物理电子指纹”生成,使用后回归物理模式保存。且PUF的不可预知的随机唯一性和无可复制性,保证了加密密钥的安全唯一,从而实现“一芯一密”、“一次一密”的密钥管理方式,本发明可以大大提升私钥的安全性,有效保证私钥难以被外部破解窃取,造成私钥泄露。解决现有技术中存在的私钥的存储安全性不高的技术问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一种基于PUF的密钥生成方法的流程图;
图2为图1所示方法中采用的BCH算法的原理图;
图3为一种具体示例中密钥生成的示意图;
图4为本发明实施例中一种基于PUF的密钥生成装置的结构框图;
图5为本发明实施例中私钥存储方法对应的装置的整体框架图。
具体实施方式
本发明的目的在于针对现有技术中的方法存在的私钥的存储安全性不高的技术问题,提供基于PUF的密钥生成方法,并利用生成的密钥进行私钥的加密存储的方法。
本申请发明人通过大量的实践发现现有技术中采用USB Key的技术来保证私钥的安全性的方法,无法保证私钥的充分安全性。因此采用了PUF技术的密钥生成方法。通过PUF技术能够保证私钥的安全存储,PUF是指对一个物理实体输入一个激励,利用其不可避免的内在物理构造的随机差异输出一个不可预测的响应这样一个物理不可克隆的函数。通过PUF生成的物理不可克隆函数生成一组与嵌入式设备物理相关的密钥,并用此密钥对非对称算法的私钥进行加密存储,可以保证私钥的安全性。
通过PUF技术,加密使用的密钥只存在于芯片内部,在使用时才会通过“物理电子指纹”生成,使用后回归物理模式保存。且PUF的不可预知的随机唯一性和无可复制性,保证了加密密钥的安全唯一,从而实现“一芯一密”、“一次一密”的密钥管理方式,通过PUF产生的密钥再对私钥进行加密,保证私钥的安全性,这是一种有效的私钥安全保护方法。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本实施例提供了一种基于PUF的密钥生成方法,请参见图1,该方法包括:
步骤S1:基于SRAM PUF技术,采集嵌入式平台上电后的SRAM特征数据,并根据SRAM特征数据生成种子值和第一识别码,根据种子值和第一识别码进行BCH编码,生成帮助数据。
具体来说,步骤S1是SRAM PUF注册阶段。嵌入式系统读取Bootloader(引导加载程序),加载系统程序,对外围硬件完成初始化以后,开始SRAM PUF注册阶段。
SRAM特征数据是指嵌入式平台上的SRAM上电后的特征数据。SRAM为静态随机存取存储器(Static Random-Access Memory,SRAM)。
BCH码是一类重要的纠错码,它把信源待发的信息序列按固定的κ位一组划分成消息组,再将每一消息组独立变换成长为n(n>κ)的二进制数字组,称为码字。如果消息组的数目为M(显然M>=2),由此所获得的M个码字的全体便称为码长为n、信息数目为M的分组码,记为n,M。把消息组变换成码字的过程称为编码,其逆过程称为译码。本发明的密钥生成方法采用的BCH算法。
帮助数据是用于密钥重构帮助具有噪声的第二识别码NID(Noised Identified-Value)恢复出对应的识别码,故称其为帮助数据HD(Helper-Data)。
步骤S2:在读取引导加载程序后,根据第一识别码的地址读取带有噪声的第二识别码,根据帮助数据和第二识别码进行BCH译码,恢复出第三识别码,并验证第三识别码与第一识别码是否相同,如果相同则验证通过。
具体来说,步骤S2是SRAM PUF验证阶段,嵌入式系统读取Bootloader,加载系统程序,对外围硬件完成初始化以后,开始SRAM PUF验证阶段。
带有噪声的第二识别码与注册阶段中的第一是识别码是在同一地址范围读取的SRAM值,但是由于存在环境噪声的影响,系统每次启动会造成SRAM值会有一些不同,可以带有噪声的第二识别码将称之为NID,即带有噪声的识别码。NID用于重构出注册阶段的第一识别码ID。
步骤S3:在第三识别码与第一识别码相同时,利用对称加密算法对第三识别码进行哈希处理,生成密钥。
具体来说,基于SRMA的PUF技术分为注册阶段和验证阶段,只有在验证阶段通过才能生成可靠的对称解密的秘钥,解密出私钥。当验证通过时,则可以利用对称加密算法对第三识别码进行哈希处理,生成安全密钥。
在一种实施方式中,步骤S1具体包括:
读取一段大小为k bits第一SRAM初始值,将第一SRAM初始值进行BCH编码,生成具有预设纠错容限的n bits标准BCH码字;
读取一段大小为n bits第二SRAM初始值,根据第二SRAM初始值生成n bits的第一识别码;
将n bits标准BCH码字与n bits的第一识别码ID做异或处理,生成n bits帮助数据,并将其保存于非易失性存储器上,其中,n bits帮助数据用于密钥重构帮助带有噪声的识别码恢复出对应的识别码。
具体来说,BCH码作为一种具有纠错能力的循环码,并且纠错能力可控,即在码字长度n一定的条件下,根据纠错容限t的不同,信息位k需要对应变化。当n一定时,t越大,k越小。读取的一段大小为k bits第一SRAM初始值,将用来生成标准具有容错功能的BCH码,将其称为种子值S(Seed-Value);另外读取的一段大小为n bits的第二SRAM初始值,它将用来生成此片SRAM唯一密钥值,称其为识别码ID(Identified-Value)。
系统注册阶段完成后,开始系统正常运行。
在一种实施方式中,步骤S2具体包括:
在读取引导加载程序后,读取与第一识别码具有相同地址的n bits带有噪声的第二识别码;
读取非易失性存储器保存的n bits帮助数据HD;
将n bits带有噪声的第二识别码与n bits帮助数据做异或操作,获得n bits带有错误的BCH码;
将n bits带有错误的BCH码经过BCH译码操作,判断实际错误是否不大于预设纠错容限,如果是则生成n bits标准BCH码,译码成功,否则,BCH译码失败,程序结束运行;
在译码成功时,将n bits标准BCH码与n bits帮助数据做异或操作,恢复出第三识别码;
将恢复出的第三识别码与系统注册时产生的第一识别码进行比较,如果相同则验证成功。
具体来说,BCH译码操作是BCH编码的逆过程,在BCH译码操作中可以进行纠错处理。
在具体的实施过程中,请参见图2,为图1所示方法中采用的BCH算法的原理图。其整体包括BCH编码和BCH解码(译码)两个部分,分别对应注册阶段和验证阶段。在BCH编码过程中,由第一初始值(Starts)和第一识别码(Signs),生成帮助数据HD,在BCH解码过程,由帮助数据HD和第二识别码(NID),生成物理特征码(即第三特征码)。
更为具体地,图3为一种具体示例中256bits密钥生成的示意图。其中,BCH ode E表示标准BCH码字,SRAM ID表示第一识别码,helpdata DD表示帮助数据,BCH ode E’表示带有错误的BCH码,SRAM NID表示带有噪声的第二识别码,采用SM3加密算法进行哈希运算。
在一种实施方式中,步骤S3具体包括:
利用SM3算法或者SM4算法对第三识别码进行哈希处理,生成密钥。
具体来说,采用的对称加密算法可以为SM3算法或者SM4算法,从而更加符合国家安全需求以及商用体系,进一步提高安全性。
在一种实施方式中,第一识别码的地址的生成过程包括:
通过随机生成器生成一个随机数;
根据生成的随机数在地址列表中选取出地址值作为第一识别码的地址。
基于同一发明构思,本申请还提供了一种与实施例一中基于PUF的密钥生成方法对应的装置,详见实施例二。
实施例二
本实施例提供了一种基于PUF的密钥生成装置,请参见图4,该装置包括:
SRAM PUF注册模块201,用于基于SRAM PUF技术,采集嵌入式平台上电后的SRAM特征数据,并根据SRAM特征数据生成种子值和第一识别码,根据种子值和第一识别码进行BCH编码,生成帮助数据;
SRAM PUF验证模块202,用于在读取引导加载程序后,根据第一识别码的地址读取带有噪声的第二识别码,根据帮助数据和第二识别码进行BCH译码,恢复出第三识别码,并验证第三识别码与第一识别码是否相同,如果相同则验证通过;
哈希处理模块203,用于在第三识别码与第一识别码相同时,利用对称加密算法对第三识别码进行哈希处理,生成密钥。
在一种实施方式中,SRAM PUF注册模块具体用于:
读取一段大小为k bits第一SRAM初始值,将第一SRAM初始值进行BCH编码,生成具有预设纠错容限的n bits标准BCH码字;
读取一段大小为n bits第二SRAM初始值,根据第二SRAM初始值生成n bits的第一识别码;
将n bits标准BCH码字与n bits的第一识别码ID做异或处理,生成n bits帮助数据,并将其保存于非易失性存储器上,其中,n bits帮助数据用于密钥重构帮助带有噪声的识别码恢复出对应的识别码。
在一种实施方式中,SRAM PUF验证模块具体用于:
在读取引导加载程序后,读取与第一识别码具有相同地址的n bits带有噪声的第二识别码;
读取非易失性存储器保存的n bits帮助数据HD;
将n bits带有噪声的第二识别码与n bits帮助数据做异或操作,获得n bits带有错误的BCH码;
将n bits带有错误的BCH码经过BCH译码操作,判断实际错误是否不大于预设纠错容限,如果是则生成n bits标准BCH码,译码成功,否则,BCH译码失败,程序结束运行;
在译码成功时,将n bits标准BCH码与n bits帮助数据做异或操作,恢复出第三识别码;
将恢复出的第三识别码与系统注册时产生的第一识别码进行比较,如果相同则验证成功。
在一种实施方式中,哈希处理模块具体用于:
利用SM3算法或者SM4算法对第三识别码进行哈希处理,生成密钥。
由于本发明实施例二所介绍的装置,为实施本发明实施例一中基于PUF的密钥生成方法所采用的装置,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解该装置的具体结构及变形,故而在此不再赘述。凡是本发明实施例一的方法所采用的装置都属于本发明所欲保护的范围。
基于同一发明构思,本申请还提供了一种利用实施例一中基于PUF的密钥生成方法生成的密钥实现的私钥存储方法,详见实施例三。
实施例三
本实施例提供了一种私钥存储方法,将非对称算法的私钥利用实施例一生成的密钥进行加密处理后,存储于非易失性存储器中。
具体来说,利用实施例一生成的密钥可以对非对称算法的私钥进行加密处理,其中加密的算法可以采用对称加密算法。
总体来说,为解决现有技术中私钥的存储安全问题,本发明采用的技术方案是:提供一种基于PUF技术实现私钥的安全存储方法,通过利用嵌入式平台上的SRAM上电后的特征数据提取一组与嵌入式平台唯一相关的SRAM数据,基于这组数据进行Hash处理生成一组密钥,再采用此密钥对私钥使用对称加密算法进行加密存储。
在具体的实施过程中,私钥存储方法可以采用对应的计算机流程来实现,其中,对应的程序整体框架如图5所示。
从图5中可以看出,该框架包括地址生成模块,加密密钥生成模块、SM4加密模块以及私钥存储模块。其中,地址生成模块具体用于基于随机数生成器生成一个随机数,然后从地址映射表中选取出一个地址值,加密密钥生成模块即为实施二中的密钥生成装置,用于根据地址生成模块选取的地址值生成加密密钥,实现过程如实施例一所示的附图3所示。SM4加密模块用于利用加密密钥对私钥进行加密处理;私钥存储模块用于将加密后的私钥存储于非易失性存储器中。
由于本发明实施例三所介绍的私钥存储方法,为基于本发明实施例一中基于PUF的密钥生成方法所生成的密钥所实现的私钥存储方法,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解该私钥存储方法的具体实施过程,故而在此不再赘述。凡是基于本发明实施例一的方法生成的密钥所实现的私钥存储方法都属于本发明所欲保护的范围。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种基于PUF的密钥生成方法,其特征在于,包括:
步骤S1:基于SRAM PUF技术,采集嵌入式平台上电后的SRAM特征数据,并根据SRAM特征数据生成种子值和第一识别码,根据种子值和第一识别码进行BCH编码,生成帮助数据;
步骤S2:在读取引导加载程序后,根据第一识别码的地址读取带有噪声的第二识别码,根据帮助数据和第二识别码进行BCH译码,恢复出第三识别码,并验证第三识别码与第一识别码是否相同,如果相同则验证通过;
步骤S3:在第三识别码与第一识别码相同时,利用对称加密算法对第三识别码进行哈希处理,生成密钥。
2.如权利要求1所述的方法,其特征在于,步骤S1具体包括:
读取一段大小为k bits第一SRAM初始值,将第一SRAM初始值进行BCH编码,生成具有预设纠错容限的n bits标准BCH码字;
读取一段大小为n bits第二SRAM初始值,根据第二SRAM初始值生成n bits的第一识别码;
将n bits标准BCH码字与n bits的第一识别码ID做异或处理,生成n bits帮助数据,并将其保存于非易失性存储器上,其中,n bits帮助数据用于密钥重构帮助带有噪声的识别码恢复出对应的识别码。
3.如权利要求2所述的方法,其特征在于,步骤S2具体包括:
在读取引导加载程序后,读取与第一识别码具有相同地址的n bits带有噪声的第二识别码;
读取非易失性存储器保存的n bits帮助数据HD;
将n bits带有噪声的第二识别码与n bits帮助数据做异或操作,获得n bits带有错误的BCH码;
将n bits带有错误的BCH码经过BCH译码操作,判断实际错误是否不大于预设纠错容限,如果是则生成n bits标准BCH码,译码成功,否则,BCH译码失败,程序结束运行;
在译码成功时,将n bits标准BCH码与n bits帮助数据做异或操作,恢复出第三识别码;
将恢复出的第三识别码与系统注册时产生的第一识别码进行比较,如果相同则验证成功。
4.如权利要求1所述的方法,其特征在于,步骤S3具体包括:
利用SM3算法或者SM4算法对第三识别码进行哈希处理,生成密钥。
5.如权利要求1所述的方法,其特征在于,第一识别码的地址的生成过程包括:
通过随机生成器生成一个随机数;
根据生成的随机数在地址列表中选取出地址值作为第一识别码的地址。
6.一种基于PUF的密钥生成装置,其特征在于,包括:
SRAM PUF注册模块,用于基于SRAM PUF技术,采集嵌入式平台上电后的SRAM特征数据,并根据SRAM特征数据生成种子值和第一识别码,根据种子值和第一识别码进行BCH编码,生成帮助数据;
SRAM PUF验证模块,用于在读取引导加载程序后,根据第一识别码的地址读取带有噪声的第二识别码,根据帮助数据和第二识别码进行BCH译码,恢复出第三识别码,并验证第三识别码与第一识别码是否相同,如果相同则验证通过;
哈希处理模块,用于在第三识别码与第一识别码相同时,利用对称加密算法对第三识别码进行哈希处理,生成密钥。
7.如权利要求6所述的装置,其特征在于,SRAM PUF注册模块具体用于:
读取一段大小为k bits第一SRAM初始值,将第一SRAM初始值进行BCH编码,生成具有预设纠错容限的n bits标准BCH码字;
读取一段大小为n bits第二SRAM初始值,根据第二SRAM初始值生成n bits的第一识别码;
将n bits标准BCH码字与n bits的第一识别码ID做异或处理,生成n bits帮助数据,并将其保存于非易失性存储器上,其中,n bits帮助数据用于密钥重构帮助带有噪声的识别码恢复出对应的识别码。
8.如权利要求7所述的装置,其特征在于,SRAM PUF验证模块具体用于:
在读取引导加载程序后,读取与第一识别码具有相同地址的n bits带有噪声的第二识别码;
读取非易失性存储器保存的n bits帮助数据HD;
将n bits带有噪声的第二识别码与n bits帮助数据做异或操作,获得n bits带有错误的BCH码;
将n bits带有错误的BCH码经过BCH译码操作,判断实际错误是否不大于预设纠错容限,如果是则生成n bits标准BCH码,译码成功,否则,BCH译码失败,程序结束运行;
在译码成功时,将n bits标准BCH码与n bits帮助数据做异或操作,恢复出第三识别码;
将恢复出的第三识别码与系统注册时产生的第一识别码进行比较,如果相同则验证成功。
9.如权利要求6所述的装置,其特征在于,哈希处理模块具体用于:
利用SM3算法或者SM4算法对第三识别码进行哈希处理,生成密钥。
10.一种私钥存储方法,其特征在于,将非对称算法的私钥利用权利要求1至权利要求5任一项权利要求生成的密钥进行加密处理后,存储于非易失性存储器中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910318049.4A CN109995507A (zh) | 2019-04-19 | 2019-04-19 | 一种基于puf的密钥生成方法及装置、私钥存储方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910318049.4A CN109995507A (zh) | 2019-04-19 | 2019-04-19 | 一种基于puf的密钥生成方法及装置、私钥存储方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109995507A true CN109995507A (zh) | 2019-07-09 |
Family
ID=67132895
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910318049.4A Pending CN109995507A (zh) | 2019-04-19 | 2019-04-19 | 一种基于puf的密钥生成方法及装置、私钥存储方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109995507A (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111444556A (zh) * | 2020-03-31 | 2020-07-24 | 无锡金橘科技有限公司 | 一种基于sram puf的硬件ip的实现结构 |
CN111767553A (zh) * | 2020-05-29 | 2020-10-13 | 上海橙群微电子有限公司 | 数据加密解密方法、mcu及电子设备、可读存储介质 |
CN114091068A (zh) * | 2021-11-24 | 2022-02-25 | 东南大学 | 高效提取dram puf的密钥生成系统及方法 |
US11392301B2 (en) | 2020-04-02 | 2022-07-19 | Axiado Corporation | Secure boot hardware including hardware serial presence detection |
CN114817931A (zh) * | 2022-04-22 | 2022-07-29 | 中国电力科学研究院有限公司 | 基于星型信任链的终端安全防护方法、装置、设备及介质 |
CN114861231A (zh) * | 2021-02-03 | 2022-08-05 | 宜鼎国际股份有限公司 | 可数字签名的数据储存装置、数字签名系统及签名方法 |
CN114996774A (zh) * | 2021-03-02 | 2022-09-02 | 兴唐通信科技有限公司 | 一种基于sram puf的硬件指纹提取方法及系统 |
CN115941203A (zh) * | 2022-11-28 | 2023-04-07 | 重庆智网科技有限公司信息通信分公司 | 一种基于puf技术的私钥的安全存储方法及装置 |
CN116028992A (zh) * | 2023-02-23 | 2023-04-28 | 广东高云半导体科技股份有限公司 | 一种SoC芯片及其实现数据安全检测的方法 |
CN116226934A (zh) * | 2023-02-24 | 2023-06-06 | 浙江浙能数字科技有限公司 | 一种基于PUF-Passport的面向视频监控的目标检测模型安全防护方案 |
US12113895B2 (en) | 2020-12-11 | 2024-10-08 | PUFsecurity Corporation | Key management system providing secure management of cryptographic keys, and methods of operating the same |
US12278830B2 (en) | 2021-08-31 | 2025-04-15 | Axiado Corporation | Systems and methods using network artificial intelligence to manage control plane security in real-time |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103338107A (zh) * | 2013-06-05 | 2013-10-02 | 北京华大信安科技有限公司 | 密钥生成方法及密钥生成装置 |
CN105007285A (zh) * | 2015-08-19 | 2015-10-28 | 南京万道电子技术有限公司 | 一种基于物理不可克隆函数的密钥保护方法和安全芯片 |
CN108259162A (zh) * | 2016-12-28 | 2018-07-06 | 航天信息股份有限公司 | 一种密钥存储方法 |
CN109120573A (zh) * | 2017-06-22 | 2019-01-01 | 武汉大学 | 传输密钥生成方法、终端及服务器 |
US10243739B1 (en) * | 2015-03-30 | 2019-03-26 | Amazon Technologies, Inc. | Validating using an offload device security component |
CN109525399A (zh) * | 2018-10-22 | 2019-03-26 | 国家电网有限公司 | 一种基于puf实现电网智能移动终端系统认证的方法 |
CN109559803A (zh) * | 2018-09-17 | 2019-04-02 | 深圳市天达国际商业咨询有限公司 | 一种基于区块链的医疗平台 |
-
2019
- 2019-04-19 CN CN201910318049.4A patent/CN109995507A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103338107A (zh) * | 2013-06-05 | 2013-10-02 | 北京华大信安科技有限公司 | 密钥生成方法及密钥生成装置 |
US10243739B1 (en) * | 2015-03-30 | 2019-03-26 | Amazon Technologies, Inc. | Validating using an offload device security component |
CN105007285A (zh) * | 2015-08-19 | 2015-10-28 | 南京万道电子技术有限公司 | 一种基于物理不可克隆函数的密钥保护方法和安全芯片 |
CN108259162A (zh) * | 2016-12-28 | 2018-07-06 | 航天信息股份有限公司 | 一种密钥存储方法 |
CN109120573A (zh) * | 2017-06-22 | 2019-01-01 | 武汉大学 | 传输密钥生成方法、终端及服务器 |
CN109559803A (zh) * | 2018-09-17 | 2019-04-02 | 深圳市天达国际商业咨询有限公司 | 一种基于区块链的医疗平台 |
CN109525399A (zh) * | 2018-10-22 | 2019-03-26 | 国家电网有限公司 | 一种基于puf实现电网智能移动终端系统认证的方法 |
Non-Patent Citations (1)
Title |
---|
徐睿; 游佳; 刘坤; 马锋; 段珂; 钟焰涛: "基于国密算法和PUF的企业用户身份认证系统", 《计算机与现代化》 * |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111444556A (zh) * | 2020-03-31 | 2020-07-24 | 无锡金橘科技有限公司 | 一种基于sram puf的硬件ip的实现结构 |
US11644984B2 (en) | 2020-04-02 | 2023-05-09 | Axiado Corporation | Securely booting a processing chip to execute securely updated executable code |
US11392301B2 (en) | 2020-04-02 | 2022-07-19 | Axiado Corporation | Secure boot hardware including hardware serial presence detection |
US12008246B2 (en) | 2020-04-02 | 2024-06-11 | Axiado Corporation | Secure executable code update for a securely-bootable processing chip |
US11416150B2 (en) | 2020-04-02 | 2022-08-16 | Axiado Corporation | Associating a processing chip and a non-volatile memory chip |
US11520494B2 (en) | 2020-04-02 | 2022-12-06 | Axiado Corporation | Securely booting a processing chip |
US11768611B2 (en) | 2020-04-02 | 2023-09-26 | Axiado Corporation | Secure boot of a processing chip |
US11650741B2 (en) | 2020-04-02 | 2023-05-16 | Axiado Corporation | Securely booting a processor complex via a securely bootable subsystem |
US11640250B2 (en) | 2020-04-02 | 2023-05-02 | Axiado Corporation | Secure boot of a processing chip via hardware memory configuration |
CN111767553A (zh) * | 2020-05-29 | 2020-10-13 | 上海橙群微电子有限公司 | 数据加密解密方法、mcu及电子设备、可读存储介质 |
CN111767553B (zh) * | 2020-05-29 | 2024-04-12 | 上海橙群微电子有限公司 | 数据加密解密方法、mcu及电子设备、可读存储介质 |
US12113895B2 (en) | 2020-12-11 | 2024-10-08 | PUFsecurity Corporation | Key management system providing secure management of cryptographic keys, and methods of operating the same |
CN114861231A (zh) * | 2021-02-03 | 2022-08-05 | 宜鼎国际股份有限公司 | 可数字签名的数据储存装置、数字签名系统及签名方法 |
CN114861231B (zh) * | 2021-02-03 | 2025-05-27 | 宜鼎国际股份有限公司 | 可数字签名的数据储存装置、数字签名系统及签名方法 |
CN114996774A (zh) * | 2021-03-02 | 2022-09-02 | 兴唐通信科技有限公司 | 一种基于sram puf的硬件指纹提取方法及系统 |
US12278830B2 (en) | 2021-08-31 | 2025-04-15 | Axiado Corporation | Systems and methods using network artificial intelligence to manage control plane security in real-time |
CN114091068A (zh) * | 2021-11-24 | 2022-02-25 | 东南大学 | 高效提取dram puf的密钥生成系统及方法 |
CN114817931A (zh) * | 2022-04-22 | 2022-07-29 | 中国电力科学研究院有限公司 | 基于星型信任链的终端安全防护方法、装置、设备及介质 |
CN115941203A (zh) * | 2022-11-28 | 2023-04-07 | 重庆智网科技有限公司信息通信分公司 | 一种基于puf技术的私钥的安全存储方法及装置 |
CN116028992A (zh) * | 2023-02-23 | 2023-04-28 | 广东高云半导体科技股份有限公司 | 一种SoC芯片及其实现数据安全检测的方法 |
CN116028992B (zh) * | 2023-02-23 | 2024-06-07 | 广东高云半导体科技股份有限公司 | 一种SoC芯片及其实现数据安全检测的方法 |
CN116226934A (zh) * | 2023-02-24 | 2023-06-06 | 浙江浙能数字科技有限公司 | 一种基于PUF-Passport的面向视频监控的目标检测模型安全防护方案 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109995507A (zh) | 一种基于puf的密钥生成方法及装置、私钥存储方法 | |
JP5306465B2 (ja) | セキュアなメモリに応用するメッセージ認証コードの事前計算 | |
EP2526505B1 (en) | Device and method for obtaining a cryptographic key | |
CN102393890B (zh) | 一种抗物理入侵和旁路攻击的密码芯片系统及其实现方法 | |
CN107078904B (zh) | 混合密码密钥导出 | |
US8781117B2 (en) | Generating pseudo random bits from polynomials | |
US10985914B2 (en) | Key generation device and key generation method | |
CN114444140B (zh) | 存储器中的不可复制函数应用 | |
US10163370B2 (en) | Decoding apparatus, decoding capability providing apparatus, method thereof and program | |
EP1907969A1 (en) | Generating a secret key from an asymmetric private key | |
Prada-Delgado et al. | Trustworthy firmware update for Internet-of-Thing devices using physical unclonable functions | |
CN106100823B (zh) | 保护密码装置 | |
JP2018157411A (ja) | 情報処理装置 | |
US20220358203A1 (en) | Puf-rake: a puf-based robust and lightweight authentication and key establishment protocol | |
CN116527238A (zh) | 一种物理不可克隆函数硬件中高熵值随机数生成方法 | |
CN113114475A (zh) | 基于比特自检puf身份认证系统及协议 | |
CN114817931A (zh) | 基于星型信任链的终端安全防护方法、装置、设备及介质 | |
Hiller et al. | Systematic low leakage coding for physical unclonable functions | |
CN210955077U (zh) | 一种基于国密算法和puf的总线加解密装置 | |
CN103117850B (zh) | 一种基于随机序列数据库的密码系统的建立方法 | |
CN114021173B (zh) | 基于sm9密钥交换的量子密钥扩展方法、系统、介质及终端 | |
Ueno et al. | Tackling biased PUFs through biased masking: A debiasing method for efficient fuzzy extractor | |
KR20190024064A (ko) | 재생 공격 방지가 가능한 부호 기반 암호화 장치 및 방법 | |
CN114205079A (zh) | 基于puf和模糊提取算法的一次一密加密方法 | |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190709 |