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

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

Embedded microprocessor, non cloning function key authentication system and method

The invention discloses an embedded microprocessor non cloning function key authentication system, including embedded terminal, burning device and PC terminal, including PUF to end embedded data extraction module and IAP module, burning device comprises program processing module, embedded authentication program generation module, PUF analysis module, database the hash module, data generation module, and help the data generation module including the PC, PUF data extraction module for the analysis of multiple extraction electric initial data in SRAM, and send the data to the PUF analysis module, PUF analysis module is used for the initial acquisition of the power on the data and sample size analysis, PUF analysis module for the key is sent to the hash data generating module and a data generation module to help. The invention prevents the attacker from breaking the key of the embedded device through the physical attack so as to copy the whole embedded software, thereby ensuring the copyright of the embedded software to be protected.

【技术实现步骤摘要】
—种嵌入式微处理器非可克隆函数密钥认证系统和方法
本专利技术属于嵌入式系统安全领域,更具体地,涉及。
技术介绍
近些年来,我国嵌入式设备需求激增。在巨大的利益诱惑下,许多企业舍弃传统的“研发-生产-销售”模式,转而采取“模仿-生产-销售”的方式。许多公司费尽心血研发的产品,投放市场不久,就被竞争对手破解,从硬件到软件完全地被克隆,重新包装之后投放市场。也有公司在委托生产厂商进行产品生产时,生产厂商额外生产出大量的相同产品,改换品牌投放市场。在这种恶性模仿的氛围下,大量的公司因为盗版产品的猖獗而蒙受大量的经济损失,而又有大量的公司依靠窃取他人的劳动成果来进行盈利,这是非常不公平的现象。尽管目前越来越多的法律法规正在完善之中,但是单纯依靠这些还是不够的。为了能够保护原创公司的知识产权,我们还应该从技术的角度出发去寻求更多的解决方案。于是,版权保护技术成为越来越受到关注的焦点。2001 年,Pappu Srinivasa Ravikanth 提出 了物理非可克隆(PhysicalUnclonable Function,简称PUF),为保护芯片数据物理安全提供了一种全新有效的方法。与传统密码学的密钥产生方案不同,PUF使用激励和响应对的方法生成密钥,激励和响应之间的映射关系仅由设备个体的某些物理差异决定。IC制造过程中的无法预测、复制和控制的细微差异产生了这些物理差异。任何潜在物理攻击将破坏设备个体的物理差异,PUF的激励和响应之间的映射关系也会发生变化。因此,PUF密钥具备物理决定、稳定唯一、随用随取、不用保存、难以事先预测和容易测量的优点,能提供安全、稳定和低成本的安全密钥。2007年,在已有的PUF防止物理攻击的基础上,提出了基于SRAM的PUF(SRAM-PUF), SRAM存储单元的初始状态取决于它的制作工艺,SRAM单元的初始值是制造过程中生产误差的函数,实际制造工艺中的某些随机因素对SRAM典型6管单元电路的对称性产生一定影响。因此SRAM-PUF的激励响应对是存储单元地址和对应地址单元的上电初始值。之后Guajardo et al和Michael A.Gora发现使用SRAM的上电初始状态能作为PUF用于FPGA的IP核保护。储存单元的不对称性引起SRAM-PUF,这一不对称性也是由制造过程的工艺中差异产生的。他们通过使用FPGA芯片和片外SRAM,提取了唯一的PUF安全密钥。然而,这一方法不能直接应用于嵌入式系统,因为首先在嵌入式系统中,内嵌到主控芯片SRAM取代了片外的SRAM芯片。由于设计目的不同和深度集成化,内嵌的SRAM和片外的SRAM的PUF特征有所差别。其次,提取密钥算法的运算复杂度较高,难以在功率和性能有限的嵌入式微处理器上实现。目前,嵌入式设备的版权保护技术包括:对称密钥加密,如高级加密标准(Advanced Encryption Standard,简称AES)、数据加密标准(Data Encryption Standard,DES)、非对称密码加密,如RSA、椭圆曲线加密(Elliptic Curve Cryptography,简称ECC)等、以及哈希认证,如SHA-1、MD5等。上述的版权保护技术中,信息安全依赖于密钥的安全。在实际应用中,通常将密钥存储在嵌入式系统的非易失存储器内,由于嵌入式系统的使用特点,极有可能被攻击者捕获,并进行物理侵入、半侵入攻击或软件反汇编攻击以获取密钥从而破坏整个嵌入式系统的信息安全机制。因此,嵌入式系统的密钥机制需要特别的考虑。目前工业界所广泛采用的安全产品缺乏自主知识产权,而且较为陈旧,不够安全。另一方面,一些先进的安全产品属于受限范围并且价格昂贵,在我国的使用受到了限制。这种情况严重威胁了我国在相关领域的公共安全。
技术实现思路
针对现有技术的以上缺陷或改进需求,本专利技术提供了,其目的在于针对嵌入式系统的软件版权保护问题,实现了一种能有效抵抗物理侵入的安全和高效的安全防护体系,并能在不能改变原有设备硬件的前提下,使用较小的系统资源开销,实现安全密钥机制,提升整体安全水平。为实现上述目的,按照本专利技术的一个方面,提供了一种嵌入式微处理器非可克隆函数密钥认证系统,包括嵌入式端、烧写设备端和PC端,嵌入式端包括PUF待分析数据提取模块以及IAP模块,烧写设备端包括待烧写程序处理模块,PC端包括嵌入式认证程序生成模块、PUF分析模块、数据库模块、散列数据生成模块、以及帮助数据生成模块,PUF待分析数据提取模块用于多次提取SRAM中的初始上电数据,并将数据发送到PUF分析模块,PUF分析模块用于对采集到的初始上电数据及其样本大小进行分析,PUF分析模块还用于将获得的密钥发送到散列数据生成模块和帮助数据生成模块,并将最大错误率发送到帮助数据生成模块,帮助数据生成模块用于根据接收到的密钥和最大错误率生成帮助数据,散列数据生成模块用于根据接收到的密钥使用哈希计算生成散列数据,数据库模块用于存储帮助数据、散列数据和SRAM所在嵌入式设备的ID,嵌入式认证程序生成模块用于根据散列数据生成模块生成的散列数据和帮助数据生成模块生成的帮助数据的位长生成具有固定数据架构的认证程序,待烧写程序处理模块用于将嵌入式认证程序生成模块生成的认证程序以及SRAM所在嵌入式设备的帮助数据以及散列数据进行合并,以生成完整的认证程序,IAP模块用于将完整的认证程序烧写到SRAM所在嵌入式设备中。优选地,PUF分析模块计算初始上电数据的最小熵以及初始上电数据之间海明距离的最大值,并对最小熵和海明距离的最大值进行拟合分析,以确定合理的样本数量、单个样本字节数、最大错误率,并获得密钥。优选地,帮助数据生成模块根据得到的最大错误率生成可以纠正该错误率的纠错码,该纠错码的位长与密钥相同,并将密钥与纠错码进行异或运算,以得到帮助数据。按照本专利技术的另一方面,提供了一种嵌入式微处理器非可克隆函数密钥认证系统的非可克隆函数密钥认证方法,该方法包括以下步骤:(I) PUF待分析数据提取模块多次提取SRAM中的初始上电数据,并将数据发送到PUF分析模块;(2) PUF分析模块对采集到的初始上电数据及其样本大小进行分析;(3)PUF分析模块将获得的密钥发送到散列数据生成模块和帮助数据生成模块,并将最大错误率发送到帮助数据生成模块;(4)帮助数据生成模块根据接收到的密钥和最大错误率生成帮助数据;(5)散列数据生成模块根据接收到的密钥并通过哈希计算生成散列数据;(6)数据库模块存储帮助数据、散列数据和SRAM所在嵌入式设备的ID ;(7)嵌入式认证程序生成模块根据散列数据生成模块生成的散列数据和帮助数据生成模块生成的帮助数据的位长生成具有固定数据架构的认证程序;(8)待烧写程序处理模块将嵌入式认证程序生成模块生成的认证程序以及SRAM所在嵌入式设备的帮助数据以及散列数据进行合并,以生成完整的认证程序;(9) IAP模块将完整的认证程序烧写到SRAM所在嵌入式设备中。优选地,步骤(I)具体为,将测试程序下载到目标嵌入式设备中,通过不断的掉电多次测量SRAM上电初值,初始上电数据是采用二进制格式的文件进行保存。优选地,步骤(4)具体为,帮助数据生成模块根据得到的最大错误率生成ECC纠错码,该纠错码本文档来自技高网
...

【技术保护点】
一种嵌入式微处理器非可克隆函数密钥认证系统,包括嵌入式端、烧写设备端和PC端,嵌入式端包括PUF待分析数据提取模块以及IAP模块,烧写设备端包括待烧写程序处理模块,PC端包括嵌入式认证程序生成模块、PUF分析模块、数据库模块、散列数据生成模块、以及帮助数据生成模块,其特征在于,PUF待分析数据提取模块用于多次提取SRAM中的初始上电数据,并将数据发送到PUF分析模块;PUF分析模块用于对采集到的初始上电数据及其样本大小进行分析;PUF分析模块还用于将获得的密钥发送到散列数据生成模块和帮助数据生成模块,并将最大错误率发送到帮助数据生成模块;帮助数据生成模块用于根据接收到的密钥和最大错误率生成帮助数据;散列数据生成模块用于根据接收到的密钥使用哈希计算生成散列数据;数据库模块用于存储帮助数据、散列数据和SRAM所在嵌入式设备的ID;嵌入式认证程序生成模块用于根据散列数据生成模块生成的散列数据和帮助数据生成模块生成的帮助数据的位长生成具有固定数据架构的认证程序;待烧写程序处理模块用于将嵌入式认证程序生成模块生成的认证程序以及SRAM所在嵌入式设备的帮助数据以及散列数据进行合并,以生成完整的认证程序;IAP模块用于将完整的认证程序烧写到SRAM所在嵌入式设备中。...

【技术特征摘要】
1.一种嵌入式微处理器非可克隆函数密钥认证系统,包括嵌入式端、烧写设备端和PC端,嵌入式端包括PUF待分析数据提取模块以及IAP模块,烧写设备端包括待烧写程序处理模块,PC端包括嵌入式认证程序生成模块、PUF分析模块、数据库模块、散列数据生成模块、以及帮助数据生成模块,其特征在于, PUF待分析数据提取模块用于多次提取SRAM中的初始上电数据,并将数据发送到PUF分析模块; PUF分析模块用于对采集到的初始上电数据及其样本大小进行分析; PUF分析模块还用于将获得的密钥发送到散列数据生成模块和帮助数据生成模块,并将最大错误率发送到帮助数据生成模块; 帮助数据生成模块用于根据接收到的密钥和最大错误率生成帮助数据; 散列数据生成模块用于根据接收到的密钥使用哈希计算生成散列数据; 数据库模块用于存储帮助数据、散列数据和SRAM所在嵌入式设备的ID ; 嵌入式认证程序生成模块用于根据散列数据生成模块生成的散列数据和帮助数据生成模块生成的帮助数据的位长生成具有固定数据架构的认证程序; 待烧写程序处理模块用于将嵌入式认证程序生成模块生成的认证程序以及SRAM所在嵌入式设备的帮助数据以及散列数据进行合并,以生成完整的认证程序; IAP模块用于将完整的认证程序烧写到SRAM所在嵌入式设备中。2.根据权利要求1所述的嵌入式微处理器非可克隆函数密钥认证系统,其特征在于,PUF分析模块计算初始上电数据的最小熵以及初始上电数据之间海明距离的最大值,并对最小熵和海明距离的最大值进行拟合分析,以确定合理的样本数量、单个样本字节数、最大错误率,并获得密钥。3.根据权利要求1所述的嵌入式微处理器非可克隆函数密钥认证系统,其特征在于,帮助数据生成模块根据得到的最大错误率生成可以纠正该错误率的纠错...

【专利技术属性】
技术研发人员:刘政林张振华刘文超王雪邹雪城郑朝霞童乔凌
申请(专利权)人:华中科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1