一种电子设备内嵌软件自加密方法与流程

文档序号:13736364阅读:169来源:国知局
一种电子设备内嵌软件自加密方法与流程

本发明涉及数字加密领域,具体涉及一种电子设备内嵌软件自加密方法。



背景技术:

现在的高级电子设备,比如手机,平板电脑、机顶盒等,一般都会都内置mcu,运行内嵌软件。为了软件知识产权保护和信息加密的需要,很多类设备在生产和升级时,需要先将其内嵌软件加密,再烧写或者更新到其存储器内,并且对程序加密的密钥要做到每台设备都不一样,以保证程序在不同的设备之间无法克隆。另外,在烧写正式软件之前,需要运行自检程序对设备的各种硬件进行检测,以挑出硬件不良的产品。

目前,这种对设备的检测和软件的加密,通常用外部的专用计算机来完成。在生产之前,设备的程序存储器烧写的是没有加密的自检和升级程序;硬件装配完成后,先由自检程序对设备硬件进行检测;若自检没有问题,则与外部计算机通信,获得加密的正式运行程序,并更新到设备程序存储器内。

这种做法,导致设备的生产工序繁多,效率低下,并且需要配备专用的计算机。这样毫无疑问导致设备生产成本的增加。



技术实现要素:

本发明所要解决的技术问题是在生产阶段,一次性完成设备自检,正式引导程序的烧写、功能程序的加密,目的在于提供一种电子设备内嵌软件自加密方法,在生产阶段,一次性完成设备自检,正式引导程序的烧写、功能程序的加密,从而大大节省了设备生产环节和所需外部设施。

本发明通过下述技术方案实现:

一种电子设备内嵌软件自加密方法,包括如下步骤:

步骤a)生产前,在mcu芯片内部预置可以读取的芯片序列号chipid和不可读取的根密钥rootkey,内置的根密钥对设备的程序存储器中的数据进行加密和解密的功能逻辑;

步骤b)生产前,在设备的程序存储器中预置不加密的设备初始引导程序、种子程序、设备正式引导程序和设备功能软件;

步骤c)mcu芯片和设备生产完毕后,对设备第一次加电,由初始引导程序加载种子程序运行检测操作;

步骤d)检测操作完毕后,重启设备,设备正式引导程序加载设备功能软件运行;

步骤e)设备正常使用。

本申请文件在电子设备生产前就内嵌没有加密的自检软件,在mcu芯片生产前加入加密自烧写的机制,在烧写正式软件之前,无需借助外部计算机运行自检程序对设备的各种硬件进行检测,而是通过启动电子设备内嵌的自检软件即可快速实现对各种硬件进行检测,以挑出硬件不良的产品。对于电子设备硬件检测合格的产品,通过mcu芯片生产前加入加密自烧写的机制,读取芯片序列号chipid和不可读取的根密钥rootkey,通过内置的根密钥对设备的程序存储器中的升级程序进行加密后更新到设备的程序存储器,程序加密不需要借助外部计算机来实现。本方案中的硬件检测、程序加密以及程序导入利用自有的电子设备和mcu芯片即可自行实现,省去了复杂的来回切换程序,也不需要借助外部计算机,该方法在保证设备软件安全性的同时,简化设备生产工序,加快电子设备生产速度,节省生产成本。

优选的,步骤a)中芯片序列号chipid由密钥生成算法kdf决定,即rootkey=kdf(chipid)。

优选的,步骤c)中种子程序运行检测操作包括如下步骤:

步骤c1)检测设备硬件是否正常;

步骤c2)读取mcu芯片的芯片序列号chipid,运行密钥生成算法kdf,产生根密钥rootkey;

步骤c3)利用根密钥rootkey,调用mcu芯片内置的加密逻辑,对设备功能软件进行加密,并更新到设备的程序存储器,不同的设备mcu芯片的芯片序列号chipid不一样,其根密钥rootkey也不一样,加密后的程序也就不一样;

步骤c4)将设备的程序存储器内的初始引导程序替换为设备正式引导程序,同时删除初始引导程序;

步骤c5)重新启动设备。

优选的,步骤d)中设备正式引导程序加载设备功能软件运行步骤如下:

步骤d1)调用mcu芯片内置的解密逻辑,解密设备功能软件到内存;

步骤d2)从内存运行设备功能程序,设备进入正常使用的状态。

优选的,步骤b)中初始引导程序包括如下步骤:

a1、从外部存储器读取种子程序到内存;

a2、运行种子程序。

优选的,步骤b)中种子程序包括如下步骤:

b1、初始引导程序加载种子程序运行;

b2、判断设备硬件是否完好,若硬件有损坏则结束进程,若完好就读取mcu芯片的芯片序列号chipid;

b3、运行密钥生成算法kdf,得到根密钥rootkey;

b4、从外部存储器读取设备功能软件到内存;

b5、用加密后的功能软件更新到外部存储器;

b6、将外部存储器中的初始引导程序更换为正式引导程序;

b7重启设备。

优选的,步骤b)中设备正式引导程序包括如下步骤:

c1、读取加密设备功能软件到内存;

c2、利用根密钥rootkey解密设备功能软件;

c3、校验设备功能程序,若校验无误则结束进程,若校验有误则从内存运行设备功能程序。

本申请文件在电子设备生产前,预置包含初始引导程序、种子程序、正式引导程序和设备功能软件到设备程序存储器,在生产阶段,一次性完成设备自检,正式引导程序的烧写、功能程序的加密,并且这些操作都是由自带程序自动完成的,避免了由于操作人员操作方式错误而导致程序无法加载的情况发生,操作简单方便,降低了导入程序错误率,同时大大节省了设备生产的环节和所需外部设施。

优选的,密钥生成算法kdf的内容为:选取静态随机存储器srat的预定地址段内的数据作为初始数据,获取与所述初始数据相对应的纠错码,使用所述纠错码对所述初始数据进行纠错结果,根据所述纠错结果生成根密匙。

本发明与现有技术相比,具有如下的优点和有益效果:

1、本发明中的硬件检测、程序加密以及程序导入利用自有的电子设备和mcu芯片即可自行实现,省去了复杂的来回切换程序,也不需要借助外部计算机,该方法在保证设备软件安全性的同时,简化设备生产工序,加快电子设备生产速度,大大节省了设备生产的环节和所需外部设施,节省生产成本。

2、本申请文件在电子设备生产前,预置包含初始引导程序、种子程序、正式引导程序和设备功能软件到设备程序存储器,在生产阶段,一次性完成设备自检,正式引导程序的烧写、功能程序的加密,并且这些操作都是由自带程序自动完成的,避免了由于操作人员操作方式错误而导致程序无法加载的情况发生,操作简单方便,降低了导入程序错误率。

3、本发明中不同的设备mcu芯片的芯片序列号chipid不一样,其根密钥rootkey也不一样,加密后的程序也就不一样;保证了加密程序的独一无二性,避免程序在不同的设备之间克隆。

附图说明

此处所说明的附图用来提供对本发明实施例的进一步理解,构成本申请的一部分,并不构成对本发明实施例的限定。在附图中:

图1为本发明的设备初始原理框图;

图2为初次上电后的程序和数据原理框图;

图3为正常运行时的程序和数据原理框图;

图4为初始引导程序执行流程图;

图5为种子程序执行流程图;

图6为正式引导程序执行流程图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明作进一步的详细说明,本发明的示意性实施方式及其说明仅用于解释本发明,并不作为对本发明的限定。

实施例1:

如图1-6所示,本发明包括一种电子设备内嵌软件自加密方法,包括如下步骤:

步骤a)生产前,在mcu芯片内部预置可以读取的芯片序列号chipid和不可读取的根密钥rootkey,内置的根密钥对设备的程序存储器中的数据进行加密和解密的功能逻辑;

步骤b)生产前,在设备的程序存储器中预置不加密的设备初始引导程序、种子程序、设备正式引导程序和设备功能软件;

步骤c)mcu芯片和设备生产完毕后,对设备第一次加电,由初始引导程序加载种子程序运行检测操作;

步骤d)检测操作完毕后,重启设备,设备正式引导程序加载设备功能软件运行;设备功能软件可以为现有技术中常用的各种功能软件。

步骤e)设备正常使用。

现在的高级电子设备,比如手机,平板电脑、机顶盒等,一般都会内置mcu,运行内嵌软件。为了软件知识产权保护和信息加密的需要,很多类设备在生产和升级时,需要先将其内嵌软件加密,再烧写或者更新到其存储器内,并且对程序加密的密钥要做到每台设备都不一样,以保证程序在不同的设备之间无法克隆。并且在烧写正式软件之前,需要运行自检程序对设备的各种硬件进行检测,以挑出硬件不良的产品。

目前,这种对设备的检测和软件的加密,通常用外部的专用计算机来完成。在生产之前,设备的程序存储器烧写的是没有加密的自检和升级程序;硬件装配完成后,先由自检程序对设备硬件进行检测;若自检没有问题,则与外部计算机通信,获得加密的正式运行程序,并更新到设备程序存储器内。

这种做法,导致设备的生产的工序繁多,效率低下,并且需要配备专用的计算机,而专用的计算机生产成本高,且只能作为特殊用途使用,针对性较强,导致设备生产成本的增加。

本申请文件在电子设备生产前就内嵌没有加密的自检软件,在mcu芯片生产前加入加密自烧写的机制,在烧写正式软件之前,无需借助外部计算机运行自检程序对设备的各种硬件进行检测,而是通过启动电子设备内嵌的自检软件即可快速实现对各种硬件进行检测,以挑出硬件不良的产品。对于电子设备硬件检测合格的产品,通过mcu芯片生产前加入加密自烧写的机制,读取芯片序列号chipid和不可读取的根密钥rootkey,通过内置的根密钥对设备的程序存储器中的升级程序进行加密后更新到设备的程序存储器,程序加密不需要借助外部计算机来实现。本方案中的硬件检测、程序加密以及程序导入利用自有的电子设备和mcu芯片即可自行实现,省去了复杂的来回切换程序,也不需要借助外部计算机,该方法在保证设备软件安全性的同时,简化设备生产工序,加快电子设备生产速度,大大节省了设备生产的环节和所需外部设施,节省生产成本。

实施例2:

本实施例在实施例1的基础上优选如下:步骤a)中芯片序列号chipid由密钥生成算法kdf决定,即rootkey=kdf(chipid)。保证了每个加密后的程序不一样,软件的安全性高。

实施例3:

本实施例在上述实施例的基础上优选如下:步骤c)中种子程序运行检测操作包括如下步骤:

步骤c1)检测设备硬件是否正常;

步骤c2)读取mcu芯片的芯片序列号chipid,运行密钥生成算法kdf,产生根密钥rootkey;

步骤c3)利用根密钥rootkey,调用mcu芯片内置的加密逻辑,对设备功能软件进行加密,并更新到设备的程序存储器,不同的设备mcu芯片的芯片序列号chipid不一样,其根密钥rootkey也不一样,加密后的程序也就不一样;保证了加密程序的独一无二性,避免程序在不同的设备之间克隆。

步骤c4)将设备的程序存储器内的初始引导程序替换为设备正式引导程序,同时删除初始引导程序;

步骤c5)重新启动设备。

步骤d)中设备正式引导程序加载设备功能软件运行步骤如下:

步骤d1)调用mcu芯片内置的解密逻辑,解密设备功能软件到内存;

步骤d2)从内存运行设备功能程序,设备进入正常使用的状态。

如图4所示,步骤b)中初始引导程序包括如下步骤:

a1、从外部存储器读取种子程序到内存;

a2、运行种子程序。

该程序的设置,实现了与种子程序之间的连接。

如图5所示,步骤b)中种子程序包括如下步骤:

b1、初始引导程序加载种子程序运行;

b2、判断设备硬件是否完好,若硬件有损坏则结束进程,若完好就读取mcu芯片的芯片序列号chipid;

b3、运行密钥生成算法kdf,得到根密钥rootkey;

b4、从外部存储器读取设备功能软件到内存;

b5、用加密后的功能软件更新到外部存储器;

b6、将外部存储器中的初始引导程序更换为正式引导程序;

b7重启设备。

该程序的设置实现了对硬件设备的检测以及升级程序加密后引入外部存储器中,而无需借助外界专用的计算机,降低了设备生产成本,保证了硬件设备的安全,提高了效率。

如图6所示,步骤b)中设备正式引导程序包括如下步骤:

c1、读取加密设备功能软件到内存;

c2、利用根密钥rootkey解密设备功能软件;

c3、校验设备功能程序,若校验无误则结束进程,若校验有误则从内存运行设备功能程序。该程序的设置实现将加密软件进行解密后使用,该过程中还实现对功能程序的自行校验,大大降低了操作难度,实现傻瓜式操作,更利于批量化生产,提高效率。

密钥生成算法kdf的内容为:选取静态随机存储器srat的预定地址段内的数据作为初始数据,获取与所述初始数据相对应的纠错码,使用所述纠错码对所述初始数据进行纠错结果,根据所述纠错结果生成根密匙。

本申请文件在电子设备生产前,预置包含初始引导程序、种子程序、正式引导程序和设备功能软件到设备程序存储器,在生产阶段,一次性完成设备自检,正式引导程序的烧写、功能程序的加密,并且这些操作都是由自带程序自动完成的,避免了由于操作人员操作方式错误而导致程序无法加载的情况发生,操作简单方便,降低了导入程序错误率。

以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1