基于碎片混沌迭代的固件动态加解密方法技术

技术编号:13506656 阅读:65 留言:0更新日期:2016-08-10 15:12
本发明专利技术名称为基于碎片混沌迭代的固件动态加解密方法。其涉及嵌入式系统固件生成、加密、发布、解密与烧录,尤其是涉及一种基于固件碎片进行混沌迭代的动态式加解密方法等技术领域。 该方法是为了保护厂商的固件中包含特有的知识产权,以防止被别的设备随意使用或利用其谋取非法商业利益。主要运用在嵌入式系统固件的生成、发布与烧录等过程中,对固件进行加解密处理。该方法原理:对固件进行n轮碎片处理与混沌迭代后,就像处于混沌状态下的碎片集合,已经无法让任何工具识别,以达到商业保密的作用。解密是加密的逆过程,将其推送或发送命令到目标机器的RAM上才能运作,并且与特定的CPU SOC加密相关联,以达到进一步的保护作用。

【技术实现步骤摘要】
【专利摘要】本专利技术名称为。其涉及嵌入式系统固件生成、加密、发布、解密与烧录,尤其是涉及一种基于固件碎片进行混沌迭代的动态式加解密方法等
该方法是为了保护厂商的固件中包含特有的知识产权,以防止被别的设备随意使用或利用其谋取非法商业利益。主要运用在嵌入式系统固件的生成、发布与烧录等过程中,对固件进行加解密处理。该方法原理:对固件进行n轮碎片处理与混沌迭代后,就像处于混沌状态下的碎片集合,已经无法让任何工具识别,以达到商业保密的作用。解密是加密的逆过程,将其推送或发送命令到目标机器的RAM上才能运作,并且与特定的CPU SOC加密相关联,以达到进一步的保护作用。【专利说明】
本专利技术涉及嵌入式系统固件生成、加密、发布、解密与烧录,尤其是涉及一种基于固件碎片进行混沌迭代的动态式加解密方法等

技术介绍
固件(Firmware)是一组由编译器生成的二进制文件,是一种嵌入在硬件设备中的软件。通常它是位于特殊应用集成电路(ASIC)或可编程逻辑器件(PLD)之中的闪存、EEPROM或PROM里,有的可以让用户更新。可以应用在非常广泛的电子产品中,从移动设备、遥控器、计算器到电脑中的键盘、硬盘,甚至工业机器人中都可见到它的身影。顾名思义,固件是软件和硬件之间的纽带。像软件一样,它是一个被硬件系统所运行的程序。然而它是对于硬件内部而言更加贴近以及更加重要的部份,而对于外在的世界而言,则无足轻重。在产品生产时,固件一般由生产线上的工人或相应的技术员负责把固件烧录到产品中去,然后再进行一系列的工厂测试与验证。固件的烧录效率,直接影响到其生产效率。随着技术的日新月异,如今的固件,在不同的应用领域中,还可能包含系统软件与应用软件。大致可包含启动加载程序,内核文件,文件系统(包括RAM或ROM文件系统)以及故障应急与恢复程序等。固件烧录是这样一个过程,在主机(通常为PC)上运行烧录工具,以一定的通信方式将设备的存储区擦除或格式化后,通过一定的协议或方式(如串口,USB等)把固件写在预先设定好的存储区地址范围内。当前流行的存储设备有Nand Flash, Nor Flash以及eMMC等,简单地说,烧录固件就是对以上三种设备的读写操作。目前行业上的固件发布与烧录,都是直接对二进制固件进行,没有进行对固件的加密保护,大多数甚至连基本的文件校验都没有。随着近年来智能设备迅速增加,固件已经越来越多,越来越普遍。不同设备中,固件可能已经相互兼容,而有些厂商的固件中包含其大量或特有的知识产权,不希望被别的设备随意就使用或利用其谋取非法商业利益。因此,对于一些厂商而言,为其特定设备或特定行业而发布的固件需要有一种保护的机制。为了解决这一工程问题,我们提出一种固件加密方法。该方法,安全,简单易用,又符合工程学。固件经过基于碎片混沌迭代的方法加密后,就像处于混沌状态下的η块碎片的组合,已经无法让任何工具识别,更加不能烧录了,以达到商业保密的作用。解密程序作为烧录工具的一部分而存在,其必须推送或发送命令到目标机器的RAM上才能运作,并且与特定的CPU SOC加密相关联。传统的加解密方法,一则需求较好性能的设备来运行,二则花费加解密时间比较长。特别是在主频比较低且内存较少的嵌入式设备中运行比较吃力,此外当固件比较庞大时就更加费劲了。更重要的是,从工程上考虑,传统的算法,如AES,RSA, SHA与MD5等,在嵌入式设备中涉及到众多的库与交叉移植编译等困难因素,实现起来工程量比较大,损耗大量的研发与生产成本,而且不易于扩展与再生使用。碎片,原指零星破碎的物片。在这是特指将二进制固件文件进行η次撕碎后很细小的碎片文件或一组数量众多的二进制码数据。一定顺序的m块碎片便组成了原始的二进制固件文件。混沌,原指发现宇宙混乱状态的描述,古希腊哲学家对于宇宙之源起即持混沌论,主张宇宙是由混沌之初,逐渐形成现今有条不紊的世界。在井然有序的宇宙中,西方自然科学家经过长期的探讨,逐一发现众多自然界中的规律,如大家熟知的地心引力、杠杆原理、相对论等。这些自然规律都能用单一的数学公式加以描述,并可以依据此公式准确预测物体的行径。混沌理论是一种兼具质性思考与量化分析的方法,用以探讨动态系统中无法用单一的数据关系,而必须用整体,连续的数据关系才能加以解释及预测之行为。“一切事物的原始状态,都是一堆看似毫不关联的碎片,但是这种混沌状态结束后,这些无机的碎片会有机地汇集成一个整体”。混沌迭代,即利用混沌算法将碎片进行相互迭代,并且对碎片进行标记。不同混沌迭代的方式,对应不同的一系列密钥,不同的固件(不同版本)的加解密方法也不尽相同,从而实现动态(密钥)加密的功能。目前,行业的常用作法都是把固件与烧录工具,甚至设备参数都是直接暴露给客户的。而现有的一些专利,只涉及了简单的固件烧录方法或者固件完整性校验之类的技术。如CN200710143037.X多核终端的固件升级方法,CN200810217615.4基于数字签名的固件升级、固件封装方法与装置等。它们都没有涉及如何保护固件或者如果制定私有烧录工具等方面。
技术实现思路
本专利技术旨在通过基于固件碎片进行混沌迭代的动态加解密方法,在整个固件生成、发布、烧录等过程进行一一控制,以保护厂商的商业机密与商业利益。该方法,即简单又安全,工程实现容易。【附图说明】图1为固件生成,发布与烧录示意图。密钥生成与使用示意图。已经包含在说明书附图2中,此略。图2为加密流程图。图3为解密流程图。【具体实施方式】使用基于固件碎片进行混沌迭代的动态加解密方法,对固件的商业保护的实用流程大体如下: 一、编译工程代码生成二进制固件。二、使用固件碎片混沌迭代的动态加密方法,对固件进行加密。三、发布加密后的固件给客户(也可以与改造后的烧录工具一起发布)。四、客户烧录固件。五、在烧录过程中,烧录工具把固件推送到设备的内存中进行解密处理。六、解密处理完成后,再把目标固件写入到特定地址的存储区内。加密方法,主要涉及固件碎片生成器、混沌序列生成器、混沌迭代单元、轮转控制单元、密钥输出单元、固件输出单元、固件校验器、二进制数据生成器、二进制处理单元。加密算法如下: 一、对原始二进制固件FWO (大小为SIZEO字节),对每位二进码进行取反运算,但保持位置不变,输出固件FWOO与FWO的md5值md5_FW0。出于工程考虑,不宜进行复杂的位运算或为此引入新密钥与之对应。二、使用Logistic映射生成混沌序列组FGGm(FGG1,FGG2, FGG3,…,FGGm),要求每个序列的总和均为SIZE0.例如FGGl (FGG1_1, FGG1_2,FGG1_3,…,FGGl_n),分别对应 FW1_1, Fffl_2, Fffl_3,…,FWl_n 所有碎片大小(单位:字节)。Logistic映射是研究动力系统、混沌、分形等复杂系统行为的一个经典模型。Logistic映射又叫Logistic迭代,其实就是一个时间离散的动力系统,即按照如下方程进行反复迭代:X(t+1)= ux(t)(l-χ (t)) 其中,t为迭代时间步,对于任意的t,x(t)在,u为一可调参数,为了保证映射得到的x(t)始终位于内,则u在 ο当变化不同的参数u的时候,该方程会展现本文档来自技高网
...

【技术保护点】
基于碎片混沌迭代的固件动态加解密方法,包括基于碎片混沌迭代的固件加密方法(1)与基于碎片混沌迭代的固件解密方法(2)。

【技术特征摘要】

【专利技术属性】
技术研发人员:陈建荣陈鹏昆张飞跃
申请(专利权)人:深圳市伦琴科技有限公司
类型:发明
国别省市:广东;44

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

1