[发明专利]一种嵌入式软件加密方法在审
申请号: | 201510832016.3 | 申请日: | 2015-11-25 |
公开(公告)号: | CN105512517A | 公开(公告)日: | 2016-04-20 |
发明(设计)人: | 徐卫 | 申请(专利权)人: | 成都天奥测控技术有限公司 |
主分类号: | G06F21/12 | 分类号: | G06F21/12 |
代理公司: | 成都九鼎天元知识产权代理有限公司 51214 | 代理人: | 郭彩红 |
地址: | 611731 四*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 嵌入式 软件加密 方法 | ||
技术领域
本发明涉及一种嵌入式软件加密方法,特别是涉及一种适用于价格低廉,一FLASH为存储程序的通用的嵌入式芯片加密的嵌入式软件加密方法。
背景技术
目前嵌入式软件加密一般采用:
1、芯片打磨,隐藏芯片的型号信息。这种加密方式对芯片解密人员不起任何作用;
2、物理防拷贝,采用掩膜ROM存储嵌入式软件代码。该加密方式防拷贝、防擦写的效果比较好,但是价格比较高,且无法支持后续软件代码升级。
3、使用加密芯片实施加密。该加密方式需要增加额外的成本,加密较为复杂,不利于软件升级。
上述三种加密方式一般很难支持后期软升级功能。
发明内容
本发明要解决的技术问题是提供一种不需要对芯片进行打磨处理,加密方式简单,加密成本低,且能够支持软件升级的嵌入式软件加密方法。
本发明采用的技术方案如下:一种嵌入式软件加密方法,将需要进行加密的嵌入式软件与其芯片ID进行绑定,以嵌入式芯片ID本身作为加密的唯一加密输入参数值进行加解密,并且对软件代码采用部分加密的方式进行加密。
采用绑定嵌入式芯片ID的方式。ID本身作为软件加密的唯一加密输入参数值,不同ID的嵌入式芯片中的软件代码是完全不同的,一片芯片包含一种独一无二的软件代码,所有软件功能均与ID号绑定。该加密方式,加密简单、硬件和操作成本都很低、方便维护升级,加密后的软件被拷贝复制到同样的硬件模块芯片内无法使用。
定义芯片ID值的由高到底或由低到高的4个字节,其中,两个字节分别用于定位两个需要加密代码段的偏移值;一个字节加1后的值为加密代码段字节长度;一个字节为加密参数;并且定义加密代码段的基地址为解密代码的长度。
嵌入式芯片中的ID寄存器对于每一块芯片都是唯一的,ID值一般是由4个字节组成,将该4个字节由高到低或由低到高进行排列定义:其中,两个字节分别用于定位两个需要加密代码段的偏移值Offset0和Offset1;一个字节加1后的值为加密代码段字节长度Length;一个字节为加密参数Parameter;并且定义加密代码段的基地址BaseAddr为解密代码的长度。
具体加密过程为:读取芯片的ID寄存器,获得加密使用的加密代码段的偏移值Offset0和Offset1、加密代码段字节长度Length和加密参数Parameter;根据加密代码段的偏移值得出加密代码段起始位置(BaseAddr+Offset0,BaseAddr+Offset1);根据加密代码段起始位置及加密代码段字节长度得出两个需要加密的位置的所有字节数据;将两组加密代码段所有字节数据,分别与加密参数Parameter进行加密算法处理,得到加密后的新的两组新的字节数据。
采用部分加密的方式,即使对方获得ID值,由于不清楚加密代码段,因此无法完成解密。
具体解密过程为:读取芯片的ID寄存器,获得解密使用的加密代码段的偏移值、加密代码段字节长度和加密参数;根据加密代码段的偏移值得出加密代码段起始位置;根据加密代码段起始位置及加密代码段字节长度得出两个需要解密的位置的所有字节数据;将两组加密代码段所有字节数据,分别与加密参数进行解密算法处理,得到解密后的新的两组数据。
所述加密算法和解密算法均为异或算法。采用异或算法作为加密算法,使得加密和解密的过程一致,降低了数据处理量,加密更简单,操作成本更低。
所述方法还包括:解密时,把FASH空间的解密软件代码及被加密了的软件搬移至RAM空间中,在RAM空间执行解密程序代码,完成解密过程。
解密软件代码与被加密了的软件代码被下载至嵌入式芯片的FLASH空间中,芯片上电后会把FASH空间的软件搬移至RAM空间中,并开始执行解密程序代码,解密过程中只修改RAM空间的加密软件,而不修改FASH空间的软件。因此每次芯片上电均需要完成一次RAM空间软件的解密工作,存储在FASH空间的软件代码一直处于加密状态。
与现有技术相比,本发明的有益效果是:不需要对芯片进行打磨处理,不需要外围增加加密芯片,加密方式简单,加密成本低,且能够支持软件升级,易维护,加密后的软件被拷贝复制到同样的硬件模块芯片内无法使用。
附图说明
图1为本发明其中一实施例的ID加密原理示意图。
图2为本发明其中一实施例的加密参数、解密代码和软件代码在芯片中的分布图。
图3为本发明其中一实施例的加解密流程图。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都天奥测控技术有限公司,未经成都天奥测控技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510832016.3/2.html,转载请声明来源钻瓜专利网。