CN103544410B - 一种嵌入式微处理器非可克隆函数密钥认证系统和方法 - Google Patents

一种嵌入式微处理器非可克隆函数密钥认证系统和方法 Download PDF

Info

Publication number
CN103544410B
CN103544410B CN201310460138.5A CN201310460138A CN103544410B CN 103544410 B CN103544410 B CN 103544410B CN 201310460138 A CN201310460138 A CN 201310460138A CN 103544410 B CN103544410 B CN 103544410B
Authority
CN
China
Prior art keywords
data
module
generation module
embedded
puf
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
Application number
CN201310460138.5A
Other languages
English (en)
Other versions
CN103544410A (zh
Inventor
刘政林
刘文超
张振华
王雪
邹雪城
郑朝霞
童乔凌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huazhong University of Science and Technology
Original Assignee
Huazhong University of Science and Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huazhong University of Science and Technology filed Critical Huazhong University of Science and Technology
Priority to CN201310460138.5A priority Critical patent/CN103544410B/zh
Publication of CN103544410A publication Critical patent/CN103544410A/zh
Application granted granted Critical
Publication of CN103544410B publication Critical patent/CN103544410B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/123Restricting unauthorised execution of programs by using dedicated hardware, e.g. dongles, smart cards, cryptographic processors, global positioning systems [GPS] devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种嵌入式微处理器非可克隆函数密钥认证系统,包括嵌入式端、烧写设备端和PC端,嵌入式端包括PUF待分析数据提取模块以及IAP模块,烧写设备端包括待烧写程序处理模块,PC端包括嵌入式认证程序生成模块、PUF分析模块、数据库模块、散列数据生成模块、以及帮助数据生成模块,PUF待分析数据提取模块用于多次提取SRAM中的初始上电数据,并将数据发送到PUF分析模块,PUF分析模块用于对采集到的初始上电数据及其样本大小进行分析,PUF分析模块还用于将获得的密钥发送到散列数据生成模块和帮助数据生成模块。本发明避免了攻击者通过物理攻击对嵌入式设备的密钥进行破解从而对整个嵌入式的软件进行复制的行为,从而保证嵌入式软件版权受到了保护。

Description

一种嵌入式微处理器非可克隆函数密钥认证系统和方法
技术领域
本发明属于嵌入式系统安全领域,更具体地,涉及一种嵌入式微处理器非可克隆函数密钥认证系统和方法。
背景技术
近些年来,我国嵌入式设备需求激增。在巨大的利益诱惑下,许多企业舍弃传统的“研发-生产-销售”模式,转而采取“模仿-生产-销售”的方式。许多公司费尽心血研发的产品,投放市场不久,就被竞争对手破解,从硬件到软件完全地被克隆,重新包装之后投放市场。也有公司在委托生产厂商进行产品生产时,生产厂商额外生产出大量的相同产品,改换品牌投放市场。
在这种恶性模仿的氛围下,大量的公司因为盗版产品的猖獗而蒙受大量的经济损失,而又有大量的公司依靠窃取他人的劳动成果来进行盈利,这是非常不公平的现象。尽管目前越来越多的法律法规正在完善之中,但是单纯依靠这些还是不够的。为了能够保护原创公司的知识产权,我们还应该从技术的角度出发去寻求更多的解决方案。于是,版权保护技术成为越来越受到关注的焦点。
2001年,PappuSrinivasaRavikanth提出了物理非可克隆(PhysicalUnclonableFunction,简称PUF),为保护芯片数据物理安全提供了一种全新有效的方法。与传统密码学的密钥产生方案不同,PUF使用激励和响应对的方法生成密钥,激励和响应之间的映射关系仅由设备个体的某些物理差异决定。IC制造过程中的无法预测、复制和控制的细微差异产生了这些物理差异。任何潜在物理攻击将破坏设备个体的物理差异,PUF的激励和响应之间的映射关系也会发生变化。因此,PUF密钥具备物理决定、稳定唯一、随用随取、不用保存、难以事先预测和容易测量的优点,能提供安全、稳定和低成本的安全密钥。
2007年,在已有的PUF防止物理攻击的基础上,提出了基于SRAM的PUF(SRAM-PUF),SRAM存储单元的初始状态取决于它的制作工艺,SRAM单元的初始值是制造过程中生产误差的函数,实际制造工艺中的某些随机因素对SRAM典型6管单元电路的对称性产生一定影响。因此SRAM-PUF的激励响应对是存储单元地址和对应地址单元的上电初始值。
之后Guajardoetal和MichaelA.Gora发现使用SRAM的上电初始状态能作为PUF用于FPGA的IP核保护。储存单元的不对称性引起SRAM-PUF,这一不对称性也是由制造过程的工艺中差异产生的。他们通过使用FPGA芯片和片外SRAM,提取了唯一的PUF安全密钥。然而,这一方法不能直接应用于嵌入式系统,因为首先在嵌入式系统中,内嵌到主控芯片SRAM取代了片外的SRAM芯片。由于设计目的不同和深度集成化,内嵌的SRAM和片外的SRAM的PUF特征有所差别。其次,提取密钥算法的运算复杂度较高,难以在功率和性能有限的嵌入式微处理器上实现。
目前,嵌入式设备的版权保护技术包括:对称密钥加密,如高级加密标准(AdvancedEncryptionStandard,简称AES)、数据加密标准(DataEncryptionStandard,DES)、非对称密码加密,如RSA、椭圆曲线加密(EllipticCurveCryptography,简称ECC)等、以及哈希认证,如SHA-1、MD5等。上述的版权保护技术中,信息安全依赖于密钥的安全。在实际应用中,通常将密钥存储在嵌入式系统的非易失存储器内,由于嵌入式系统的使用特点,极有可能被攻击者捕获,并进行物理侵入、半侵入攻击或软件反汇编攻击以获取密钥从而破坏整个嵌入式系统的信息安全机制。因此,嵌入式系统的密钥机制需要特别的考虑。
目前工业界所广泛采用的安全产品缺乏自主知识产权,而且较为陈旧,不够安全。另一方面,一些先进的安全产品属于受限范围并且价格昂贵,在我国的使用受到了限制。这种情况严重威胁了我国在相关领域的公共安全。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种嵌入式微处理器非可克隆函数密钥认证系统和方法,其目的在于针对嵌入式系统的软件版权保护问题,实现了一种能有效抵抗物理侵入的安全和高效的安全防护体系,并能在不能改变原有设备硬件的前提下,使用较小的系统资源开销,实现安全密钥机制,提升整体安全水平。
为实现上述目的,按照本发明的一个方面,提供了一种嵌入式微处理器非可克隆函数密钥认证系统,包括嵌入式端、烧写设备端和PC端,嵌入式端包括PUF待分析数据提取模块以及IAP模块,烧写设备端包括待烧写程序处理模块,PC端包括嵌入式认证程序生成模块、PUF分析模块、数据库模块、散列数据生成模块、以及帮助数据生成模块,PUF待分析数据提取模块用于多次提取SRAM中的初始上电数据,并将数据发送到PUF分析模块,PUF分析模块用于对采集到的初始上电数据及其样本大小进行分析,PUF分析模块还用于将获得的密钥发送到散列数据生成模块和帮助数据生成模块,并将最大错误率发送到帮助数据生成模块,帮助数据生成模块用于根据接收到的密钥和最大错误率生成帮助数据,散列数据生成模块用于根据接收到的密钥使用哈希计算生成散列数据,数据库模块用于存储帮助数据、散列数据和SRAM所在嵌入式设备的ID,嵌入式认证程序生成模块用于根据散列数据生成模块生成的散列数据和帮助数据生成模块生成的帮助数据的位长生成具有固定数据架构的认证程序,待烧写程序处理模块用于将嵌入式认证程序生成模块生成的认证程序以及SRAM所在嵌入式设备的帮助数据以及散列数据进行合并,以生成完整的认证程序,IAP模块用于将完整的认证程序烧写到SRAM所在嵌入式设备中。
优选地,PUF分析模块计算初始上电数据的最小熵以及初始上电数据之间海明距离的最大值,并对最小熵和海明距离的最大值进行拟合分析,以确定合理的样本数量、单个样本字节数、最大错误率,并获得密钥。
优选地,帮助数据生成模块根据得到的最大错误率生成可以纠正该错误率的纠错码,该纠错码的位长与密钥相同,并将密钥与纠错码进行异或运算,以得到帮助数据。
按照本发明的另一方面,提供了一种嵌入式微处理器非可克隆函数密钥认证系统的非可克隆函数密钥认证方法,该方法包括以下步骤:
(1)PUF待分析数据提取模块多次提取SRAM中的初始上电数据,并将数据发送到PUF分析模块;
(2)PUF分析模块对采集到的初始上电数据及其样本大小进行分析;
(3)PUF分析模块将获得的密钥发送到散列数据生成模块和帮助数据生成模块,并将最大错误率发送到帮助数据生成模块;
(4)帮助数据生成模块根据接收到的密钥和最大错误率生成帮助数据;
(5)散列数据生成模块根据接收到的密钥并通过哈希计算生成散列数据;
(6)数据库模块存储帮助数据、散列数据和SRAM所在嵌入式设备的ID;
(7)嵌入式认证程序生成模块根据散列数据生成模块生成的散列数据和帮助数据生成模块生成的帮助数据的位长生成具有固定数据架构的认证程序;
(8)待烧写程序处理模块将嵌入式认证程序生成模块生成的认证程序以及SRAM所在嵌入式设备的帮助数据以及散列数据进行合并,以生成完整的认证程序;
(9)IAP模块将完整的认证程序烧写到SRAM所在嵌入式设备中。
优选地,步骤(1)具体为,将测试程序下载到目标嵌入式设备中,通过不断的掉电多次测量SRAM上电初值,初始上电数据是采用二进制格式的文件进行保存。
优选地,步骤(4)具体为,帮助数据生成模块根据得到的最大错误率生成ECC纠错码,该纠错码的位长与密钥相同,并将密钥与纠错码进行异或运算,以得到帮助数据。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
1、由于采用了步骤(1)和(2),因此便于对SRAM-PUF的数据测试。使用的用户能在比较合理的时间内完成对数据的测试以及分析。
2、由于采用了步骤(7)和(8),因此使得用户可以通过电脑对IAP模块分别写入认证函数以及帮助数据和哈希散列数据的方式完成对设备的编程。不同的嵌入式设备帮助数据和哈希散列数据不同,这种方法方便用户的使用,减少了手动对相应数据与认证程序进行组合的时间。
3、采用基于SRAM的PUF进行软件保护,由于SRAM广泛存在于嵌入式设备中,因此避免系统加入冗余的硬件,减少了软件保护的开销,增强了它的通用性。
4、采用IAP模块对嵌入式设备进行编程,该编程方法允许用户在远程对嵌入式设备进行编程,可以使用户在不移动设备的情况下对设备进行程序的更新。
5、数据库模块存储了嵌入式设备软件保护所需的密钥,帮助数据等重要数据,便于系统的维护。
附图说明
图1是本发明嵌入式微处理器非可克隆函数密钥认证系统的模块示意图。
图2是本发明嵌入式微处理器非可克隆函数密钥认证方法的流程图。
图3是嵌入式设备数据测试流程示意图。
图4是嵌入式设备数据分析流程示意图。
图5是密钥帮助数据以及散列值得生成过程示意图。
图6是嵌入式认证程序处理示意图。
图7是嵌入式设备IAP过程示意图。
图8是嵌入式设备认证过程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
当前很多嵌入式产品的软件缺乏保护,或者采用常见的密钥加密方法对软件进行加密。在这种情况下,攻击者可以利用物理攻击的方式对存储密钥的存储器进行物理攻击并轻易的获取密钥信息,进而可以对嵌入式软件进行复制和窃取并进一步威胁嵌入式设备的安全。这种情况下的嵌入式软件是不安全的。本发明的整体思路在于,本发明提供了一种适用于嵌入式处理器的软件保护方法,包括对密钥的提取,保存,重新生成以及软件的认证。它主要通过将密钥保存在SRAM-PUF中而避免将密钥直接存储在存储器中,进而避免了攻击者通过物理攻击对嵌入式设备的密钥进行破解从而对整个嵌入式的软件进行复制的行为,从而保证嵌入式软件版权受到了一定的保护。SRAM-PUF提供一种安全的密钥保存办法,其输出密钥在一定程度上保持不变,但在受到物理攻击时出现不可逆的变化。因此可以有效的抵御物理攻击对密钥的窃取。
本发明嵌入式微处理器非可克隆函数密钥认证方法是应用在一种嵌入式微处理器非可克隆函数密钥认证系统中,该系统包括嵌入式端、烧写设备端和PC端,嵌入式端包括物理非可克隆(PhysicalUnclonableFunction,简称PUF)待分析数据提取模块、以及在应用中编程(In-applicationprogramming,简称IAP)模块,烧写设备端包括待烧写程序处理模块,PC端包括嵌入式认证程序生成模块、PUF分析模块、数据库模块、散列数据生成模块、以及帮助数据生成模块,如图2所示,该方法包括以下步骤:
(1)PUF待分析数据提取模块多次提取SRAM中的初始上电数据,并将数据发送到PUF分析模块;具体过程如图3所示,将测试程序下载到目标嵌入式设备中,通过不断的掉电多次测量SRAM上电初值,初始上电数据是采用二进制格式的文件进行保存,提取初始上电数据的次数是由不同SRAM上电后的数据波动决定的,数据波动越大,提取次数越多,PUF分析模块会对样本大小进行判断,若样本大小太小,则进行补充的测量;
(2)PUF分析模块对采集到的初始上电数据及其样本大小进行分析;具体如图4所示,PUF分析模块计算初始上电数据的最小熵以及初始上电数据之间海明距离的最大值,并对最小熵和海明距离的最大值进行拟合分析,以确定合理的样本数量、单个样本字节数、最大错误率,并获得密钥,其中最大海明距离决定了数据在每次测量之间的错误率;
本步骤的优点在于,可以对嵌入式设备测量的次数进行估计,避免多次的测量而影响系统的效率。
(3)PUF分析模块将获得的密钥发送到散列数据生成模块和帮助数据生成模块,并将最大错误率发送到帮助数据生成模块;
(4)帮助数据生成模块根据接收到的密钥和最大错误率生成帮助数据;具体过程如图5所示,帮助数据生成模块根据得到的最大错误率生成可以纠正该错误率的纠错码(ErrorCorrectingCode,简称ECC),该纠错码的位长与密钥X相同,并将密钥与纠错码进行异或运算,以得到帮助数据W;
(5)散列数据生成模块根据接收到的密钥生成散列数据;具体过程如图5所示,散列数据生成模块对接收到的密钥X进行哈希(HASH)计算,以生成和密钥的位长相同的散列数据S;
(6)数据库模块存储帮助数据、散列数据和SRAM所在嵌入式设备的ID;
(7)嵌入式认证程序生成模块根据散列数据生成模块生成的散列数据和帮助数据生成模块生成的帮助数据的位长生成具有固定数据架构的认证程序。具体而言,由于不同嵌入式设备在认证阶段所需要的帮助数据以及散列数据的位长不同,为了保证认证程序的通用性和独立性,需要在认证程序中预留相应的用于认证的数据位,进而保证程序的通用性。具体的办法是,在认证程序中写入帮助数据以及散列数据的位长相同的两段全局字符换常量,这两组常量在程序中为帮助数据和散列数据提供了相应的存储空间,在不同的嵌入式设备进行认证时可以将相应的帮助数据以及散列数据的进行相应的置换。该步骤的优点在于,将认证程序与特定的嵌入式设备分离,保证了各自的独立性,使得系统的使用更加的便捷。(8)待烧写程序处理模块将嵌入式认证程序生成模块生成的认证程序以及SRAM所在嵌入式设备的帮助数据以及散列数据进行合并,以生成完整的认证程序。具体过程如图6所示。该模块所需的数据由数据库模块提供。
本步骤的优点在于,使PC端只需要保存相关数据与一个不完整认证程序,而不用保存大量的针对不同嵌入式设备的认证程序,增加了各个模块的独立性。
(9)IAP模块将完整的认证程序烧写到SRAM所在嵌入式设备中。具体过程如图7所示,待编程的嵌入式设备需要运行IAP所需的程序,并与烧写器通过串口进行通信,烧写器通过串口将完整的认证程序发送到嵌入式设备指定地址的ROM中。完成程序的烧写后,嵌入式设备通过程序的跳转执行认证程序功能,从而完成了IAP的过程。
本步骤的优点在于,设备的认证程序更新是根据IAP的在线更新方法,大大的降低了在某些特殊场合的使用难度。比如设备使用环境比较恶劣的地方。
如图8所示,该图说明了在嵌入式端整个认证方法中主要数据的处理以及计算的过程。首先,由嵌入式设备的ID得到存储在数据库中的相应嵌入式设备的帮助数据W,帮助数据整合在认证程序中,在认证的过程中,帮助数据W与嵌入式设备中提取到的SRAM密钥X’,进行异或得到一个中间值C’,C’被送入ECC(ErrorCorrectingCode)程序模块进行纠错,对C’进行纠错后得到中间数据C,帮助数据W与数据C异或即可得到原始密钥X,密钥X进行Hash运算得到散列值,该散列值与原始散列值进行对比即完成整个认证过程。
如图1所示,本发明嵌入式微处理器非可克隆函数密钥认证系统包括嵌入式端、烧写设备端和PC端,嵌入式端包括物理非可克隆(PhysicalUnclonableFunction,简称PUF)待分析数据提取模块1、以及在应用中编程(In-applicationprogramming,简称IAP)模块2,烧写设备端包括待烧写程序处理模块3,PC端包括嵌入式认证程序生成模块4、PUF分析模块5、数据库模块6、散列数据生成模块7、以及帮助数据生成模块8。
PUF待分析数据提取模块1用于多次提取SRAM中的初始上电数据,并将数据发送到PUF分析模块5;具体而言,PUF待分析数据提取模块1将测试程序下载到目标嵌入式设备中,通过不断的掉电多次测量SRAM上电初值,初始上电数据是采用二进制格式的文件进行保存,提取初始上电数据的次数是由不同SRAM上电后的数据波动决定的,数据波动越大,提取次数越多,PUF分析模块5会对样本大小进行判断,若样本大小太小,则进行补充的测量。
PUF分析模块5用于对采集到的初始上电数据及其样本大小进行分析;具体而言,PUF分析模块5计算初始上电数据的最小熵以及初始上电数据之间海明距离的最大值,并对最小熵和海明距离的最大值进行拟合分析,以确定合理的样本数量、单个样本字节数、最大错误率,并获得密钥,其中最大海明距离决定了数据在每次测量之间的错误率。
PUF分析模块5还用于将获得的密钥发送到散列数据生成模块7和帮助数据生成模块8,并将最大错误率发送到帮助数据生成模块8。
帮助数据生成模块8用于根据接收到的密钥和最大错误率生成帮助数据。具体而言,帮助数据生成模块8根据得到的最大错误率生成可以纠正该错误率的纠错码,该纠错码的位长与密钥X相同,并将密钥与纠错码进行异或运算,以得到帮助数据W。
散列数据生成模块7用于根据接收到的密钥生成散列数据;具体而言,散列数据生成模块7对接收到的密钥X进行哈希计算,以生成和密钥的位长相同的散列数据S。
数据库模块6用于存储帮助数据、散列数据和SRAM所在嵌入式设备的ID。
嵌入式认证程序生成模块4根据散列数据生成模块生成的散列数据和帮助数据生成模块生成的帮助数据的位长生成具有固定数据架构的认证程序。具体而言,由于不同嵌入式设备在认证阶段所需要的帮助数据以及散列数据不同,需要在该程序中预留相应的数据位,进而保证程序的通用性。
待烧写程序处理模块3用于将嵌入式认证程序生成模块4生成的认证程序以及SRAM所在嵌入式设备的帮助数据以及散列数据进行合并,以生成完整的认证程序。
IAP模块2用于将完整的认证程序烧写到SRAM所在嵌入式设备中。具体过程如图7所示,待编程的嵌入式设备需要运行IAP所需的程序,并与烧写器通过串口进行通信,烧写器通过串口将完整的认证程序发送到嵌入式设备指定地址的ROM中。完成程序的烧写后,嵌入式设备通过程序的跳转执行认证程序功能,从而完成了IAP的过程。
综上所述,本发明从嵌入式微处理器的体系结构入手,结合SRAM-PUF可以生成硬件相关的独特密钥的原理,研究嵌入式微处理器在物理攻击条件下可靠的密钥安全保障机制。本发明能够保证密钥以及嵌入式软件的安全性,使嵌入式系统的安全受到保护,使用SRAM-PUF产生密钥而无需存储密钥方法,防止了物理攻击对密钥安全性的威胁,而且本发明在一定程度上节省了搭建额外电路的开销,只需加入安全软件模块。在充分考虑嵌入式微处理器的密钥安全性、性能以及成本开销的前提下,提高嵌入式微处理器的安全性,为嵌入式系统的安全应用提供可靠保障。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (6)

1.一种嵌入式微处理器非可克隆函数密钥认证系统,包括嵌入式端、烧写设备端和PC端,嵌入式端包括PUF待分析数据提取模块以及IAP模块,烧写设备端包括待烧写程序处理模块,PC端包括嵌入式认证程序生成模块、PUF分析模块、数据库模块、散列数据生成模块、以及帮助数据生成模块,其特征在于,
PUF待分析数据提取模块用于多次提取SRAM中的初始上电数据,并将数据发送到PUF分析模块;
PUF分析模块用于对采集到的初始上电数据及其样本大小进行分析;
PUF分析模块还用于将获得的密钥发送到散列数据生成模块和帮助数据生成模块,并将最大错误率发送到帮助数据生成模块;
帮助数据生成模块用于根据接收到的密钥和最大错误率生成帮助数据;
散列数据生成模块用于根据接收到的密钥使用哈希计算生成散列数据;
数据库模块用于存储帮助数据、散列数据和SRAM所在嵌入式设备的ID;
嵌入式认证程序生成模块用于根据散列数据生成模块生成的散列数据和帮助数据生成模块生成的帮助数据的位长生成具有固定数据架构的认证程序;
待烧写程序处理模块用于将嵌入式认证程序生成模块生成的认证程序以及SRAM所在嵌入式设备的帮助数据以及散列数据进行合并,以生成完整的认证程序;
IAP模块用于将完整的认证程序烧写到SRAM所在嵌入式设备中。
2.根据权利要求1所述的嵌入式微处理器非可克隆函数密钥认证系统,其特征在于,PUF分析模块计算初始上电数据的最小熵以及初始上电数据之间海明距离的最大值,并对最小熵和海明距离的最大值进行拟合分析,以确定合理的样本数量、单个样本字节数、最大错误率,并获得密钥。
3.根据权利要求1所述的嵌入式微处理器非可克隆函数密钥认证系统,其特征在于,帮助数据生成模块根据得到的最大错误率生成可以纠正该错误率的纠错码,该纠错码的位长与密钥相同,并将密钥与纠错码进行异或运算,以得到帮助数据。
4.一种根据权利要求1-3中任意一项所述嵌入式微处理器非可克隆函数密钥认证系统的嵌入式微处理器非可克隆函数密钥认证方法,其特征在于,该方法包括以下步骤:
(1)PUF待分析数据提取模块多次提取SRAM中的初始上电数据,并将数据发送到PUF分析模块;
(2)PUF分析模块对采集到的初始上电数据及其样本大小进行分析;
(3)PUF分析模块将获得的密钥发送到散列数据生成模块和帮助数据生成模块,并将最大错误率发送到帮助数据生成模块;
(4)帮助数据生成模块根据接收到的密钥和最大错误率生成帮助数据;
(5)散列数据生成模块根据接收到的密钥并通过哈希计算生成散列数据;
(6)数据库模块存储帮助数据、散列数据和SRAM所在嵌入式设备的ID;
(7)嵌入式认证程序生成模块根据散列数据生成模块生成的散列数据和帮助数据生成模块生成的帮助数据的位长生成具有固定数据架构的认证程序;
(8)待烧写程序处理模块将嵌入式认证程序生成模块生成的认证程序以及SRAM所在嵌入式设备的帮助数据以及散列数据进行合并,以生成完整的认证程序;
(9)IAP模块将完整的认证程序烧写到SRAM所在嵌入式设备中。
5.根据权利要求4所述的嵌入式微处理器非可克隆函数密钥认证方法,其特征在于,步骤(1)具体为,将测试程序下载到目标嵌入式设备中,通过不断的掉电多次测量SRAM上电初值,初始上电数据是采用二进制格式的文件进行保存。
6.根据权利要求4所述的嵌入式微处理器非可克隆函数密钥认证方法,其特征在于,步骤(4)具体为,帮助数据生成模块根据得到的最大错误率生成ECC纠错码,该纠错码的位长与密钥相同,并将密钥与纠错码进行异或运算,以得到帮助数据。
CN201310460138.5A 2013-09-30 2013-09-30 一种嵌入式微处理器非可克隆函数密钥认证系统和方法 Expired - Fee Related CN103544410B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310460138.5A CN103544410B (zh) 2013-09-30 2013-09-30 一种嵌入式微处理器非可克隆函数密钥认证系统和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310460138.5A CN103544410B (zh) 2013-09-30 2013-09-30 一种嵌入式微处理器非可克隆函数密钥认证系统和方法

Publications (2)

Publication Number Publication Date
CN103544410A CN103544410A (zh) 2014-01-29
CN103544410B true CN103544410B (zh) 2016-02-24

Family

ID=49967854

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310460138.5A Expired - Fee Related CN103544410B (zh) 2013-09-30 2013-09-30 一种嵌入式微处理器非可克隆函数密钥认证系统和方法

Country Status (1)

Country Link
CN (1) CN103544410B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105337725B (zh) * 2014-08-08 2019-04-23 中国科学院数据与通信保护研究教育中心 一种密钥管理装置及方法
JP6445570B2 (ja) * 2014-08-29 2018-12-26 国立研究開発法人産業技術総合研究所 デバイス固有情報の誤り率制御方法とデバイス固有情報の誤り率制御プログラム
CN105530097B (zh) * 2014-09-30 2018-09-28 中国科学院数据与通信保护研究教育中心 一种基于sram puf的密钥提取方法及系统
CN106020771B (zh) * 2016-05-31 2018-07-20 东南大学 一种基于puf的伪随机序列发生器
CN106055491B (zh) * 2016-05-31 2019-03-12 东南大学 一种基于sram puf的熵提取方法及电路
CN108415662A (zh) * 2017-02-10 2018-08-17 中芯国际集成电路制造(上海)有限公司 获取存储器物理不可克隆函数的方法和系统
CN107094074A (zh) * 2017-06-28 2017-08-25 东信和平科技股份有限公司 一种数据加密方法及数据加密装置
CN108616358A (zh) * 2018-05-10 2018-10-02 广西大学 基于puf的无线体域网中传感器与主控单元的认证方法
CN109946595B (zh) * 2019-03-25 2022-01-04 中国科学院微电子研究所 一种扫描测试执行方法、装置及系统
CN110147290B (zh) * 2019-04-15 2023-06-27 深圳市纽创信安科技开发有限公司 芯片年龄判断方法、装置、芯片及终端
CN110879875A (zh) * 2019-10-28 2020-03-13 华晟现代电子科技(香港)有限公司 硬件加密装置、嵌入式系统版权保护系统及方法
CN116545628B (zh) * 2023-03-13 2023-09-19 广东省绿算技术有限公司 应用于保险柜的身份认证方法、装置、保险柜及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102325131A (zh) * 2011-07-20 2012-01-18 北京邮电大学 无线传感器网络节点双向身份认证方法
CN102393890A (zh) * 2011-10-09 2012-03-28 广州大学 一种抗物理入侵和旁路攻击的密码芯片系统及其实现方法
CN102880840A (zh) * 2012-09-25 2013-01-16 宁波大学 一种用于防御攻击的电流型物理不可克隆函数电路

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101421971A (zh) * 2006-04-11 2009-04-29 皇家飞利浦电子股份有限公司 利用物理不可复制函数对令牌的询问响应认证
US10374812B2 (en) * 2008-06-27 2019-08-06 Koninklijke Philips Electronics N.V. Device, system and method for verifying the authenticity integrity and/or physical condition of an item

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102325131A (zh) * 2011-07-20 2012-01-18 北京邮电大学 无线传感器网络节点双向身份认证方法
CN102393890A (zh) * 2011-10-09 2012-03-28 广州大学 一种抗物理入侵和旁路攻击的密码芯片系统及其实现方法
CN102880840A (zh) * 2012-09-25 2013-01-16 宁波大学 一种用于防御攻击的电流型物理不可克隆函数电路

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于物理不可克隆函数的RFID双向认证;寇红召 等;《计算机工程》;20130630;第39卷(第6期);第142-145页 *
物理不可克隆函数综述;张紫楠 等;《计算机应用》;20121101;第32卷(第11期);第3115-3120页 *

Also Published As

Publication number Publication date
CN103544410A (zh) 2014-01-29

Similar Documents

Publication Publication Date Title
CN103544410B (zh) 一种嵌入式微处理器非可克隆函数密钥认证系统和方法
CN106357701B (zh) 云存储中数据的完整性验证方法
US11171774B2 (en) System for synchronizing a cryptographic key state through a blockchain
JP6144992B2 (ja) 検索可能暗号処理システム及び方法
CN106687980B (zh) 管理程序和虚拟机保护
Liu et al. Extending on-chain trust to off-chain–trustworthy blockchain data collection using trusted execution environment (tee)
CN110414273A (zh) 边缘节点上的高通量隐私友好硬件辅助机器学习
CN105830086A (zh) 使用外部秘密的存储系统中的数据保护
CN102571348B (zh) 以太网加密认证系统及加密认证方法
CN109522328B (zh) 一种数据处理方法及其装置、介质、终端
TWI670624B (zh) 用於動態資料儲存之系統及方法
JP2009003933A (ja) 不揮発性メモリにおけるデータの耐故障的な暗号化保護、完全性保護、及びアンチリプレイ保護のための方法、システム及び装置
CN103583013A (zh) 密钥信息生成装置以及密钥信息生成方法
CN104408381A (zh) 云存储中数据完整性保护方法
CN110413652B (zh) 一种基于边缘计算的大数据隐私化检索方法
CN107622390B (zh) 用于没有电池的安全支付终端的系统及方法
CN106611135A (zh) 一种存储数据完整性验证及恢复方法
CN104704501A (zh) 在计算机系统中安全生成和存储密码
CN103064706A (zh) 虚拟机系统的启动方法和装置
CN110110507A (zh) 一种软件授权与保护的方法、装置、系统及存储介质
Hsiao et al. Utilizing blockchain technology to improve WSN security for sensor data transmission
CN104463020A (zh) 存储器数据完整性保护的方法
CN105205416A (zh) 一种移动硬盘密码模块
CN105933303B (zh) 一种文件篡改的检测方法及装置
CN104639330A (zh) 一种goose报文完整性认证方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB03 Change of inventor or designer information

Inventor after: Liu Zhenglin

Inventor after: Liu Wenchao

Inventor after: Zhang Zhenhua

Inventor after: Wang Xue

Inventor after: Zou Xuecheng

Inventor after: Zheng Chaoxia

Inventor after: Tong Qiaoling

Inventor before: Liu Zhenglin

Inventor before: Zhang Zhenhua

Inventor before: Liu Wenchao

Inventor before: Wang Xue

Inventor before: Zou Xuecheng

Inventor before: Zheng Chaoxia

Inventor before: Tong Qiaoling

COR Change of bibliographic data
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160224

Termination date: 20190930