[发明专利]一种嵌入式软件程序加解密方法有效
申请号: | 201010289028.3 | 申请日: | 2010-09-21 |
公开(公告)号: | CN101950344A | 公开(公告)日: | 2011-01-19 |
发明(设计)人: | 林进全 | 申请(专利权)人: | 广东欧珀移动通信有限公司 |
主分类号: | G06F21/22 | 分类号: | G06F21/22 |
代理公司: | 深圳市惠邦知识产权代理事务所 44271 | 代理人: | 满群 |
地址: | 523860 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 嵌入式 软件 程序 解密 方法 | ||
技术领域
本发明涉及加解密技术,具体涉及一种嵌入式软件程序加解密方法。
背景技术
嵌入式产品已经日益普及,尤其是随着可便携式电子装置逐渐盛行,使得其成为日常生活中不可缺少的一部分。
嵌入式软件程序通常存储在嵌入式设备的存储器中(如闪存FLASH或只读存储器ROM),而非法复制存储器中的软件程序也已相当容易。另一方面,很多嵌入式产品都采用相同或者类似的解决方案,从而造成,部分人应用别人的硬件平台来烧录自己的软件程序进行恶意刷新,或者从他人嵌入式产品的存储器中读取软件程序来用于自己的硬件平台进行仿制。
在现有技术中,已有的嵌入式软件程序加密及解密的方法,主要有:
1.嵌入式设备在启动或者运行过程中,通过与一微控制器设备进行数据交互,实现基于一定加/解密算法的认证过程。此种方法虽然能有效防止恶意刷新和仿制,但是嵌入式设备与微控制器设备属于捆绑式关系,从应用角度考虑具有较大的局限性;
2.新增加密装置,如微狗、软件狗、密盘、加解密芯片等,依赖新增的加密装置来实现加解密过程。此种加解密方法能有效防止恶意刷新和仿制,但嵌入式设备与加密装置属于捆绑式关系,这就意味着一旦加密装置损坏,那么嵌入式设备将难以使用,无形中限制了嵌入式设备的寿命、维护费用和应用推广,另外新增加密装置也提高了嵌入式设备成本。况且随着仿制技术的推陈出新,对加密装置提出了更高的要求,更进一步限制了此种加解密方式的应用推广;
3.通过将硬件系列号与软件程序相互绑定的加解密方法。加密时,对嵌入式设备的硬件系列号进行加密处理,然后移植到软件程序内;解密时,从软件程序内解密出嵌入式设备硬件系列号,并获取当前嵌入式设备硬件系列号,将两个系列号两相比较,相同则解密成功,否则解密失败。采用此种方式能极为有效地防止软件程序被仿制,但是并不是所有的嵌入式设备都能提取到硬件系列号,故而此种加解密方式存在一定的局限性。同时采用此种方式,决定了软件程序与嵌入式设备之间是一对一的关系,故而很难将其应用于防止恶意刷新上;
4. 通过嵌入式设备存储器坏块信息实现加解密的方法。加密时,统计嵌入式设备软件程序存储器中的坏块,生成坏块信息,并将生成的坏块信息保存到指定位置;解密时,从指定位置获取坏块信息,并验证当前嵌入式设备软件程序存储器中的实际坏块是否匹配所述坏块信息,匹配则解密成功,反之则解密失败。此种加解密方式,能有效防止仿制,但难以防止恶意刷新,且一旦嵌入式设备使用过程中软件程序存储器自身产生新的坏块,那么就将直接导致解密失败,无形中人为地为嵌入式设备的正常运行设置了屏障。
发明内容
本发明需要解决的技术问题是,如何提供一种嵌入式软件程序加解密方法,能低成本、高效灵活地实现防止对软件程序进行非法恶意刷新或读取存储器内的软件程序进行仿制。
本发明的第一个技术问题这样解决:构建一种嵌入式软件程序加密方法,包括以下步骤:
从原始软件程序中随机抽取数据块形成抽样数据szSampVal;
将所述抽取数据块的偏移量和大小、值szEncryptHashVal以及有效设备识别码范围VALID_UID,插入原始软件程序形成加密程序;其中:szEncryptHashVal = E(HASH(szSampVal+VALID_UID)),E()是加密函数,HASH()是哈希函数,+表示绑定。
按照本发明提供的加密方法,所述插入是在原始软件程序头部、尾部或中间,优选尾部,这样无须增加偏移量的插入修正计算。
按照本发明提供的加密方法,所述有效设备识别码范围包括但不限制于是嵌入式设备IMEI号段、嵌入式设备入网许可号段、嵌入式设备处理器芯片ID号段、嵌入式设备软件程序存储器ID号段或嵌入式设备随机存储器ID号段。
按照本发明提供的加密方法,所述绑定包括但不限制于以下三种方式:
㈠VALID_UID和szSampVal级联;
㈡将VALID_UID作为szSampVal散列函数HASH()的变换因子;
㈢将VALID_UID和szSampVal等分成相同的份数,再进行内插。
按照本发明提供的加密方法,所述插入还包括将扩展标记插入原始软件程序。
本发明的另一个技术问题这样解决:构建一种嵌入式软件程序解密方法,包括以下步骤:
读取嵌入式设备识别码UID;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东欧珀移动通信有限公司,未经广东欧珀移动通信有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010289028.3/2.html,转载请声明来源钻瓜专利网。