本申请涉及物联网领域,具体而言,涉及一种无线设备固件保护方法。
背景技术:
现今嵌入式设备已经普及到我们生活的方方面面,并且随着无线技术的成熟化,具有无线传输,像是wifi功能的嵌入式设备在生活和工业上得到了广泛的应用,特别是最近几年的物联网的发展,各式各样的物联网嵌入式设备也应运而生,物联网的嵌入式设备由于需要接入到互联网,则物联网的设备都要具有网络接入能力。
也因为嵌入式设备的普及和具有广大的市场和利益,在嵌入式应用领域,随着近些年黑客技术和芯片解剖技术的发展,嵌入式系统所面临的攻击也越来越多,随之而生的防抄板,防逆向技术也引起了产品设计者的重视。产品设计者目前所面临的问题主要是黑客对产品的仿制,逆向。其目的是获得产品设计技术或者降低产品设计成本,或者通过逆向设备中的固件分析设备的安全漏洞。
攻击手段主要是提取产品中的固件程序,进行逆向分析。
目前有一种使用安全芯片的方法,将产品的固件拆分成2个部分,其中一部分存放在安全芯片内,运行的时候解密到工作芯片。这样攻击者得到通用芯片内存储的固件相对容易,但是难以得到存储在安全芯片内的固件。从而无法得到产品的整个固件。这种芯片加密方法要求嵌入式设备中必须添加有特定的加密芯片,这样无疑增加了设备的硬件的成本投入,特别是价格偏低的嵌入式设备中,这样的硬件投入大大增加了硬件设备的成本的百分比。
技术实现要素:
本申请的主要目的在于提供一种无线设备固件保护方法,包括:
烧写工具发送设备的通用唯一识别码至云端服务器;
所述云端服务器通过与所述通用唯一识别码对应的密钥加密核心固件;
所述烧写工具下载经过加密后的所述核心固件;
所述烧写工具烧录所述核心固件到所述设备;
所述设备读取所述核心固件的密文;
解密所述密文,并加载所述密文至ram核心固件明文区。
可选地,所述烧写工具读设备通用唯一识别码。
可选地,所述云端服务器生成与所述通用唯一识别码对应的密钥。
可选地,当解密成功时,继续运行。
可选地,所述烧写工具下载经过加密后的所述核心固件以及普通固件明文。
可选地,所述烧写工具烧录所述核心固件以及所述普通固件到所述设备。
根据本申请的另一个方面,还提供了一种无线设备固件保护系统,包括:
发送模块,用于烧写工具发送设备的通用唯一识别码至云端服务器;
加密模块,用于所述云端服务器通过与所述通用唯一识别码对应的密钥加密核心固件;
下载模块,用于所述烧写工具下载经过加密后的所述核心固件;
烧录模块,用于所述烧写工具烧录所述核心固件到所述设备;
读取模块,用于所述设备读取所述核心固件的密文;
解密模块,用于解密所述密文,并加载所述密文至ram核心固件明文区。
本申请还公开了一种计算机设备,包括存储器、处理器和存储在所述存储器内并能由所述处理器运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述的方法。
本申请还公开了一种计算机可读存储介质,非易失性可读存储介质,其内存储有计算机程序,所述计算机程序在由处理器执行时实现上述任一项所述的方法。
本申请还公开了一种计算机程序产品,包括计算机可读代码,当所述计算机可读代码由计算机设备执行时,导致所述计算机设备执行上述任一项所述的方法。
与现有技术相比,本申请具有如下有益效果:
以使用纯软件的加密方式,无需另外在使用硬件,像是特定的加密芯片,因此在没有额外增加硬性的情况下,减少了嵌入式设备的硬件成本。
核心固件加密,以防止所述嵌入式设备的相关产品被拷贝的可能性。
核心固件加密存储在flash中,难以得到完整固件进行逆向分析。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,使得本申请的其它特征、目的和有益效果变得更明显。本申请的示意性实施例附图及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请一个实施例的无线设备固件保护方法的流程示意图;
图2是根据本申请一个实施例的无线设备固件保护方法的流程示意图;
图3是根据本申请一个实施例的无线设备固件保护方法的流程示意图;
图4是根据本申请一个实施例的无线设备固件保护方法的流程示意图;
图5是根据本申请一个实施例的计算机设备的示意图;以及
图6是根据本申请一个实施例的计算机可读存储介质的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
请参照图1-图4,本申请一实施例提供了一种无线设备固件保护方法,包括:
s1:烧写工具发送设备的通用唯一识别码至云端服务器;
s2:所述云端服务器通过与所述通用唯一识别码对应的密钥加密核心固件;
s3:所述烧写工具下载经过加密后的所述核心固件;
s4:所述烧写工具烧录所述核心固件到所述设备;
s5:所述设备读取所述核心固件的密文;
s6:解密所述密文,并加载所述密文至ram核心固件明文区。
例如,pc烧写工具将设备唯一标识uuid发送到云端服务器;云端服务器通过此uuid对应密钥,并加密核心固件;云端下载加密后的固件到pc烧写工具;pc烧写工具烧录固件到嵌入式设备;嵌入式设备上电后读取核心固件密文;解密核心固件密文后加载到ram核心固件明文区。
在本申请一实施例中,所述烧写工具读设备通用唯一识别码。
例如,pc烧写工具读设备通用唯一识别码,并发送到云端服务器;云端服务器通过此uuid对应密钥,并加密核心固件;云端下载加密后的固件到pc烧写工具;pc烧写工具烧录固件到嵌入式设备;嵌入式设备上电后读取核心固件密文;解密核心固件密文后加载到ram核心固件明文区。
在本申请一实施例中,所述云端服务器生成与所述通用唯一识别码对应的密钥。
例如,pc烧写工具将设备唯一标识uuid发送到云端服务器;云端服务器生成此uuid对应密钥,并通过此秘钥加密核心固件;云端下载加密后的固件到pc烧写工具;pc烧写工具烧录固件到嵌入式设备;嵌入式设备上电后读取核心固件密文;解密核心固件密文后加载到ram核心固件明文区。
在本申请一实施例中,当解密成功时,继续运行。
例如,pc烧写工具将设备唯一标识uuid发送到云端服务器;云端服务器通过此uuid对应密钥,并加密核心固件;云端下载加密后的固件到pc烧写工具;pc烧写工具烧录固件到嵌入式设备;嵌入式设备上电后读取核心固件密文;解密核心固件密文后加载到ram核心固件明文区;如果解密成功继续运行,否则无法继续运行。
在本申请一实施例中,所述烧写工具下载经过加密后的所述核心固件以及普通固件明文。
例如,pc烧写工具将设备唯一标识uuid发送到云端服务器;云端服务器通过此uuid对应密钥,并加密核心固件;云端下载加密后的核心固件以及普通固件明文到pc烧写工具;pc烧写工具烧录核心固件到嵌入式设备;嵌入式设备上电后读取核心固件密文;解密核心固件密文后加载到ram核心固件明文区;如果解密成功继续运行,否则无法继续运行。
在本申请一实施例中,所述烧写工具烧录所述核心固件以及所述普通固件到所述设备。
例如,pc烧写工具将设备唯一标识uuid发送到云端服务器;云端服务器通过此uuid对应密钥,并加密核心固件;云端下载加密后的核心固件以及普通固件明文到pc烧写工具;pc烧写工具烧录核心固件以及普通固件明文到嵌入式设备;嵌入式设备上电后读取核心固件密文;解密核心固件密文后加载到ram核心固件明文区;如果解密成功继续运行,否则无法继续运行。
根据本申请的一实施例,本申请还提供了一种无线设备固件保护系统,包括:
发送模块,用于烧写工具发送设备的通用唯一识别码至云端服务器;
加密模块,用于所述云端服务器通过与所述通用唯一识别码对应的密钥加密核心固件;
下载模块,用于所述烧写工具下载经过加密后的所述核心固件;
烧录模块,用于所述烧写工具烧录所述核心固件到所述设备;
读取模块,用于所述设备读取所述核心固件的密文;
解密模块,用于解密所述密文,并加载所述密文至ram核心固件明文区。
与现有技术相比,本申请具有如下有益效果:
以使用纯软件的加密方式,无需另外在使用硬件,像是特定的加密芯片,因此在没有额外增加硬性的情况下,减少了嵌入式设备的硬件成本。
核心固件加密,以防止所述嵌入式设备的相关产品被拷贝的可能性。
核心固件加密存储在flash中,难以得到完整固件进行逆向分析。
请参照图5,本申请还提供了一种计算机设备,包括存储器、处理器和存储在所述存储器内并能由所述处理器运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述的方法。
请参照图6,一种计算机可读存储介质,非易失性可读存储介质,其内存储有计算机程序,所述计算机程序在由处理器执行时实现上述任一项所述的方法。
一种计算机程序产品,包括计算机可读代码,当所述计算机可读代码由计算机设备执行时,导致所述计算机设备执行上述任一项所述的方法。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
1.一种无线设备固件保护方法,其特征在于,包括:
烧写工具发送设备的通用唯一识别码至云端服务器;
所述云端服务器通过与所述通用唯一识别码对应的密钥加密核心固件;
所述烧写工具下载经过加密后的所述核心固件;
所述烧写工具烧录所述核心固件到所述设备;
所述设备读取所述核心固件的密文;
解密所述密文,并加载所述密文至ram核心固件明文区。
2.根据权利要求1所述的无线设备固件保护方法,其特征在于,所述烧写工具读设备通用唯一识别码。
3.根据权利要求2所述的无线设备固件保护方法,其特征在于,所述云端服务器生成与所述通用唯一识别码对应的密钥。
4.根据权利要求3所述的无线设备固件保护方法,其特征在于,当解密成功时,继续运行。
5.根据权利要求4所述的无线设备固件保护方法,其特征在于,所述烧写工具下载经过加密后的所述核心固件以及普通固件明文。
6.根据权利要求5所述的无线设备固件保护方法,其特征在于,所述烧写工具烧录所述核心固件以及所述普通固件到所述设备。
7.一种无线设备固件保护系统,其特征在于,包括:
发送模块,用于烧写工具发送设备的通用唯一识别码至云端服务器;
加密模块,用于所述云端服务器通过与所述通用唯一识别码对应的密钥加密核心固件;
下载模块,用于所述烧写工具下载经过加密后的所述核心固件;
烧录模块,用于所述烧写工具烧录所述核心固件到所述设备;
读取模块,用于所述设备读取所述核心固件的密文;
解密模块,用于解密所述密文,并加载所述密文至ram核心固件明文区。
8.一种计算机设备,包括存储器、处理器和存储在所述存储器内并能由所述处理器运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-6中任一项所述的方法。
9.一种计算机可读存储介质,非易失性可读存储介质,其内存储有计算机程序,其特征在于,所述计算机程序在由处理器执行时实现如权利要求1-6中任一项所述的方法。
10.一种计算机程序产品,包括计算机可读代码,其特征在于,当所述计算机可读代码由计算机设备执行时,导致所述计算机设备执行权利要求1-6中任一项所述的方法。
技术总结