基于固件空中传输技术的固件处理方法、装置及系统的制作方法

文档序号:7758676阅读:127来源:国知局
专利名称:基于固件空中传输技术的固件处理方法、装置及系统的制作方法
技术领域
本发明实施例涉及无线通信技术领域,尤其涉及一种基于固件空中传输 (Firmware Over The Air ;以下简称F0TA)技术的固件处理方法、装置及系统。
背景技术
随着技术的发展,诸如手机等移动终端的功能越来越强大,移动终端中的软件 (称为固件)也越来越庞大。一旦移动终端推向市场而又需要对其固件进行升级时,由于 用户分布面广,传统的升级方法,如制造商召回移动终端进行升级或移动终端通过互联网 进行升级,几乎不可行。因此,利用FOTA技术,对移动终端固件升级的技术得到了应用。FOTA是利用移动 终端的空中接口把升级的数据包发送给移动终端,由移动终端自行完成代码和文件系统等 固件的升级。由于操作简单,可由用户自行完成,FOTA升级方法正越来越受到运营商的青 睐。现有的FOTA升级的一般方法是,通过一定的算法,计算出某一个固件升级前后两 个版本的升级包,然后通过移动终端的空中接口把该升级包下载到用户的移动终端,启动 移动终端中的FOTA升级流程,完成固件的升级,并重启移动终端以启动升级后的固件。在实现本发明过程中,发明人发现现有技术中至少存在如下问题固件升级的升 级包通过空中接口直接传输至移动终端,给移动终端带来受非法代码入侵的威胁。

发明内容
本发明实施例提供一种基于固件空中传输技术的固件处理方法、装置及系统,用 以解决现有技术中移动终端易受非法代码入侵的缺陷,快速实现多固件升级,并提升移动 终端的安全性。本发明实施例提供一种基于固件空中传输技术的固件处理方法,包括对至少一个固件升级文件进行校验处理,形成第一校验数据;对所述第一校验数据进行加密处理,形成第一加密数据;将所述第一加密数据、所述第一校验数据与所述固件升级文件合并为固件升级 包,并通过空中接口将所述固件升级包发送至移动终端。本发明实施例还提供一种基于固件空中传输技术的固件升级方法,包括通过空中接口接收服务器发送的固件升级包,并存储所述固件升级包至缓存分 区;对存储于所述缓存分区的所述固件升级包进行读取;其中,所述固件升级包中包 括第一加密数据、第一校验数据和固件升级文件;对所述固件升级包中的第一加密数据进行解密,形成第二校验数据;当所述第二校验数据和第一校验数据相一致时,根据所述固件升级包中的固件升 级文件对相应的固件进行升级操作。
6
本发明提供一种服务器,包括校验模块,用于对至少一个固件升级文件进行校验处理,形成第一校验数据;加密模块,对所述校验模块形成的所述第一校验数据进行加密处理,形成第一加 密数据;处理模块,用于将所述第一加密数据、所述第一校验数据与所述固件升级文件合 并为固件升级包,并通过空中接口将所述固件升级包发送至移动终端。本发明还提供一种移动终端,包括接收模块,用于通过空中接口接收服务器发送的固件升级包,并存储所述固件升 级包至缓存分区;读取模块,用于对存储于所述缓存分区的所述固件升级包进行读取;其中,所述固 件升级包中包括第一加密数据、第一校验数据和固件升级文件;解密模块,用于对所述读取模块读取的所述固件升级包中的第一加密数据进行解 密,形成第二校验数据;升级模块,用于当所述第二校验数据和第一校验数据相一致时,根据所述固件升 级包中的固件升级文件对相应的固件进行升级操作。本发明实施例还提供一种基于固件空中传输技术的固件升级系统,包括上述服 务器和移动终端。本发明实施例的基于固件空中传输技术的固件处理方法、装置及系统,通过对固 件升级文件进行校验、加密及合并处理,解决了现有技术中移动终端易受非法代码入侵的 缺陷,能够快速实现多固件升级,并提升了移动终端的安全性。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发 明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根 据这些附图获得其他的附图。图1为本发明基于固件空中传输技术的固件处理方法一实施例的流程图;图2为本发明基于固件空中传输技术的固件升级方法一实施例的流程图;图3为本发明基于固件空中传输技术的固件升级方法另一实施例的流程图;图4为本发明服务器一实施例的结构示意图;图5为本发明服务器另一实施例的结构示意图;图6为本发明移动终端一实施例的结构示意图;图7为本发明移动终端另一实施例的结构示意图;图8为本发明基于固件空中传输技术的固件升级系统一实施例的系统框图。
具体实施例方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例 中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是 本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。图1为本发明基于固件空中传输技术的固件处理方法一实施例的流程图。如图1 所示,本发明实施例提供了一种基于固件空中传输技术的固件处理方法,包括步骤101、对至少一个固件升级文件进行校验处理,形成第一校验数据;步骤102、对该第一校验数据进行加密处理,形成第一加密数据;步骤103、将该第一加密数据、第一校验数据与固件升级文件合并为固件升级包, 并通过空中接口将该固件升级包发送至移动终端。在本发明实施例中,上述步骤可以由服务器执行。移动终端中可能包含多个待升 级的固件,如二进制文件、文件系统、升级执行脚本等。在服务器侧,首先对至少一个待升级 固件的固件升级文件进行校验处理,形成第一校验数据;然后,对该第一校验数据进行加密 处理,形成第一加密数据;最后,将所形成的第一加密数据、第一校验数据与固件升级文件 合并为一个固件升级包,并把该固件升级包通过空中接口发送至待升级固件的移动终端, 以使得该移动终端根据接收到的固件升级包进行固件升级。本发明实施例的基于固件空中传输技术的固件处理方法,通过对固件升级文件进 行校验、加密及合并处理,形成固件升级包,并在移动终端中根据该固件升级包进行固件升 级,解决了现有技术中移动终端易受非法代码入侵的缺陷,能够快速实现多固件升级,并提 升了移动终端的安全性。在上述方法实施例的基础上,步骤101可以包括al、对至少一个固件升级文件进行循环冗余校验(Cyclic Redundancy Check;以 下简称CRC)处理,形成CRC数据作为第一校验数据;或者a2、对至少一个固件升级文件进行信息-摘要算法5 (Message-Digest Algorithm 5 ;以下简称5MD5)处理,形成MD5信息校验数据作为第一校验数据。服务器在对固件升级文件进行校验处理时,可以采取CRC方法,也可以采用MD5方 法。采用CRC方法形成的校验数据的长度随着固件升级文件的长度的增加而成比例增加, 采用MD5方法形成的校验数据的长度是固定的。在后续加密过程中,加密的数据越少效率 越高,因此采用MD5方法进行校验处理是一个较佳的方案。在上述技术方案的基础上,步骤102可以包括bl、对该第一校验数据进行私钥加密,将加密后的数据作为第一加密数据。服务器可以利用内部存储的私钥对第一加密数据进行加密处理,该私钥与移动终 端出厂时内置的公钥相匹配。进一步地,当上述第一校验数据是CRC数据,即采取CRC方法对固件升级文件进行 处理时,步骤102可以包括b2、对该CRC数据和固件升级文件进行私钥加密,形成加密后的数据,该加密后的 数据包括加密后的CRC数据和加密后的固件升级文件;其中,加密后的CRC数据为第一加密 数据,此时,固件升级包中包括的固件升级文件为加密后的固件升级文件;或者b3、对该CRC数据进行MD5处理,形成CRC数据对应的MD5信息,并对该对应的MD5 信息进行私钥加密,形成第一加密数据。同时,当上述第一校验数据时MD5信息校验数据,即采用MD5方法对固件升级文件 进行处理时,也可以先对该MD5信息校验数据进行CRC处理,形成CRC数据,再对该CRC数
8据进行私钥加密,形成第一加密数据。也就是说,在对固件升级文件进行校验和加密处理的阶段,在进行私钥加密的步 骤之前,可以对固件升级文件进行CRC处理或MD5处理或者二者的结合,并且不限定二者的 先后顺序。另外,在上述步骤101之前,本发明实施例提供的基于固件空中传输技术的固件 处理方法还可以包括Cl、获取多个固件升级文件,此时,固件升级包中包括获取的多个固件升级文件。服务器可以根据表1中的顺序形成固件升级包。表 1 图2为本发明基于固件空中传输技术的固件升级方法一实施例的流程图。如图2 所示,本发明实施例提供了一种基于固件空中传输技术的固件升级方法,包括步骤201、通过空中接口接收服务器发送的固件升级包,并存储该固件升级包至缓 存分区;步骤202、对存储于缓存分区的固件升级包进行读取;其中,固件升级包包括第 一加密数据、第一校验数据和固件升级文件;步骤203、对固件升级包中的第一加密数据进行解密,形成第二校验数据;步骤204、当第二校验数据和第一校验数据相一致时,根据固件升级包中的固件升 级文件对相应的固件进行升级操作。在本发明实施例中,上述步骤可以由移动终端执行。移动终端中可能包含多个待 升级的固件,如二进制文件、文件系统、升级执行脚本等。在服务器侧对至少一个待升级固 件的固件升级文件进行操作,并将形成的固件升级包通过空中接口发送至待升级固件的移 动终端后,该移动终端将接收到的固件升级包存储于缓存(CACHE)分区。移动终端读取缓 存分区中的固件升级包,该固件升级包中包括第一加密数据、第一校验数据和固件升级文 件,并对该固件升级包中的第一加密数据进行解密,形成第二校验数据,当第二校验数据与第一校验数据一致时,根据该固件升级包中的固件升级文件对相应的固件进行升级操作。本发明实施例的基于固件空中传输技术的固件升级方法,移动终端接收到服务器 对固件升级文件进行校验、加密及合并处理而形成的固件升级包后,对该固件升级包进行 相应的解密操作,以进行固件升级,解决了现有技术中移动终端易受非法代码入侵的缺陷, 能够快速实现多固件升级,并提升了移动终端的安全性。图3为本发明基于固件空中传输技术的固件升级方法另一实施例的流程图。如图 3所示,在上述图2所示实施例的基础上,本发明还提出一种基于固件空中传输技术的固件 升级方法,包括步骤301、通过空中接口接收服务器发送的固件升级包,并存储该固件升级包至缓 存分区;步骤302、遍历缓存分区,获取与固件升级包相对应的文件头;步骤303、从与固件升级包相对应的文件头中选取一个有效的文件头作为目标文 件头;在CACHE分区中,若存储某个文件,假设其标识(ID)为ID_a,则需要在CACHE分区 中写入包含文件头;当更新该文件时,将其对应的文件头置为无效(即,在CACHE分 区中写入一个文件名为“unlinked”、ID为ID_a的文件头),然后重新写入新的文件头(假 设更新后的文件的ID为ID_b,则在CACHE分区中写入包含ID_b的文件头)。因此,在所有 与固件升级包相对应的文件头中,删除与文件名为“unlinked”的文件头的ID相同的文件 头,则剩余的文件头均为有效的文件头,从有效的文件头中选取一个作为目标文件头;步骤304、根据目标文件头中的ID,读取与该ID对应的数据包,并将这些数据包按 顺序排列以组成固件升级包;步骤305、对该固件升级包中的第一加密数据进行公钥解密,将解密后的数据作为 第二校验数据;步骤306、判断第二校验数据与第一校验数据是否一致,若一致,则执行步骤307, 否则,执行步骤310;步骤307、对固件升级文件进行校验处理,形成第三校验数据;在本发明实施例中,如果固件升级包中的固件升级文件为私钥加密后的固件升级 文件,则需首先对其进行公钥解密,然后再进行校验处理;步骤308、验证第三校验数据与固件升级包中的第一校验数据是否一致,若一致, 则执行步骤309,否则,执行步骤310 ;步骤309、根据固件升级包中的固件升级文件对相应的固件进行升级操作;步骤310、不对该固件升级文件对相应的固件进行升级操作,并丢弃固件升级文 件。在本发明实施例中,上述步骤可以由移动终端执行。在上述图2所示的方法实 施例的基础上,移动终端接收到的固件升级包存储于CACHE分区,可以采用的是yaffs2 文件系统,而移动终端中用于读取该固件升级包的模块OEMSBL不支持yaffs2文件系统, 因此,OEMSBL读取缓存分区中的固件升级包的操作可以包括首先,遍历缓存分区,以获 取所有与固件升级包相对应的文件头,如,获取所有符合升级包文件名要求的文件头 ’然 后,在这些文件头中,凡是ID与文件名为“unlinked”的文件头的ID相同,则删除该文件头;接着,从剩余的文件头中根据一定规则选取目标文件头,例如,可以在其中选取块编号 (blocknum)最大的文件头作为目标文件头,当存在多个块编号相等的文件头时,从多个块 编号相等的文件头中选取闪存(Flash)地址最大的文件头作为目标文件头;当选取出目标 文件头后,读取与该目标文件头中的标识对应的数据包,并将这些数据包按顺序排列以组 成完成的固件升级包。进一步地,上述步骤306可以具体包括dl、当第一校验数据是CRC数据,并且第一加密数据是对CRC数据进行私钥加密的 数据时,直接比较第二校验数据和第一校验数据是否相同;或者d2、当第一校验数据是MD5信息校验数据,并且第一加密数据是对MD5信息校验数 据进行私钥加密的数据时,直接比较第二校验数据和第一校验数据是否相同;或者d3、当第一校验数据是CRC数据,并且第一加密数据是对CRC数据对应的MD5信息 进行私钥加密的数据时,对固件升级包中的CRC数据进行MD5处理,形成第二 MD5信息,并 验证第二校验数据与第二 MD5信息是否一致;其中,第二校验数据为固件升级包中的第一 加密数据解密后形成的MD5信息。移动终端对相应的固件进行升级的操作可以包括=OEMSBL对二进制文件的升级, 并设置相关标志;以及移动终端中的另一个模块(RECOVERY)对文件系统的升级和对升级 执行脚本的处理。待所有固件升级完成后,重新启动移动终端,即可使用升级后的各固件。本发明实施例的基于固件空中传输技术的固件升级方法,移动终端接收到服务器 对固件升级文件进行校验、加密及合并处理而形成的固件升级包后,对该固件升级包进行 相应的解密操作,以进行固件升级,解决了现有技术中操作繁琐及移动终端易受非法代码 入侵的缺陷,能够快速实现多固件升级,并提升了移动终端的安全性。上述实施例所述的技术方案可以在智能手机中实现,假如该智能手机包含ARM9 和ARMll两个CPU,主要包括以下模块和文件系统OEMSBL、AMSS、EFS、BOOT禾口 SYSTEM。利用 本发明实施例的技术方案可以一次完成所有固件的升级,表2为一个典型的固件升级包。表 2
11
SCRIPT. ZIP ANDROID RECOVERY 下执行的升级脚本在OEMSBL 中,完成对 0EMSBL,AMSS,BOOT,EFS 的升级。在 RECOVERY 中完成 SYSTEM 和SCRIPT. ZIP的升级处理。整个升级过程手机只需要重启一次。该FOTA升级方案,在固件升级包下载过程中,支持断点续传。启动FOTA升级后, 移动终端,如,手机,重启一次,完成对手机所有待升级固件的升级。升级过程中支持掉电保 护,能够兼容SCRIPT. ZIP升级执行脚本的处理,具有良好的用户体验。图4为本发明服务器一实施例的结构示意图。如图4所示,本发明实施例提供了 一种服务器,用于为移动终端提供固件升级包,包括校验模块41、加密模块42和处理模块 43。其中,校验模块41用于对至少一个固件升级文件进行校验处理,形成第一校验数据;加 密模块42用于对校验模块41形成的第一校验数据进行加密处理,形成第一加密数据;处理 模块43用于将第一加密数据、第一校验数据与固件升级文件合并为固件升级包,并通过空 中接口将该固件升级包发送至移动终端。在本发明实施例中,移动终端中可能包含多个待升级的固件,如二进制文件、文件 系统、升级执行脚本等。本发明实施例提供的服务器,首先对至少一个待升级固件的固件升 级文件进行校验处理,形成第一校验数据;然后,对该第一校验数据进行加密处理,形成第 一加密数据;最后,将所形成的第一加密数据、第一校验数据与固件升级文件合并为一个固 件升级包,并把该固件升级包通过空中接口发送至待升级固件的移动终端,以使得该移动 终端根据接收到的固件升级包进行固件升级。
12
本发明实施例的服务器,通过对固件升级文件进行校验、加密及合并处理,形成固 件升级包,并在移动终端中根据该固件升级包进行固件升级,解决了现有技术中移动终端 易受非法代码入侵的缺陷,能够快速实现多固件升级,并提升了移动终端的安全性。图5为本发明服务器另一实施例的结构示意图。如图5所示,在上述服务器实施 例的基础上,校验模块41可以包括CRC单元51和/或MD5单元52。其中,CRC单元51用 于对至少一个固件升级文件进行CRC处理,形成CRC数据作为第一校验数据;MD5单元52用 于对至少一个固件升级文件进行MD5处理,形成MD5信息校验数据作为第一校验数据。校验模块41在对固件升级文件进行校验处理时,可以采取CRC方法,也可以采用 MD5方法。采用CRC方法形成的校验数据的长度随着固件升级文件的长度的增加而成比例 增加,采用MD5方法形成的校验数据的长度是固定的。在后续加密过程中,加密的数据越少 效率越高,因此采用MD5方法进行校验处理是一个较佳的方案。在上述技术方案的基础上,加密模块42可以包括第一加密单元53。该第一加密 单元53可以用于对第一校验数据进行私钥加密,将加密后的数据作为第一加密数据。第一加密单元53可以利用服务器内部存储的私钥对第一加密数据进行加密处 理,该私钥与移动终端出厂时内置的公钥相匹配。进一步地,加密模块42可以包括第二加密单元54和/或第三加密单元55。其 中,第二加密单元54用于当第一校验数据是CRC数据时,对该CRC数据和固件升级文件进 行私钥加密,形成加密后的数据,该加密后的数据包括加密后的CRC数据和加密后的固件 升级文件;其中,加密后的CRC数据为第一加密数据,固件升级包中包括的固件升级文件为 加密后的固件升级文件;第三加密单元55用于当第一校验数据是CRC数据时,对该CRC数 据进行MD5处理,形成CRC数据对应的MD5信息,并对该对应的MD5信息进行私钥加密,形 成第一加密数据。另外,本发明实施例所提供的移动终端,还可以进一步包括获取模块56,该获取 模块56在校验模块41对至少一个固件升级文件进行校验处理之前,获取多个固件升级文 件;其中,固件升级包中包括上述多个固件升级文件。本发明实施例的服务器,通过对固件升级文件进行校验、加密及合并处理,形成固 件升级包,并在移动终端中根据该固件升级包进行固件升级,解决了现有技术中操作繁琐 及移动终端易受非法代码入侵的缺陷,能够快速实现多固件升级,并提升了移动终端的安 全性。图6为本发明移动终端一实施例的结构示意图。如图6所示,本发明实施例提供了 一种具有升级固件功能的移动终端,包括接收模块61、读取模块62、解密模块63和升级模 块64。其中,接收模块61用于通过空中接口接收服务器发送的固件升级包,并存储该固件 升级包至缓存分区65 ;读取模块62用于对存储于缓存分区65的该固件升级包进行读取, 其中,固件升级包中包括第一加密数据、第一校验数据和固件升级文件;解密模块63用于 对读取模块62读取的固件升级包中的第一加密数据进行解密,形成第二校验数据;升级模 块64用于当第二校验数据和第一校验数据相一致时,根据固件升级包中的固件升级文件 对相应的固件进行升级操作。在本发明实施例中,移动终端中可能包含多个待升级的固件,如二进制文件、文件 系统、升级执行脚本等。在服务器侧对至少一个待升级固件的固件升级文件进行操作,并将形成的固件升级包通过空中接口发送至待升级固件的移动终端后,该移动终端中的接收模 块61将接收到的固件升级包存储于缓存(CACHE)分区65。进一步地,读取模块62读取缓 存分区65中的固件升级包,该固件升级包中包括第一加密数据、第一校验数据和固件升 级文件,解密模块63对该固件升级包中的第一加密数据进行解密,形成第二校验数据,当 第二校验数据与第一校验数据一致时,升级模块64根据该固件升级包中的固件升级文件 对相应的固件进行升级操作。本发明实施例的移动终端,接收模块接收到服务器对固件升级文件进行校验、加 密及合并处理而形成的固件升级包后,校验模块对该固件升级包进行相应的解密操作,以 进行固件升级,解决了现有技术中移动终端易受非法代码入侵的缺陷,能够快速实现多固 件升级,并提升了移动终端的安全性。图7为本发明移动终端另一实施例的结构示意图。如图7所示,在上述移动终端 实施例的基础上,读取模块62可以包括遍历单元71、选取单元72和读取单元73。其中, 遍历单元71用于遍历缓存分区65,获取与固件升级包相对应的文件头;选取单元72用于 从与固件升级包相对应的文件头中选取一个有效的目标文件头;读取单元73用于根据选 取单元72选取的目标文件头中的标识,读取与该标识对应的数据包,并将这些数据包按顺 序排列以组成固件升级包。在CACHE分区65中,若存储某个文件,假设其标识(ID)为ID_a,则需要在CACHE分 区中写入包含文件头;当更新该文件时,将其对应的文件头置为无效(即,在CACHE 分区中写入一个文件名为“unlinked”、ID为ID_a的文件头),然后重新写入新的文件头 (假设更新后的文件的ID为ID_b,则在CACHE分区中写入包含ID_b的文件头)。因此,选 取单元72在所有与固件升级包相对应的文件头中,删除与文件名为“unlinked”的文件头 的ID相同的文件头,则剩余的文件头均为有效的文件头,从有效的文件头中选取一个作为 目标文件头。在本发明实施例中,在上述图6所示技术方案的基础上,移动终端接收到的固件 升级包存储于CACHE分区65,可以采用的是yaffs2文件系统,而移动终端中用于读取该固 件升级包的读取模块62可以为0EMSBL,该OEMSBL不支持yaffs2文件系统,因此,遍历单元 71遍历缓存分区,以获取所有与固件升级包相对应的文件头,如,获取所有符合升级包文件 名要求的文件头;然后,选取单元72在这些文件头中,凡是ID与文件名为“unlinked”的文 件头的ID相同,则删除该文件头,从剩余的文件头中根据一定规则选取目标文件头,例如, 选取单元72可以包括用于在与固件升级包相对应的有效的文件头中选取blocknum最大的 文件头作为目标文件头的第一选取子单元,和用于当存在多个blocknum相等的文件头时, 从多个blocknum相等的文件头中选取Flash地址最大的文件头作为目标文件头的第二选 取子单元;当选取出目标文件头后,读取单元73读取与该目标文件头中的标识对应的数据 包,并将这些数据包按顺序排列以组成固件升级包。进一步地,解密模块63具体用于对固件升级包中的第一加密数据进行公钥解密, 将解密后的数据作为第二校验数据。更进一步地,本发明实施例所提供的移动终端还可以包括判断模块74。该判断 模块74用于在解密模块63对固件升级包中的第一加密数据进行解密,形成第二校验数据 之后,判断第二校验数据和第一校验数据是否一致;该判断模块74可以包括第一比较单元75、第二比较单元76和/或第三比较单元77。其中,第一比较单元75用于当第一校验 数据是CRC数据,并且第一加密数据是对该CRC数据进行私钥加密的数据时,直接比较第二 校验数据和第一校验数据是否相同;第二比较单元76用于当第一校验数据是MD5信息校验 数据,并且第一加密数据是对该MD5信息校验数据进行私钥加密的数据时,直接比较第二 校验数据和第一校验数据是否相同;第三比较单元77用于当第一校验数据是CRC数据,并 且第一加密数据是对该CRC数据对应的MD5信息进行私钥加密的数据时,对固件升级包中 的CRC数据进行MD5处理,形成第二 MD5信息,并验证第二校验数据与第二 MD5信息是否一 致;其中,第二校验数据为固件升级包中的第一加密数据解密后形成的MD5信息。再进一步地,本发明实施例中的移动终端还可以包括校验模块78和验证模块 79。其中,校验模块78用于在升级模块64根据固件升级包中的固件升级文件对相应的固 件进行升级操作之前,对固件升级文件进行校验处理,形成第三校验数据;验证模块79用 于验证第三校验数据与固件升级包中的第一校验数据是否一致;此时,如果第三校验数据 与第一校验数据一致,升级模块64用于根据固件升级包中的固件升级文件对相应的固件 进行升级操作;否则,不对该固件升级文件对相应的固件进行升级操作,并丢弃该固件升级 文件。本发明实施例的移动终端,接收模块接收到服务器对固件升级文件进行校验、加 密及合并处理而形成的固件升级包后,校验模块对该固件升级包进行校验处理,并在校验 通过后升级模块进行固件升级,解决了现有技术中操作繁琐及移动终端易受非法代码入侵 的缺陷,能够快速实现多固件升级,并提升了移动终端的安全性。图8为本发明基于固件空中传输技术的固件升级系统一实施例的系统框图。如图 8所述,本发明实施例提供了一种基于固件空中传输技术的固件升级系统,包括服务器81 和移动终端82。本系统实施例中服务器81的功能如上述图4或图5所示实施例中的具体描述,移 动终端82的功能如上述图6或图7所示实施例中的具体描述,在此不再赘述。本发明实施例的基于固件空中传输技术的固件升级系统,移动终端接收到服务器 对固件升级文件进行校验、加密及合并处理而形成的固件升级包后,对该固件升级包进行 校验处理,并在校验通过后进行固件升级,解决了现有技术中操作繁琐及移动终端易受非 法代码入侵的缺陷,能够快速实现多固件升级,并提升了移动终端的安全性。本领域普通技术人员可以理解实现上述方法实施例的全部或部分步骤可以通过 程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序 在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括R0M、RAM、磁碟或者 光盘等各种可以存储程序代码的介质。最后应说明的是以上实施例仅用以说明本发明的技术方案,而非对其限制;尽 管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然 可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替 换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精 神和范围。
权利要求
一种基于固件空中传输技术的固件处理方法,其特征在于,包括对至少一个固件升级文件进行校验处理,形成第一校验数据;对所述第一校验数据进行加密处理,形成第一加密数据;将所述第一加密数据、所述第一校验数据与所述固件升级文件合并为固件升级包,并通过空中接口将所述固件升级包发送至移动终端。
2.根据权利要求1所述的基于固件空中传输技术的固件处理方法,其特征在于,所述 对至少一个固件升级文件进行校验处理,形成第一校验数据,包括对所述至少一个固件升级文件进行循环冗余校验处理,形成循环冗余校验数据作为所 述第一校验数据;或者,对所述至少一个固件升级文件进行MD5处理,形成MD5信息校验数据作为所述第一校 验数据。
3.根据权利要求1或2所述的基于固件空中传输技术的固件处理方法,其特征在于,所 述对所述第一校验数据进行加密处理,形成第一加密数据,包括对所述第一校验数据进行私钥加密,将加密后的数据作为所述第一加密数据。
4.根据权利要求2所述的基于固件空中传输技术的固件处理方法,其特征在于,当所 述第一校验数据是循环冗余校验数据时,所述对所述第一校验数据进行加密处理,形成第 一加密数据,包括对所述循环冗余校验数据和所述固件升级文件进行私钥加密,形成加密后的数据,所 述加密后的数据包括加密后的循环冗余校验数据和加密后的固件升级文件;其中,所述加 密后的循环冗余校验数据为所述第一加密数据,所述固件升级包中包括的固件升级文件为 所述加密后的固件升级文件;或者,对所述循环冗余校验数据进行MD5处理,形成循环冗余校验数据对应的MD5信息,并对 所述对应的MD5信息进行私钥加密,形成所述第一加密数据。
5.根据权利要求1所述的基于固件空中传输技术的固件处理方法,其特征在于,在所 述对至少一个固件升级文件进行校验处理之前,还包括获取多个固件升级文件;其中,所述固件升级包中包括所述多个固件升级文件。
6.一种基于固件空中传输技术的固件升级方法,其特征在于,包括通过空中接口接收服务器发送的固件升级包,并存储所述固件升级包至缓存分区; 对存储于所述缓存分区的所述固件升级包进行读取;其中,所述固件升级包中包括 第一加密数据、第一校验数据和固件升级文件;对所述固件升级包中的第一加密数据进行解密,形成第二校验数据; 当所述第二校验数据和第一校验数据相一致时,根据所述固件升级包中的固件升级文 件对相应的固件进行升级操作。
7.根据权利要求6所述的基于固件空中传输技术的固件升级方法,其特征在于,所述 对存储于所述缓存分区的所述固件升级包进行读取,包括遍历所述缓存分区,获取与所述固件升级包相对应的文件头; 从与所述固件升级包相对应的文件头中选取一个有效的文件头作为目标文件头; 根据所述目标文件头中的标识,读取与所述标识对应的数据包,并将所述数据包组成 所述固件升级包。
8.根据权利要求7所述的基于固件空中传输技术的固件升级方法,其特征在于,所述 从与所述固件升级包相对应的文件头中选取一个有效的文件头作为目标文件头,包括在与所述固件升级包相对应的有效的文件头中选取块编号最大的文件头作为所述目 标文件头,当存在多个块编号相等的文件头时,从所述多个块编号相等的文件头中选取闪 存地址最大的文件头作为所述目标文件头。
9.根据权利要求6所述的基于固件空中传输技术的固件升级方法,其特征在于,所述 对所述固件升级包中的第一加密数据进行解密,形成第二校验数据,包括对所述固件升级包中的所述第一加密数据进行公钥解密,将解密后的数据作为第二校 验数据。
10.根据权利要求9所述的基于固件空中传输技术的固件升级方法,其特征在于,在所 述对所述固件升级包中的第一加密数据进行解密,形成第二校验数据之后,还包括判断所述第二校验数据和第一校验数据是否一致; 所述判断所述第二校验数据和第一校验数据是否一致,包括 当所述第一校验数据是循环冗余校验数据,并且所述第一加密数据是对所述循环冗余 校验数据进行私钥加密的数据时,直接比较所述第二校验数据和第一校验数据是否相同; 或者当所述第一校验数据是MD5信息校验数据,并且所述第一加密数据是对所述MD5信息 校验数据进行私钥加密的数据时,直接比较所述第二校验数据和第一校验数据是否相同; 或者当所述第一校验数据是循环冗余校验数据,并且所述第一加密数据是对所述循环冗余 校验数据对应的MD5信息进行私钥加密的数据时,对所述固件升级包中的所述循环冗余校 验数据进行MD5处理,形成第二 MD5信息,并验证所述第二校验数据与所述第二 MD5信息是 否一致;其中,第二校验数据为所述固件升级包中的所述第一加密数据解密后形成的MD5信息ο
11.根据权利要求6至10中任一所述的基于固件空中传输技术的固件升级方法,其特 征在于,在所述根据所述固件升级包中的固件升级文件对相应的固件进行升级操作之前, 还包括对所述固件升级文件进行校验处理,形成第三校验数据; 验证所述第三校验数据与所述固件升级包中的第一校验数据是否一致; 如果一致,则根据所述固件升级包中的固件升级文件对相应的固件进行升级操作;否 则,不对该固件升级文件对相应的固件进行升级操作,并丢弃所述固件升级文件。
12.一种服务器,其特征在于,包括校验模块,用于对至少一个固件升级文件进行校验处理,形成第一校验数据; 加密模块,对所述校验模块形成的所述第一校验数据进行加密处理,形成第一加密数据;处理模块,用于将所述第一加密数据、所述第一校验数据与所述固件升级文件合并为 固件升级包,并通过空中接口将所述固件升级包发送至移动终端。
13.根据权利要求12所述的服务器,其特征在于,所述校验模块包括循环冗余校验单元,用于对所述至少一个固件升级文件进行循环冗余校验处理,形成循环冗余校验数据作为所述第一校验数据;和/或MD5单元,用于对所述至少一个固件升级文件进行MD5处理,形成MD5信息校验数据作 为所述第一校验数据。
14.根据权利要求12或13所述的服务器,其特征在于,所述加密模块包括第一加密单元,用于对所述第一校验数据进行私钥加密,将加密后的数据作为所述第 一加密数据。
15.根据权利要求13所述的服务器,其特征在于,所述加密模块包括第二加密单元,用于当所述第一校验数据是循环冗余校验数据时,对所述循环冗余校 验数据和所述固件升级文件进行私钥加密,形成加密后的数据,该加密后的数据包括加密 后的循环冗余校验数据和加密后的固件升级文件;其中,所述加密后的循环冗余校验数据 为所述第一加密数据,所述固件升级包中包括的固件升级文件为所述加密后的固件升级文 件;和/或第三加密单元,用于当所述第一校验数据是循环冗余校验数据时,对所述循环冗余校 验数据进行MD5处理,形成循环冗余校验数据对应的MD5信息,并对该对应的MD5信息进行 私钥加密,形成所述第一加密数据。
16.根据权利要求12所述的服务器,其特征在于,还包括获取模块,用于在所述校验模块对至少一个固件升级文件进行校验处理之前,获取多 个固件升级文件;其中,所述固件升级包中包括所述多个固件升级文件。
17.—种移动终端,其特征在于,包括接收模块,用于通过空中接口接收服务器发送的固件升级包,并存储所述固件升级包 至缓存分区;读取模块,用于对存储于所述缓存分区的所述固件升级包进行读取;其中,所述固件升 级包中包括第一加密数据、第一校验数据和固件升级文件;解密模块,用于对所述读取模块读取的所述固件升级包中的第一加密数据进行解密, 形成第二校验数据;升级模块,用于当所述第二校验数据和第一校验数据相一致时,根据所述固件升级包 中的固件升级文件对相应的固件进行升级操作。
18.根据权利要求17所述的移动终端,其特征在于,所述读取模块包括遍历单元,用于遍历所述缓存分区,获取与所述固件升级包相对应的文件头;选取单元,用于从与所述固件升级包相对应的文件头中选取一个有效的文件头作为目 标文件头;读取单元,用于根据所述选取单元选取的所述目标文件头中的标识,读取与所述标识 对应的数据包,并将所述数据包组成所述固件升级包。
19.根据权利要求18所述的移动终端,其特征在于,所述选取单元包括第一选取子单元,用于在与所述固件升级包相对应的有效的文件头中选取块编号最大 的文件头作为所述目标文件头;第二选取子单元,用于当存在多个块编号相等的文件头时,从所述多个块编号相等的 文件头中选取闪存地址最大的文件头作为所述目标文件头。
20.根据权利要求17所述的移动终端,其特征在于,所述解密模块具体用于对所述固件升级包中的所述第一加密数据进行公钥解密,将解密后的数据作为第二校验数据。
21.根据权利要求20所述的移动终端,其特征在于,还包括判断模块,用于在所述解密模块对所述固件升级包中的第一加密数据进行解密,形成 第二校验数据之后,判断所述第二校验数据和第一校验数据是否一致;所述判断模块包括第一比较单元,用于当所述第一校验数据是循环冗余校验数据,并且所述第一加密数 据是对所述循环冗余校验数据进行私钥加密的数据时,直接比较所述第二校验数据和第一 校验数据是否相同;第二比较单元,用于当所述第一校验数据是MD5信息校验数据,并且所述第一加密数 据是对所述MD5信息校验数据进行私钥加密的数据时,直接比较所述第二校验数据和第一 校验数据是否相同;或第三比较单元,用于当所述第一校验数据是循环冗余校验数据,并且所述第一加密数 据是对所述循环冗余校验数据对应的MD5信息进行私钥加密的数据时,对所述固件升级包 中的所述循环冗余校验数据进行MD5处理,形成第二 MD5信息,并验证所述第二校验数据与 所述第二 MD5信息是否一致;其中,第二校验数据为所述固件升级包中的所述第一加密数 据解密后形成的MD5信息。
22.根据权利要求17至21中任一所述的移动终端,其特征在于,还包括校验模块,用于在所述升级模块根据所述固件升级包中的固件升级文件对相应的固件 进行升级操作之前,对所述固件升级文件进行校验处理,形成第三校验数据;验证模块,用于验证所述第三校验数据与所述固件升级包中的第一校验数据是否一致;所述升级模块用于如果所述第三校验数据与所述第一校验数据一致,则根据所述固件 升级包中的固件升级文件对相应的固件进行升级操作;否则,不对所述固件升级文件对相 应的固件进行升级操作,并丢弃所述固件升级文件。
23.一种基于固件空中传输技术的固件升级系统,其特征在于,包括如权利要求12至 16中任一所述的服务器,以及如权利要求17至22中任一所述的移动终端。
全文摘要
本发明实施例提供一种基于固件空中传输技术的固件处理方法、装置及系统。该方法包括对至少一个固件升级文件进行校验处理,形成第一校验数据;对所述第一校验数据进行加密处理,形成第一加密数据;将所述第一加密数据、所述第一校验数据与所述固件升级文件合并为固升级包,并通过空中接口将所述固件升级包发送至移动终端。该装置包括校验模块、加密模块和处理模块。该系统包括服务器和移动终端。本发明实施例通过对固件升级文件进行校验、加密及合并处理,解决了现有技术中移动终端易受非法代码入侵的缺陷,能够快速实现多固件升级,并提升了移动终端的安全性。
文档编号H04L1/00GK101924607SQ20101026884
公开日2010年12月22日 申请日期2010年8月27日 优先权日2010年8月27日
发明者李翔宇, 贾志峰, 钟鸣, 雷鹏 申请人:华为终端有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1