固件加密方法技术

技术编号:16129370 阅读:27 留言:0更新日期:2017-09-01 21:08
本发明专利技术实施例涉及一种固件加密方法,包括:用户终端通过OTA向服务器发送升级包检测请求;接收服务器反馈的检测结果信息,根据检测结果信息确定服务器具有升级包;通过OTA向服务器发送升级包下载请求;接收服务器下发的升级数据包;升级数据包包括升级包和升级包对应的MD5值;将MD5值写入用户终端的misc分区并存储为第一MD5值,并将升级包进行存储,在设置界面配置升级包的待检测信息;用户终端对设置界面进行检测,当检测到升级包的待检测信息后,接收用户输入的确认升级操作指令;根据确认升级操作指令进入recovery模式;通过MD5值校验后,根据升级包对用户终端的系统进行升级。

Firmware encryption method

The embodiment of the invention relates to a firmware encryption method, user terminal upgrade package detection sends a request to the server through the OTA server; receiving the detection results of the feedback information, the server has the upgrade package according to the test results to determine the information; upgrade package download request to the server by OTA; the upgrade data packet reception server upgrade; the packet including the upgrade package and update the corresponding MD5 value; MD5 value is written to the user terminal misc partition and storage for the first MD5 value, and the upgrade package for storage, in the setting of the interface configuration upgrade package to detect information; user terminal to detect the interface settings, when detected by detecting the information update after receiving confirmation of user input to upgrade the operating instructions; operating instructions according to the confirmed upgrade into recovery mode; the MD5 checksum, according to L Level packs upgrade the user terminal's system.

【技术实现步骤摘要】
固件加密方法
本专利技术涉及计算机
,尤其涉及一种固件加密方法。
技术介绍
固件(firmware),又叫韧件,是一种嵌入在硬件装置中的软件。通常它是位于快闪存储器中,而且可以让使用者更新。随着移动技术的发展,移动终端,如智能手机,不断增加功能,其固件复杂度也随之增加。升级固件一般可以针对手机功能做出一些增强,修正一些小错误,让手机程序运行更流畅,通话质量提高等等。固件升级是指通过专门的升级程序,将硬件中的工作程序或源代码进行改进,使其得到兼容性、性能或者功能上的提高。它与升级驱动程序等不同的是从机器底层进行更新,因而更直接、更有效,性能提高也更明显。这种升级可将机器的性能不断提高,进行将主机的潜力不断发挥出来不过,固件升级会有一定的风险,因而需要对固件升级进行有效管控,往往采用固件加密的方式来实现。而现有的技术都是通过公钥,私钥这种方式对固件进行加密,如果在需要将公钥,私钥对外释放的业务需求下,这种加密方式就无法满足业务需要的要求,达不到有效加密的效果。
技术实现思路
本专利技术的目的是提供一种固件加密方法,通过在升级前将升级包对应的MD5值写入misc分区来进行数据有效性的验证,即便公钥、私钥对外开放,也能够保证系统不会被随意刷机,可防止第三方替换固件,有效地保障了开发者对系统版本的控制。为实现上述目的,本专利技术提供了一种固件加密方法,包括:用户终端通过空中接口OTA向服务器发送升级包检测请求;接收所述服务器反馈的检测结果信息,根据所述检测结果信息确定所述服务器具有所述升级包;所述用户终端通过所述OTA向所述服务器发送升级包下载请求;接收所述服务器下发的升级数据包;所述升级数据包包括所述升级包和所述升级包对应的MD5值;对所述升级数据包进行解析,得到所述升级包和所述MD5值;将所述MD5值写入所述用户终端的misc分区并存储为第一MD5值,并将所述升级包进行存储,在设置界面配置所述升级包的待检测信息;所述用户终端对所述设置界面进行检测,得到所述升级包的待检测信息,并根据所述待检测信息生成升级提示信息;接收用户根据所述升级提示信息输入的确认升级操作指令;根据所述确认升级操作指令进入工程recovery模式;计算所述升级包的MD5值,并从misc分区获取所述第一MD5值,确定所述计算得到的MD5值与所述第一MD5值是否一致;当确定为一致时,根据所述升级包对所述用户终端的系统进行升级。优选的,所述根据所述确认升级操作指令进入工程recovery模式之前,所述方法还包括:对所述升级包进行数据校验。进一步优选的,在所述数据校验通过后,所述方法还包括:向所述用户终端内存储的cache/recovery/command文件中写入特定信息,并且向所述misc分区的指定位置写入特定字段。进一步优选的,在所述根据所述确认升级操作指令进入工程recovery模式之后并且在所述计算所述升级包的MD5值之前,所述方法还包括:读取所述misc分区的所述指定位置,获取所述指定位置的字段的信息;确定所述字段与所述特定字段相一致。进一步优选的,所述方法还包括:当确定所述字段与所述特定字段不一致时,生成第一错误提示信息并显示。优选的,当所述计算得到的MD5值与所述第一MD5值不一致时,所述方法还包括:生成第二错误提示信息并显示。本专利技术实施例提供的固件加密方法,通过在升级前将升级包对应的MD5值写入misc分区来进行数据有效性的验证,即便公钥、私钥对外开放,也能够保证系统不会被随意刷机,可防止第三方替换固件,有效地保障了开发者对系统版本的控制。附图说明图1为本专利技术实施例提供的固件加密方法的流程图。具体实施方式下面通过附图和实施例,对本专利技术的技术方案做进一步的详细描述。本专利技术实施例提供的固件加密方法,主要应用于智能移动终端设备中,尤其是应用与智能手机中。图1为本专利技术实施例提供的固件加密方法的流程图,如图1所示,主要包括如下步骤:步骤101,用户终端通过空中接口(OTA)向服务器发送升级包检测请求;具体的,空中接口(Over-The-Air,OTA)是通过移动通信网(GSM或CDMA)的空中接口对SIM卡数据及应用进行远程管理的技术。空中接口可以采用SMS、WAP、GPRS、CDMA1X等技术。而基于短消息的OTA空中下载技术是OTA技术中最为简单可靠手段。用户终端通过OTA向服务器发送检测请求,在检测请求中携带有用户终端的信息,其中可以具体包括当前固件的版本信息,从而用以检测服务器中是否具有适用于用户终端的固件升级包。步骤102,接收服务器反馈的检测结果信息,根据检测结果信息确定服务器是否具有升级包;具体的,可以根据版本信息来确定服务器中是否具有升级包。比如当版本信息为更新的版本时,确定该固件升级包为所需的升级包。如果不具有升级包,则直接结束该流程。在本例中仅对检测到有升级包的情况进行讨论。步骤103,用户终端通过OTA向服务器发送升级包下载请求;具体的,用户终端在确定服务器中具有所需的升级包时,生成升级包下载请求,通过OTA发送到服务器。升级包下载请求中携带有升级包的信息,以及用户终端的信息。步骤104,接收服务器下发的升级数据包;具体的,服务器在根据升级包下载请求向用户终端下发升级数据包。升级数据包包括升级包和升级包对应的MD5值。MD5即Message-DigestAlgorithm5,也称为信息-摘要算法5,为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护,确保信息传输完整一致。MD5值就像是一个文件的“数字指纹”。每个文件的MD5值是不同的,如果任何人对文件做了任何改动,其MD5值也就是对应的“数字指纹”就会发生变化。比如下载服务器针对一个文件预先提供一个MD5值,用户下载完该文件后,用这个算法重新计算下载文件的MD5值,通过比较这两个值是否相同,就能判断下载的文件是否出错,或者说下载的文件是否被篡改了。步骤105,对升级数据包进行解析,得到升级包和MD5值;具体的,用户终端对服务器下发的升级数据包进行解析,得到升级包和MD5值。步骤106,将MD5值写入用户终端的misc分区并存储为第一MD5值,并将升级包进行存储,在设置界面配置升级包的待检测信息;具体的,android上主要有六个分区:cache,misc,recovery,boot,system,data。其中,boot分区上有Android的引导程序,包括内核和内存操作程序。没有这个分区设备就不能被引导。恢复系统的时候会擦除这个分区,并且必须重新安装引导程序和ROM才能重启系统。system分区上是除了内核和内存操作之外的整个操作系统,里面包含了Android用户接口和预先安装的系统应用。recovery分区被认为是另一个启动分区,启动设备进入recovery控制台可以去执行高级的系统恢复和管理操作。data分区保存着用户数据。通讯录、短信、设置和安装的apps都在这个分区上。擦除这个分区相当于恢复出厂设置,当第一次启动设备的时候或者在安装了官方或者客户的ROM之后系统会自动重建这个分区。当执行恢复出厂设置时,就是在擦除这个分区。cache分区是Android系统存储频繁访问的数据和app的地方。cache是缓存空间,程序和系统用到的缓存数据和指本文档来自技高网...
固件加密方法

【技术保护点】
一种固件加密方法,其特征在于,所述固件加密方法包括:用户终端通过空中接口OTA向服务器发送升级包检测请求;接收所述服务器反馈的检测结果信息,根据所述检测结果信息确定所述服务器具有所述升级包;所述用户终端通过所述OTA向所述服务器发送升级包下载请求;接收所述服务器下发的升级数据包;所述升级数据包包括所述升级包和所述升级包对应的MD5值;对所述升级数据包进行解析,得到所述升级包和所述MD5值;将所述MD5值写入所述用户终端的misc分区并存储为第一MD5值,并将所述升级包进行存储,在设置界面配置所述升级包的待检测信息;所述用户终端对所述设置界面进行检测,得到所述升级包的待检测信息,并根据所述待检测信息生成升级提示信息;接收用户根据所述升级提示信息输入的确认升级操作指令;根据所述确认升级操作指令进入工程recovery模式;计算所述升级包的MD5值,并从misc分区获取所述第一MD5值,确定所述计算得到的MD5值与所述第一MD5值是否一致;当确定为一致时,根据所述升级包对所述用户终端的系统进行升级。

【技术特征摘要】
1.一种固件加密方法,其特征在于,所述固件加密方法包括:用户终端通过空中接口OTA向服务器发送升级包检测请求;接收所述服务器反馈的检测结果信息,根据所述检测结果信息确定所述服务器具有所述升级包;所述用户终端通过所述OTA向所述服务器发送升级包下载请求;接收所述服务器下发的升级数据包;所述升级数据包包括所述升级包和所述升级包对应的MD5值;对所述升级数据包进行解析,得到所述升级包和所述MD5值;将所述MD5值写入所述用户终端的misc分区并存储为第一MD5值,并将所述升级包进行存储,在设置界面配置所述升级包的待检测信息;所述用户终端对所述设置界面进行检测,得到所述升级包的待检测信息,并根据所述待检测信息生成升级提示信息;接收用户根据所述升级提示信息输入的确认升级操作指令;根据所述确认升级操作指令进入工程recovery模式;计算所述升级包的MD5值,并从misc分区获取所述第一MD5值,确定所述计算得到的MD5值与所述第一MD5值是否一致;当确定为一致时,根据所述升级包对所述用户终端的系统进行升级。2....

【专利技术属性】
技术研发人员:丁雄伟李宗亮孙健付强
申请(专利权)人:环球智达科技北京有限公司
类型:发明
国别省市:北京,11

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

1