一种嵌入式软件程序加解密方法技术

技术编号:4102199 阅读:240 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种嵌入式软件程序加解密方法,其中加密方法包括:从原始软件程序中随机抽取数据块形成抽样数据szSampVal;将所述抽取数据块的偏移量和大小、szEncryptHashVal以及有效设备识别码范围VALID_UID,插入原始软件程序形成加密程序;解密方法包括:读取嵌入式设备识别码UID;若UID属于VALID_UID且D(szEncryptHashVal)=HASH(szSampVal+VALID_UID),解密成功,否则失败。这种嵌入式软件程序加解密方法,将代码与有效设备识别码范围绑定后加密使用,为防仿制和刷新提供基础。

【技术实现步骤摘要】

本专利技术涉及加解密技术,具体涉及。
技术介绍
嵌入式产品已经日益普及,尤其是随着可便携式电子装置逐渐盛行,使得其成为 日常生活中不可缺少的一部分。嵌入式软件程序通常存储在嵌入式设备的存储器中(如闪存FLASH或只读存储器 ROM),而非法复制存储器中的软件程序也已相当容易。另一方面,很多嵌入式产品都采用相同 或者类似的解决方案,从而造成,部分人应用别人的硬件平台来烧录自己的软件程序进行恶意 刷新,或者从他人嵌入式产品的存储器中读取软件程序来用于自己的硬件平台进行仿制。在现有技术中,已有的嵌入式软件程序加密及解密的方法,主要有1.嵌入式设备在启动或者运行过程中,通过与一微控制器设备进行数据交互,实现基 于一定加/解密算法的认证过程。此种方法虽然能有效防止恶意刷新和仿制,但是嵌入式 设备与微控制器设备属于捆绑式关系,从应用角度考虑具有较大的局限性;2.新增加密装置,如微狗、软件狗、密盘、加解密芯片等,依赖新增的加密装置来实现加 解密过程。此种加解密方法能有效防止恶意刷新和仿制,但嵌入式设备与加密装置属于捆 绑式关系,这就意味着一旦加密装置损坏,那么嵌入式设备将难以使用,无形中限制了嵌入 式设备的寿命、维护费用和应用推广,另外新增加密装置也提高了嵌入式设备成本。况且随 着仿制技术的推陈出新,对加密装置提出了更高的要求,更进一步限制了此种加解密方式 的应用推广;3.通过将硬件系列号与软件程序相互绑定的加解密方法。加密时,对嵌入式设备的 硬件系列号进行加密处理,然后移植到软件程序内;解密时,从软件程序内解密出嵌入式设 备硬件系列号,并获取当前嵌入式设备硬件系列号,将两个系列号两相比较,相同则解密成 功,否则解密失败。采用此种方式能极为有效地防止软件程序被仿制,但是并不是所有的嵌 入式设备都能提取到硬件系列号,故而此种加解密方式存在一定的局限性。同时采用此种 方式,决定了软件程序与嵌入式设备之间是一对一的关系,故而很难将其应用于防止恶意 刷新上;4.通过嵌入式设备存储器坏块信息实现加解密的方法。加密时,统计嵌入式设备软件 程序存储器中的坏块,生成坏块信息,并将生成的坏块信息保存到指定位置;解密时,从指 定位置获取坏块信息,并验证当前嵌入式设备软件程序存储器中的实际坏块是否匹配所述 坏块信息,匹配则解密成功,反之则解密失败。此种加解密方式,能有效防止仿制,但难以防 止恶意刷新,且一旦嵌入式设备使用过程中软件程序存储器自身产生新的坏块,那么就将 直接导致解密失败,无形中人为地为嵌入式设备的正常运行设置了屏障。
技术实现思路
本专利技术需要解决的技术问题是,如何提供,能低3成本、高效灵活地实现防止对软件程序进行非法恶意刷新或读取存储器内的软件程序进行 仿制。本专利技术的第一个技术问题这样解决构建一种嵌入式软件程序加密方法,包括以 下步骤从原始软件程序中随机抽取数据块形成抽样数据szSampVal ; 将所述抽取数据块的偏移量和大小、值szEncryptHashVal以及有效设备识别 码范围VALID_UID,插入原始软件程序形成加密程序;其中czEncryptHashVal = E(HASH(szSampVal+VALID_UID)), E()是加密函数,HASH()是哈希函数,+表示绑定。按照本专利技术提供的加密方法,所述插入是在原始软件程序头部、尾部或中间,优选 尾部,这样无须增加偏移量的插入修正计算。按照本专利技术提供的加密方法,所述有效设备识别码范围包括但不限制于是嵌入式 设备IMEI号段、嵌入式设备入网许可号段、嵌入式设备处理器芯片ID号段、嵌入式设备软 件程序存储器ID号段或嵌入式设备随机存储器ID号段。按照本专利技术提供的加密方法,所述绑定包括但不限制于以下三种方式 ㈠ VALID_UID 和 szSampVal 级联;㈡将VALID_UID作为szSampVal散列函数HASHO的变换因子; ㈢将VALID_UID和szSampVal等分成相同的份数,再进行内插。按照本专利技术提供的加密方法,所述插入还包括将扩展标记插入原始软件程序。本专利技术的另一个技术问题这样解决构建一种嵌入式软件程序解密方法,包括以 下步骤读取嵌入式设备识别码UID ;若 UID 属于 VALID_UID 且 D (szEncryptHashVal) = HASH (szSampVal+VALID_UID),解 密成功,否则失败;其中VALID_UID是从加密程序指定位置读取的被插入的有效设备识别 码范围,DO是解密函数,szEncryptHashVal是从加密程序指定位置读取的被插入的值, HASHO是哈希函数,szSampVal是根据从加密程序指定位置读取的被插入的抽取数据块的 偏移量和大小从加密程序中获取的数据块,+表示绑定。按照本专利技术提供的解密方法,若UID不属于VALID_UID,解密失败直接终止。按照本专利技术提供的解密方法,所述有效设备识别码范围包括但不限制于是嵌入式 设备IMEI号段、嵌入式设备入网许可号段、嵌入式设备处理器芯片ID号段、嵌入式设备软 件程序存储器ID号段或嵌入式设备随机存储器ID号段。按照本专利技术提供的解密方法,所述指定位置是在加密程序头部、尾部或中间。按照本专利技术提供的解密方法,所述绑定包括但不限制于以下三种方式 ㈠ VALID_UID 和 szSampVal 级联;㈡将VALID_UID作为szSampVal散列函数HASHO的变换因子; ㈢将VALID_UID和szSampVal等分成相同的份数,再进行内插。按照本专利技术提供的解密方法,还包括从加密程序指定位置读取被插入的扩展标 记。本专利技术提供的嵌入式软件程序加解密方法,将软件自身代码与我方有效设备识别 码范围绑定后加密使用,为防仿制和刷新提供基础,具体来说一方面软件自身仅解密成功4才能使用、从而防止被仿制;另一方面我方嵌入式设备弓I导程序(可以是硬件或软件弓I导程 序)设定仅解密成功才能读或写软件、从而防止被刷新。与现有技术相比,具有以下优势1)能有效防止对软件程序进行非法恶意刷新或读取存储器内的软件程序进行仿制;2)无需绑定任何外围设备或添加任何加密装置,因而无附加成本、灵活性强;3)所采用加密技术相当成熟、种类繁多;4)加密软件程序的hash值而非直接加密软件程序本身,保证安全性的同时又能有效 校验数据的完整性;5)采用随机抽样法从软件程序内随机抽取数据块,然后计算所抽取数据块的hash 值,而非计算整个软件程序的hash值,保证安全性的同时又不至于过多地影响执行时间。附图说明下面结合附图和具体实施例进一步对本专利技术进行详细说明 图1是本专利技术嵌入式软件程序加密流程示意图2是本专利技术嵌入式软件程序解密流程示意图。具体实施例方式首先,说明本专利技术思路 ㈠防仿制向嵌入式设备的存储介质下载嵌入式软件程序时,执行本专利技术所述加密流程,将加密 程序下载到嵌入式设备存储介质内;嵌入式设备启动过程中加载存储介质内的加密程序时,执行本专利技术所述解密流程,如 果解密成功(即嵌入式设备是我方被授权设备),则继续启动,如果解密失败,则退出启动 流程。㈡防刷新我方嵌入式设备将程序下载到我方嵌入式设备存储介质时,执行本专利技术所述解密流 程,如果解密成功(即被下载程序是我方被授权加密程序),则将程序下载本文档来自技高网
...

【技术保护点】
一种嵌入式软件程序加密方法,其特征在于,包括以下步骤:从原始软件程序中随机抽取数据块形成抽样数据szSampVal;将所述抽取数据块的偏移量和大小、值szEncryptHashVal以及有效设备识别码范围VALID_UID,插入原始软件程序形成加密程序;其中:szEncryptHashVal = E(HASH(szSampVal+VALID_UID)),E()是加密函数,HASH()是哈希函数,+表示绑定。

【技术特征摘要】
一种嵌入式软件程序加密方法,其特征在于,包括以下步骤从原始软件程序中随机抽取数据块形成抽样数据szSampVal;将所述抽取数据块的偏移量和大小、值szEncryptHashVal以及有效设备识别码范围VALID_UID,插入原始软件程序形成加密程序;其中szEncryptHashVal = E(HASH(szSampVal+VALID_UID)),E()是加密函数,HASH()是哈希函数,+表示绑定。2.根据权利要求1所述加密方法,其特征在于,所述插入是在原始软件程序头部、尾部 或中间。3.根据权利要求1所述加密方法,其特征在于,所述有效设备识别码范围是嵌入式设 备IMEI号段、嵌入式设备入网许可号段、嵌入式设备处理器芯片ID号段、嵌入式设备软件 程序存储器ID号段或嵌入式设备随机存储器ID号段。4.根据权利要求1所述加密方法,其特征在于,所述绑定是VALID_UID和szSampVal级联。5.根据权利要求1所述加密方法,其特征在于,所述绑定是将VALID_UID作为 szSampVal散列函数HASHO的变换因子。6.根据权利要求1所述加密方法,其特征在于,所述绑定是将VALID_UID和...

【专利技术属性】
技术研发人员:林进全
申请(专利权)人:广东欧珀移动通信有限公司
类型:发明
国别省市:44[中国|广东]

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

1