一种嵌入式软件的加密方法

文档序号:6628200阅读:746来源:国知局
一种嵌入式软件的加密方法
【专利摘要】本发明公开了一种嵌入式软件的加密方法,本方法需要在设备中安装使用DS2432保护型EEPROM对软件进行加密,所述加密方法包括密码生成过程和密码验证过程;所述密码生成过程具体为:在工厂程序下,使用随机数作为密钥生成DS2432认证码,并把此认证码进行DES加密后,存入设备的存储器中。生成的DS2432认证码也被存到DS2432中;所述密码验证过程具体为:要求程序在上电运行时,读取存储器中的认证码,进行DES解密,同时使用随机数和DS2432进行握手认证,如果认证失败则程序退出。该方法有效的防止了设备被克隆;具有硬件简单,成本低,软件实现容易,难以破解等优点。
【专利说明】一种嵌入式软件的加密方法

【技术领域】
[0001]本发明涉及一种软件加密方法,特别是涉及一种嵌入式软件的加密方法。

【背景技术】
[0002] 电子设备硬件极易被克隆,同时设备中的嵌入式软件的二进制数据也容易被读出 来,因此,整台设备也能被克隆,制成盗版的设备。
[0003] 常用加密方法一般采用密钥认证加密:密钥(私密)和需要认证的数据("信息") 作为输进,来计算信息认证码,即MAC (Message Authentication Codes)。MAC然后附加到 信息上。信息接收方进行相同的运算,将MAC计算结果与随信息一起收到的MAC比较。假 如二者相同,则信息是正当的。但非法者假如截取到信息,可随后回放此信息,以仿冒正当 身份。


【发明内容】

[0004] 本发明的目的是针对嵌入式软件容易被克隆的现状,使用DS2432保护型EEPR0M, 对软件进行加密,使得即使硬件被克隆出来,设备也不能正常运行,从而达到保护的作用。
[0005] DS2432在单个芯片内集成了 1024位EEPR0M、64位密钥、512位SHA-1引擎,以极 低的成本提供了一个安全的高级认证方案。修改DS2432的数据时,1-Wire?主机必须成功 地计算并发送160位SHA-1信息鉴定码(MAC),这需要预先知道DS2432的数据结构,其中包 括没有泄漏的64位密码。DS2432还提供一个读存储器命令,可自动为1-Wire主机计算并 提供160位MAC。注意,该过程使用了未经泄漏的密码,为主机鉴别基于DS2432的从机配件 或外设提供了一种非常有效的解决方案。另外,该器件还提供永久性的写保护和0TPEPR0M 模式。每个DS2432具有自身的、由工厂刻入的64位ROM注册码,为其所嵌入的产品或系统 提供唯一的ID。这个唯一的64位码也是SHA-1的组成成份之一。DS2432的通信和操作通 过单点连接的Ι-Wire接口实现,硬件简单。
[0006] 本发明的目的通过以下技术方案实现:
[0007] -种嵌入式软件的加密方法,本方法需要在设备中安装使用DS2432保护型 EEPR0M对软件进行加密,所述加密方法包括密码生成过程和密码验证过程;
[0008] 所述密码生成过程具体为:在工厂程序下,使用随机数作为密钥生成DS2432认证 码,并把此认证码进行DES加密后,存入设备的存储器中。生成的DS2432认证码也被存到 DS2432 中;
[0009] 所述密码验证过程具体为:要求程序在上电运行时,读取存储器中的认证码,进行 DES解密,同时使用随机数和DS2432进行握手认证,如果认证失败则程序退出。
[0010] 进一步地,所述握手认证具体为:使用随机数与DES解密后的密钥计算出的MAC 值,与发送随机数到DS2432得到的MAC值相比较,如果两个MAC值相同则认证成功,不同则 失败。
[0011] 本发明的有益效果:
[0012] 1.DS2432芯片ID全球唯一性,无密钥时无法成功认证,使得一个产品对应一个 DS2432芯片,产品具有唯一性。
[0013] 2.程序二制进文件容易整个读出,但认证码存储位置比较难确定,数据不容易被 破解。
[0014] 3.当认证码存储数据被找出时,解密DES加密后的认证码几乎不可能。
[0015] 4.程序上电后使用随机数和DS2432进行握手认证,每次认证数据都不一样,通过 数据线监控认证数据也几乎不可能。
[0016] 总之,本发明的加密方法有效的防止了设备被克隆;具有硬件简单,成本低,软件 实现容易,难以破解等优点。

【专利附图】

【附图说明】
[0017] 图1是本发明的密码验证流程图。

【具体实施方式】
[0018] 本发明的一个实施例,其具体加密方法为:
[0019] 设备的加密过程:
[0020] 有加密权限的DSP程序,随机产生一组8字节的密钥,向DS2432写入这一8字节 密钥,并使用DES加密后存放到存储区,通过DES加密后,密钥无法破解,而只能读到加密后 的密钥,加密完成。
[0021] 密码验证过程:
[0022] DSP应用程序读取存储区密钥,通过DES算法进行解密后得到8字节密钥,同时随 机产生3字节认证码,由这两组值计算MAC值;发送随机产生的3字节认证码到DS24M (由 于是随机数据,可以有效防止非法用户监听DSP和DS2432之间通讯数据),并读取DS24:32 产生的MAC值。两组MAC值如果不一致,验证失败,可以判断程序被非法克隆。
【权利要求】
1. 一种嵌入式软件的加密方法,其特征在于:在设备中安装使用DS2432保护型EEPROM 对软件进行加密,所述加密方法包括密码生成过程和密码验证过程; 所述密码生成过程具体为:在工厂程序下,使用随机数作为密钥生成DS2432认证码, 并把此认证码进行DES加密后,存入设备的存储器中。生成的DS2432认证码也被存到 DS2432 中; 所述密码验证过程具体为:要求程序在上电运行时,读取存储器中的认证码,进行DES 解密,同时使用随机数和DS2432进行握手认证,如果认证失败则程序退出。
2. 根据权利要求1所述的嵌入式软件的加密方法,其特征在于:所述握手认证具体为: 使用随机数与DES解密后的密钥计算出的MAC值,与发送随机数到DS2432得到的MAC值相 比较,如果两个MAC值相同则认证成功,不同则失败。
【文档编号】G06F21/12GK104268447SQ201410495719
【公开日】2015年1月7日 申请日期:2014年9月25日 优先权日:2014年9月25日
【发明者】莫景贤 申请人:深圳市亚特尔科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1