嵌入式操作系统的加密方法和装置制造方法及图纸

技术编号:12338340 阅读:68 留言:0更新日期:2015-11-18 11:10
一种嵌入式操作系统的加密方法和装置,基于该硬件系统CPU的唯一硬件序列号ID。在加密处理中,上位机首先读取CPU唯一硬件序列号ID,并将BOOT程序和主程序烧录在硬件系统的FLASH中;然后将原始数据与ID号通过一定的加密算法处理,生成相应的校验数据并储存在硬件系统的EEPROM中。由于每个CPU的唯一硬件ID号各不一样,在硬件电路和软件程序数据被抄袭拷贝时,使用本发明专利技术加密方法所建立的程序启动交叉互锁校验过程就不会通过,BOOT程序和主程序则无法正常运行,从而起到了保护作用。

【技术实现步骤摘要】

本专利技术属于计算机
,具体涉及一种嵌入式操作系统的加密方法和装置
技术介绍
嵌入式操作系统(Embedded Operating System,简称:EOS)是指用于嵌入式系统的操作系统。嵌入式操作系统运行时,一般是先启动BOOT程序,然后由BOOT程序跳转至Kernel,运行主程序。BOOT、Kernel和主程序都是烧录在FLASH中,待系统上电的时候,才会从FLASH把相应的程序运行起来。在硬件结构电路相同的情况下,如果把FLASH的数据读取并拷贝至另一个操作系统的板子去,程序也同样运行起来。因此在没有加密的系统里,很容易被抄袭。在一些常见的加密处理中,需要在电路里,加个EEPROM来储存校验数据(见图1),这样在BOOT程序和应用程序里,都先读取校验数据,如果匹配才正常运行,如果不匹配,则不能正常运行,从而起到一定的保护作用。但即便这样,如果EEPROM的数据被读取拷贝至抄袭的嵌入式系统的板子里,还是会面临被抄袭的情况。
技术实现思路
本专利技术旨在为嵌入式操作系统提供一种基于系统唯一硬件序列号的加密方法和装置,防止系统硬件或软件被非法伪造,确保系统数据不被非法篡改,保证系统安全运行。本专利技术的技术方案是:嵌入式操作系统的加密方法,它基于嵌入式硬件系统的唯一硬件序列号,由上位机分别对BOOT程序和主程序进行加密处理,各自生成相应的校验数据,在将BOOT程序和主程序烧录在所述嵌入式硬件系统的FLASH的同时,将所述校验数据存储至所述嵌入式硬件系统的EEPR0M,使BOOT程序和主程序形成了基于所述唯一硬件序列号的互锁结构,保持所述嵌入式操作系统的唯一性,其加密烧录步骤如下: 步骤1.运行所述上位机中烧录授权软件,为所述嵌入式硬件系统上电,嵌入式硬件系统与上位机连接; 步骤2.上位机发送请求,读取嵌入式硬件系统的唯一硬件序列号;读取硬件序列号时,嵌入式操作系统的烧录程序将序列号进行加密,传输给上位机的烧录授权软件,所述烧录授权软件再进行解密,得到嵌入式硬件系统真实的唯一硬件序列号; 步骤3.上位机将BOOT程序烧录到嵌入式硬件系统的FLASH中; 步骤4.上位机将读到的唯一硬件序列号与BOOT程序通过加密算法计算出BOOT程序校验数据,并将BOOT程序校验数据储存在嵌入式硬件系统的EEPROM中; 步骤5.上位机将Kernel程序烧录到嵌入式硬件系统的FLASH中; 步骤6.上位机将主程序烧录到嵌入式硬件系统的FLASH中; 步骤7.上位机将读到的唯一硬件序列号与主程序通过加密算法计算出主程序校验数据,并将主程序校验数据储存在嵌入式硬件系统的EEPROM中; 步骤8.上位机确认上述步骤完成,指令嵌入式硬件系统结束烧录过程。所述嵌入式操作系统启动时,BOOT程序和主程序在启动过程中相互校验,一旦校验不通过,程序运行结束,嵌入式操作系统停止工作,BOOT程序和主程序启动运行步骤如下: 步骤11.启动BOOT程序; 步骤12.BOOT程序启动后,读取所述嵌入式硬件系统的唯一硬件序列号和烧录在FLASH中的主程序; 步骤13.通过与授权软件相同的加密算法生成主程序校验数据; 步骤14.读取储存在EEPROM中由加密授权软件烧录的主程序的校验数据,并与步骤13生成的主程序校验数据进行比较; 步骤15.如果不匹配,则程序运行结束;如果匹配,则正常跳转启动主程序; 步骤16.主程序启动后,读取所述嵌入式硬件系统唯一硬件序列号和烧录在FLASH中的BOOT程序; 步骤17.通过与授权软件相同的加密算法生成BOOT程序校验数据; 步骤18.读取储存在EEPROM中由加密授权软件烧录的BOOT程序校验数据,并与步骤17生成的BOOT程序校验数据进行比较; 步骤19.如果匹配,主程序正常运行;如果不匹配,则程序运行结束。—种应用上述加密方法的装置,它包括: 嵌入式硬件系统,是待加密的硬件设备,内置了 CPU、FLASH、EEPROM ; 上位机,通过USB线与所述嵌入式系统连接,内存烧录软件和加密算法软件,为所述嵌入式系统烧录程序、传输数据。加密烧录时,所述上位机读取所述嵌入式硬件系统CPU的唯一硬件序列号,由上位机运用加密算法软件分别对BOOT程序和主程序进行加密处理,各自生成相应的校验数据,在将BOOT程序和主程序烧录在所述嵌入式硬件系统的FLASH的同时,将所述校验数据存储至所述嵌入式硬件系统的EEPR0M,使BOOT程序和主程序形成了基于所述唯一硬件序列号的互锁结构;所述嵌入式硬件系统启动时,加密处理的BOOT程序和主程序在启动过程中相互校验,一旦校验不通过,程序运行结束,嵌入式操作系统停止工作。由于本专利技术嵌入式操作系统的加密方法和装置基于嵌入式硬件系统的唯一硬件序列号,可以很好地让BOOT程序与主程序进行互锁,将软件程序与硬件结构电路结合在一起。当硬件被抄袭时,FLASH与EEPROM的数据遭拷贝复制,但由于唯一硬件序列号不一样,则交叉互检校验就不会通过,系统也无法运行起来,从而很好地对原硬件及软件系统进行了保护。【附图说明】图1是现有技术嵌入式操作系统加密程序框图; 图2是本专利技术嵌入式操作系统加密程序框图; 图3是本专利技术嵌入式操作系统BOOT程序和主程序校验数据生成框图; 图4是本专利技术嵌入式操作系统加密烧录程序图; 图5是本专利技术嵌入式操作系统BOOT程序和主程序加密启动互锁原理框图;图6是加密烧录过程上位机与嵌入式硬件系统的信息交互状态梯形图。【具体实施方式】下面结合附图对本专利技术进一步说明。如图2所示是嵌入式硬件系统的CPU框架图,FLASH用于烧录BOOT程序和主程序,而BOOT程序校验数据和主程序校验数据是存放在EEPROM里的,本专利技术嵌入式操作系统的加密方法基于该CPU的唯一硬件序列号ID。在加密处理中,读取CPU唯一硬件序列号ID,将原始数据与ID号通过一定的算法处理,生成相应的校验数据。由于每个CPU的唯一硬件ID号各不一样,就算硬件电路和软件程序数据被抄袭拷贝,经本专利技术加密方法所建立的校验过程就不会通过,BOOT程序和主程序则无法正常运行,从而起到了保护作用。具体加密过程如图4所示,在待加密嵌入式硬件系统CPU上电后,首先上位机运行烧录授权软件,读取CPU的唯一硬件ID号。由于上位机是通过USB或串口与下位机进行通信,如果唯一硬件ID号直接明文传输,则有可能被监控软件监控或篡改,因此在传输ID时,嵌入式操作系统的烧录程序将ID号进行加密,传输给上位机的烧录授权软件,然后烧录授权软件再进行解密,得到CPU真实的唯一硬件ID号。得到唯一硬件ID号后,烧录授权软件将BOOT程序与ID号经过加密算法处理,生成BOOT校验数据(见图3),并将BOOT程序烧录到嵌入式硬件系统FLASH指定的地址中,然后将BOOT程序校验数据存储在嵌入式硬件系统EEPROM指定的地址中;同样地,将主程序与ID号经过加密算法处理,生成主程序校验数据(见图3),并将主程序烧录到嵌入式硬件系统FLASH指定的地址中,然后将主程序校验数据存放在嵌入式硬件系统EEPROM指定的地址中;加密烧录工作完成。加密后的嵌入式硬件系统CPU再次启动时,BOOT程序和主程序分别基本文档来自技高网...

【技术保护点】
嵌入式操作系统的加密方法,其特征在于:它基于嵌入式硬件系统的唯一硬件序列号,由上位机分别对BOOT程序和主程序进行加密处理,各自生成相应的校验数据,在将BOOT程序和主程序烧录在所述嵌入式硬件系统的FLASH的同时,将所述校验数据存储至所述嵌入式硬件系统的EEPROM,使BOOT程序和主程序形成了基于所述唯一硬件序列号的互锁结构,保持所述嵌入式操作系统的唯一性,其加密烧录步骤如下:步骤1. 运行所述上位机中烧录授权软件,为所述嵌入式硬件系统上电,嵌入式硬件系统与上位机连接;步骤2. 上位机发送请求,读取嵌入式硬件系统的唯一硬件序列号;步骤3. 上位机将BOOT程序烧录到嵌入式硬件系统的FLASH中;步骤4. 上位机将读到的唯一硬件序列号与BOOT程序通过加密算法计算出BOOT程序校验数据,并将BOOT程序校验数据储存在嵌入式硬件系统的EEPROM中;步骤5. 上位机将Kernel程序烧录到嵌入式硬件系统的FLASH中;步骤6. 上位机将主程序烧录到嵌入式硬件系统的FLASH中;步骤7. 上位机将读到的唯一硬件序列号与主程序通过加密算法计算出主程序校验数据,并将主程序校验数据储存在嵌入式硬件系统的EEPROM中;步骤8. 上位机确认上述步骤完成,指令嵌入式硬件系统结束烧录过程;所述嵌入式操作系统启动时,BOOT程序和主程序在启动过程中相互校验,一旦校验不通过,程序运行结束,嵌入式操作系统停止工作;BOOT程序和主程序运行步骤如下:步骤11. BOOT程序启动;步骤12. 读取所述嵌入式硬件系统的硬件唯一序列号和烧录在FLASH中的主程序;步骤13. 通过与授权软件相同的加密算法生成主程序校验数据;步骤14. 读取储存在EEPROM中由加密授权软件烧录的主程序的校验数据,并与步骤13生成的主程序校验数据进行比较;步骤15. 如果不匹配,则程序运行结束;如果匹配,则正常跳转启动主程序;步骤16. 主程序启动后,读取所述嵌入式系统硬件唯一序列号和烧录在FLASH中的BOOT程序;步骤17. 通过与授权软件相同的加密算法生成BOOT程序校验数据;步骤18. 读取储存在EEPROM中由加密授权软件烧录的BOOT程序校验数据,并与步骤17生成的BOOT程序校验数据进行比较;步骤19. 如果不匹配,则程序运行结束;如果匹配,主程序正常运行。...

【技术特征摘要】

【专利技术属性】
技术研发人员:梁喜东孙旦均马学童
申请(专利权)人:上海繁易电子科技有限公司
类型:发明
国别省市:上海;31

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

1