发明内容
本发明实施例提供一种基于固件空中传输技术的固件处理方法、装置及系统,用以解决现有技术中移动终端易受非法代码入侵的缺陷,快速实现多固件升级,并提升移动终端的安全性。
本发明实施例提供一种基于固件空中传输技术的固件处理方法,包括:
对至少一个固件升级文件进行校验处理,形成第一校验数据;
所述形成第一校验数据的方法包括:对所述至少一个固件升级文件进行循环冗余校验处理,形成循环冗余校验数据作为所述第一校验数据;或者,对所述至少一个固件升级文件进行MD5处理,形成MD5信息校验数据作为所述第一校验数据;
对所述第一校验数据进行加密处理,形成第一加密数据;
当所述第一校验数据是循环冗余校验数据时,所述对所述第一校验数据进行加密处理,形成第一加密数据,包括:对所述循环冗余校验数据和所述固件升级文件进行私钥加密,形成加密后的数据,所述加密后的数据包括加密后的循环冗余校验数据和加密后的固件升级文件;其中,所述加密后的循环冗余校验数据为所述第一加密数据,所述固件升级包中包括的固件升级文件为所述加密后的固件升级文件;或者,对所述循环冗余校验数据进行MD5处理,形成循环冗余校验数据对应的MD5信息,并对所述对应的MD5信息进行私钥加密,形成所述第一加密数据;将所述第一加密数据、所述第一校验数据与所述固件升级文件合并为固件升级包,并通过空中接口将所述固件升级包发送至移动终端。
本发明实施例还提供一种基于固件空中传输技术的固件升级方法,包括:
通过空中接口接收服务器发送的固件升级包,并存储所述固件升级包至缓存分区;
对存储于所述缓存分区的所述固件升级包进行读取;其中,所述固件升级包中包括:第一加密数据、第一校验数据和固件升级文件;
所述对存储于所述缓存分区的所述固件升级包进行读取,包括:遍历所述缓存分区,获取与所述固件升级包相对应的文件头;从与所述固件升级包相对应的文件头中选取一个有效的文件头作为目标文件头;根据所述目标文件头中的标识,读取与所述标识对应的数据包,并将所述数据包组成所述固件升级包;
对所述固件升级包中的第一加密数据进行解密,形成第二校验数据;
当所述第二校验数据和第一校验数据相一致时,根据所述固件升级包中的固件升级文件对相应的固件进行升级操作。
本发明提供一种服务器,包括:
校验模块,用于对至少一个固件升级文件进行校验处理,形成第一校验数据;
所述校验模块包括:循环冗余校验单元,用于对所述至少一个固件升级文件进行循环冗余校验处理,形成循环冗余校验数据作为所述第一校验数据;和/或MD5单元,用于对所述至少一个固件升级文件进行MD5处理,形成MD5信息校验数据作为所述第一校验数据;
加密模块,对所述校验模块形成的所述第一校验数据进行加密处理,形成第一加密数据;
所述加密模块包括:第二加密单元,用于当所述第一校验数据是循环冗余校验数据时,对所述循环冗余校验数据和所述固件升级文件进行私钥加密,形成加密后的数据,该加密后的数据包括加密后的循环冗余校验数据和加密后的固件升级文件;其中,所述加密后的循环冗余校验数据为所述第一加密数据,所述固件升级包中包括的固件升级文件为所述加密后的固件升级文件;和/或第三加密单元,用于当所述第一校验数据是循环冗余校验数据时,对所述循环冗余校验数据进行MD5处理,形成循环冗余校验数据对应的MD5信息,并对该对应的MD5信息进行私钥加密,形成所述第一加密数据;
处理模块,用于将所述第一加密数据、所述第一校验数据与所述固件升级文件合并为固件升级包,并通过空中接口将所述固件升级包发送至移动终端。
本发明还提供一种移动终端,包括:
接收模块,用于通过空中接口接收服务器发送的固件升级包,并存储所述固件升级包至缓存分区;
读取模块,用于对存储于所述缓存分区的所述固件升级包进行读取;其中,所述固件升级包中包括:第一加密数据、第一校验数据和固件升级文件;
所述读取模块包括:遍历单元,用于遍历所述缓存分区,获取与所述固件升级包相对应的文件头;选取单元,用于从与所述固件升级包相对应的文件头中选取一个有效的文件头作为目标文件头;读取单元,用于根据所述选取单元选取的所述目标文件头中的标识,读取与所述标识对应的数据包,并将所述数据包组成所述固件升级包;
解密模块,用于对所述读取模块读取的所述固件升级包中的第一加密数据进行解密,形成第二校验数据;
升级模块,用于当所述第二校验数据和第一校验数据相一致时,根据所述固件升级包中的固件升级文件对相应的固件进行升级操作。
本发明实施例还提供一种基于固件空中传输技术的固件升级系统,包括:上述服务器和移动终端。
本发明实施例的基于固件空中传输技术的固件处理方法、装置及系统,通过对固件升级文件进行校验、加密及合并处理,解决了现有技术中移动终端易受非法代码入侵的缺陷,能够快速实现多固件升级,并提升了移动终端的安全性。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明基于固件空中传输技术的固件处理方法一实施例的流程图。如图1所示,本发明实施例提供了一种基于固件空中传输技术的固件处理方法,包括:
步骤101、对至少一个固件升级文件进行校验处理,形成第一校验数据;
步骤102、对该第一校验数据进行加密处理,形成第一加密数据;
步骤103、将该第一加密数据、第一校验数据与固件升级文件合并为固件升级包,并通过空中接口将该固件升级包发送至移动终端。
在本发明实施例中,上述步骤可以由服务器执行。移动终端中可能包含多个待升级的固件,如二进制文件、文件系统、升级执行脚本等。在服务器侧,首先对至少一个待升级固件的固件升级文件进行校验处理,形成第一校验数据;然后,对该第一校验数据进行加密处理,形成第一加密数据;最后,将所形成的第一加密数据、第一校验数据与固件升级文件合并为一个固件升级包,并把该固件升级包通过空中接口发送至待升级固件的移动终端,以使得该移动终端根据接收到的固件升级包进行固件升级。
本发明实施例的基于固件空中传输技术的固件处理方法,通过对固件升级文件进行校验、加密及合并处理,形成固件升级包,并在移动终端中根据该固件升级包进行固件升级,解决了现有技术中移动终端易受非法代码入侵的缺陷,能够快速实现多固件升级,并提升了移动终端的安全性。
在上述方法实施例的基础上,步骤101可以包括:
a1、对至少一个固件升级文件进行循环冗余校验(Cyclic RedundancyCheck;以下简称:CRC)处理,形成CRC数据作为第一校验数据;或者
a2、对至少一个固件升级文件进行信息-摘要算法5(Message-DigestAlgorithm 5;以下简称:5MD5)处理,形成MD5信息校验数据作为第一校验数据。
服务器在对固件升级文件进行校验处理时,可以采取CRC方法,也可以采用MD5方法。采用CRC方法形成的校验数据的长度随着固件升级文件的长度的增加而成比例增加,采用MD5方法形成的校验数据的长度是固定的。在后续加密过程中,加密的数据越少效率越高,因此采用MD5方法进行校验处理是一个较佳的方案。
在上述技术方案的基础上,步骤102可以包括:
b1、对该第一校验数据进行私钥加密,将加密后的数据作为第一加密数据。
服务器可以利用内部存储的私钥对第一加密数据进行加密处理,该私钥与移动终端出厂时内置的公钥相匹配。
进一步地,当上述第一校验数据是CRC数据,即采取CRC方法对固件升级文件进行处理时,步骤102可以包括:
b2、对该CRC数据和固件升级文件进行私钥加密,形成加密后的数据,该加密后的数据包括加密后的CRC数据和加密后的固件升级文件;其中,加密后的CRC数据为第一加密数据,此时,固件升级包中包括的固件升级文件为加密后的固件升级文件;或者
b3、对该CRC数据进行MD5处理,形成CRC数据对应的MD5信息,并对该对应的MD5信息进行私钥加密,形成第一加密数据。
同时,当上述第一校验数据时MD5信息校验数据,即采用MD5方法对固件升级文件进行处理时,也可以先对该MD5信息校验数据进行CRC处理,形成CRC数据,再对该CRC数据进行私钥加密,形成第一加密数据。
也就是说,在对固件升级文件进行校验和加密处理的阶段,在进行私钥加密的步骤之前,可以对固件升级文件进行CRC处理或MD5处理或者二者的结合,并且不限定二者的先后顺序。
另外,在上述步骤101之前,本发明实施例提供的基于固件空中传输技术的固件处理方法还可以包括:
c1、获取多个固件升级文件,此时,固件升级包中包括获取的多个固件升级文件。
服务器可以根据表1中的顺序形成固件升级包。
表1
图2为本发明基于固件空中传输技术的固件升级方法一实施例的流程图。如图2所示,本发明实施例提供了一种基于固件空中传输技术的固件升级方法,包括:
步骤201、通过空中接口接收服务器发送的固件升级包,并存储该固件升级包至缓存分区;
步骤202、对存储于缓存分区的固件升级包进行读取;其中,固件升级包包括:第一加密数据、第一校验数据和固件升级文件;
步骤203、对固件升级包中的第一加密数据进行解密,形成第二校验数据;
步骤204、当第二校验数据和第一校验数据相一致时,根据固件升级包中的固件升级文件对相应的固件进行升级操作。
在本发明实施例中,上述步骤可以由移动终端执行。移动终端中可能包含多个待升级的固件,如二进制文件、文件系统、升级执行脚本等。在服务器侧对至少一个待升级固件的固件升级文件进行操作,并将形成的固件升级包通过空中接口发送至待升级固件的移动终端后,该移动终端将接收到的固件升级包存储于缓存(CACHE)分区。移动终端读取缓存分区中的固件升级包,该固件升级包中包括:第一加密数据、第一校验数据和固件升级文件,并对该固件升级包中的第一加密数据进行解密,形成第二校验数据,当第二校验数据与第一校验数据一致时,根据该固件升级包中的固件升级文件对相应的固件进行升级操作。
本发明实施例的基于固件空中传输技术的固件升级方法,移动终端接收到服务器对固件升级文件进行校验、加密及合并处理而形成的固件升级包后,对该固件升级包进行相应的解密操作,以进行固件升级,解决了现有技术中移动终端易受非法代码入侵的缺陷,能够快速实现多固件升级,并提升了移动终端的安全性。
图3为本发明基于固件空中传输技术的固件升级方法另一实施例的流程图。如图3所示,在上述图2所示实施例的基础上,本发明还提出一种基于固件空中传输技术的固件升级方法,包括:
步骤301、通过空中接口接收服务器发送的固件升级包,并存储该固件升级包至缓存分区;
步骤302、遍历缓存分区,获取与固件升级包相对应的文件头;
步骤303、从与固件升级包相对应的文件头中选取一个有效的文件头作为目标文件头;
在CACHE分区中,若存储某个文件,假设其标识(ID)为ID_a,则需要在CACHE分区中写入包含ID_a的文件头;当更新该文件时,将其对应的文件头置为无效(即,在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可以具体包括:
d1、当第一校验数据是CRC数据,并且第一加密数据是对CRC数据进行私钥加密的数据时,直接比较第二校验数据和第一校验数据是否相同;或者
d2、当第一校验数据是MD5信息校验数据,并且第一加密数据是对MD5信息校验数据进行私钥加密的数据时,直接比较第二校验数据和第一校验数据是否相同;或者
d3、当第一校验数据是CRC数据,并且第一加密数据是对CRC数据对应的MD5信息进行私钥加密的数据时,对固件升级包中的CRC数据进行MD5处理,形成第二MD5信息,并验证第二校验数据与第二MD5信息是否一致;其中,第二校验数据为固件升级包中的第一加密数据解密后形成的MD5信息。
移动终端对相应的固件进行升级的操作可以包括:OEMSBL对二进制文件的升级,并设置相关标志;以及移动终端中的另一个模块(RECOVERY)对文件系统的升级和对升级执行脚本的处理。待所有固件升级完成后,重新启动移动终端,即可使用升级后的各固件。
本发明实施例的基于固件空中传输技术的固件升级方法,移动终端接收到服务器对固件升级文件进行校验、加密及合并处理而形成的固件升级包后,对该固件升级包进行相应的解密操作,以进行固件升级,解决了现有技术中操作繁琐及移动终端易受非法代码入侵的缺陷,能够快速实现多固件升级,并提升了移动终端的安全性。
上述实施例所述的技术方案可以在智能手机中实现,假如该智能手机包含ARM9和ARM11两个CPU,主要包括以下模块和文件系统:OEMSBL、AMSS、EFS、BOOT和SYSTEM。利用本发明实施例的技术方案可以一次完成所有固件的升级,表2为一个典型的固件升级包。
表2
在OEMSBL中,完成对OEMSBL,AMSS,BOOT,EFS的升级。在RECOVERY中完成SYSTEM和SCRIPT.ZIP的升级处理。整个升级过程手机只需要重启一次。
该FOTA升级方案,在固件升级包下载过程中,支持断点续传。启动FOTA升级后,移动终端,如,手机,重启一次,完成对手机所有待升级固件的升级。升级过程中支持掉电保护,能够兼容SCRIPT.ZIP升级执行脚本的处理,具有良好的用户体验。
图4为本发明服务器一实施例的结构示意图。如图4所示,本发明实施例提供了一种服务器,用于为移动终端提供固件升级包,包括:校验模块41、加密模块42和处理模块43。其中,校验模块41用于对至少一个固件升级文件进行校验处理,形成第一校验数据;加密模块42用于对校验模块41形成的第一校验数据进行加密处理,形成第一加密数据;处理模块43用于将第一加密数据、第一校验数据与固件升级文件合并为固件升级包,并通过空中接口将该固件升级包发送至移动终端。
在本发明实施例中,移动终端中可能包含多个待升级的固件,如二进制文件、文件系统、升级执行脚本等。本发明实施例提供的服务器,首先对至少一个待升级固件的固件升级文件进行校验处理,形成第一校验数据;然后,对该第一校验数据进行加密处理,形成第一加密数据;最后,将所形成的第一加密数据、第一校验数据与固件升级文件合并为一个固件升级包,并把该固件升级包通过空中接口发送至待升级固件的移动终端,以使得该移动终端根据接收到的固件升级包进行固件升级。
本发明实施例的服务器,通过对固件升级文件进行校验、加密及合并处理,形成固件升级包,并在移动终端中根据该固件升级包进行固件升级,解决了现有技术中移动终端易受非法代码入侵的缺陷,能够快速实现多固件升级,并提升了移动终端的安全性。
图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分区中写入包含ID_a的文件头;当更新该文件时,将其对应的文件头置为无效(即,在CACHE分区中写入一个文件名为“unlinked”、ID为ID_a的文件头),然后重新写入新的文件头(假设更新后的文件的ID为ID_b,则在CACHE分区中写入包含ID_b的文件头)。因此,选取单元72在所有与固件升级包相对应的文件头中,删除与文件名为“unlinked”的文件头的ID相同的文件头,则剩余的文件头均为有效的文件头,从有效的文件头中选取一个作为目标文件头。
在本发明实施例中,在上述图6所示技术方案的基础上,移动终端接收到的固件升级包存储于CACHE分区65,可以采用的是yaffs2文件系统,而移动终端中用于读取该固件升级包的读取模块62可以为OEMSBL,该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所示实施例中的具体描述,在此不再赘述。
本发明实施例的基于固件空中传输技术的固件升级系统,移动终端接收到服务器对固件升级文件进行校验、加密及合并处理而形成的固件升级包后,对该固件升级包进行校验处理,并在校验通过后进行固件升级,解决了现有技术中操作繁琐及移动终端易受非法代码入侵的缺陷,能够快速实现多固件升级,并提升了移动终端的安全性。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。