一种应用升级方法、装置、EPS及介质与流程

文档序号:33464164发布日期:2023-03-15 05:58阅读:52来源:国知局
一种应用升级方法、装置、EPS及介质与流程
一种应用升级方法、装置、eps及介质
技术领域
1.本发明涉及计算机的技术领域,尤其涉及一种应用升级方法、装置、eps及介质。


背景技术:

2.系统eps在对相关软件进行升级之前,需要将软件升级包下载至本地,完成完整性等方面的校验后,完成软件升级包在系统内的安装。
3.eps系统通常基于crc或者checksum等方式对软件升级包进行完整性校验,但是无法保证软件升级包在传输过程中没有被篡改,并且eps容易安装版本较低的软件升级包,或者含有漏洞的软件升级包。因此,需要继续验证软件升级包的版本号的正确性,并验证软件升级包在网络中是否被篡改。


技术实现要素:

4.本发明提供了一种应用升级方法、装置、eps及介质,以解决eps待安装的软件升级包的安全性验证问题。
5.根据本发明的一方面,提供了一种应用升级方法,该方法包括:
6.获取设备制造端发送的eps应用的软件升级包;
7.确定所述eps应用的当前版本号及所述软件升级包对应的目标版本号;
8.当所述目标版本号高于所述当前版本号时,确定第一消息摘要及第二消息摘要;其中,所述第一消息摘要为所述eps基于预设算法对所述软件升级包进行处理确定的消息摘要,所述第二消息摘要为所述设备制造端基于所述预设算法对发送前的软件升级包进行处理确定的消息摘要;
9.当所述第一消息摘要与所述第二消息摘要相同时,基于所述软件升级包对所述eps应用进行升级。
10.根据本发明的另一方面,提供了一种应用升级装置,该装置包括:
11.软件升级包获取模块,用于获取设备制造端发送的eps应用的软件升级包;
12.版本号确定模块,用于确定所述eps应用的当前版本号及所述软件升级包对应的目标版本号;
13.消息摘要确定模块,用于当所述目标版本号高于所述当前版本号时,确定第一消息摘要及第二消息摘要;其中,所述第一消息摘要为所述eps基于预设算法对所述软件升级包进行处理确定的消息摘要,所述第二消息摘要为所述设备制造端基于所述预设算法对发送前的软件升级包进行处理确定的消息摘要;
14.软件升级模块,用于当所述第一消息摘要与所述第二消息摘要相同时,基于所述软件升级包对所述eps应用进行升级。
15.根据本发明的另一方面,提供了一种eps,所述eps包括:
16.至少一个处理器;以及
17.与所述至少一个处理器通信连接的存储器;其中,
18.所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的应用升级方法。
19.根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的应用升级方法。
20.本发明实施例的技术方案,通过eps接收端获取设备制造端发送的eps应用的软件升级包,确定eps的软件当前版本号和软件升级包的目标版本号之间的关系,如果目标版本号高于当前版本号时,继续确定eps基于预设算法对软件升级包进行处理生成的第一消息摘要与设备制造端基于预设算法对发送前的软件升级包进行处理生成的第二消息摘要之间的关系,如果第一消息摘要与所述第二消息摘要相同时,则基于软件升级包对eps应用进行升级。本技术方案,在对eps进行软件升级之前需要验证软件升级包的目标版本号和eps相关应用的当前版本号是否相同,以及第一消息摘要和第二消息摘要的异同,确定是否对eps的相关软件升级,可以防止eps相关软件的版本降级,保证软件升级后的完整性,实现了对eps相关软件的安全升级。
21.应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
22.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
23.图1是根据本发明实施例一提供的一种应用升级方法的流程图;
24.图2是根据本发明实施例提供了一种应用升级方法的软件升级包安全验证的流程图;
25.图3是根据本发明实施例二提供的一种应用升级方法的流程图;
26.图4是根据本发明实施例三提供的一种应用升级装置的结构示意图;
27.图5是根据本发明实施例四提供的一种eps设备的结构示意图。
具体实施方式
28.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
29.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或
描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
30.实施例一
31.图1为本发明实施例一提供了一种应用升级方法的流程图,本实施例可适用于系统内应用软件升级的情况,该方法可以由应用升级装置来执行,该应用升级装置可以采用硬件和/或软件的形式实现,该应用升级装置可配置于任何具有该装置运行环境和可进行网络通信的电子设备中。如图1所示,该方法包括:
32.s110、获取设备制造端发送的eps应用的软件升级包。
33.其中,设备制造端可以是基于计算机语言或者编译语言实现一种算法生成软件升级包并发送给eps。软件升级包可以是用于实现指定功能而集成程序、数据和文档的文件。
34.具体的,设备制造端通过服务器等传输设备发送与eps应用适配的软件升级包给eps,eps接收设备制造端发送的软件升级包。
35.s120、确定所述eps应用的当前版本号及所述软件升级包对应的目标版本号。
36.其中,当前版本号可以是用于标识当前安装在eps上的应用的软件版本信息。目标版本号可以是用于标识软件升级包的软件版本信息,也即基于软件升级包对eps应用升级后的版本号。
37.具体的,可以根据eps应用的当前的安装包确定当前版本号,根据接收的设备制造端发送的软件升级包确定目标版本号。
38.s130、当所述目标版本号高于所述当前版本号时,确定第一消息摘要及第二消息摘要;其中,所述第一消息摘要为所述eps基于预设算法对所述软件升级包进行处理确定的消息摘要,所述第二消息摘要为所述设备制造端基于所述预设算法对发送前的软件升级包进行处理确定的消息摘要。
39.在本发明实施例中,通常即将升级的应用的版本号要高于应用的原有版本号。然而当软件升级包内包含有之前含有漏洞的软件版本时,可能会存在要升级的目标版本号低于当前版本号的现象。因此,判断当前版本号与目标版本号大小关系,当目标版本号高于当前版本号时,说明软件升级包内不包含含有漏洞的软件版本,此时,需要进一步判断从设备制造端发送的软件升级包是否被篡改。可选的,当所述目标版本号低于所述当前版本号时,删除所述软件升级包。具体的,当目标版本号低于当前版本号时,说明软件升级包内包含含有漏洞的软件版本,eps直接删除软件升级包。
40.具体的,当目标版本号高于当前版本号时,确定第一消息摘要和第二消息摘要。其中,第一消息摘要为eps基于预设算法对接收的软件升级包进行处理确定的消息摘要,第二消息摘要为设备制造端基于预设算法对发送前的软件升级包进行处理确定的消息摘要。其中,预设算法可以是根据软件升级包生成相应的消息摘要的算法。消息摘要可以是用于表示软件升级包的信息。
41.可选的,确定第一消息摘要,包括:基于预设哈希算法对所述软件升级包进行哈希运算,生成第一消息摘要。
42.其中,预设哈希算法可以是将软件升级包通过压缩映射成消息摘要的函数。
43.具体的,eps基于预设的哈希算法对接收的软件升级包进行哈希运算,生成第一消息摘要,示例性的,eps通过sha256哈希算法对接收的软件升级包进行哈希运算,生成第一消息摘要。
44.可选的,确定第二消息摘要,包括:获取所述设备制造端发送的签名值;其中,所述签名值为所述设备制造端基于公私钥对中的私钥对所述第二消息摘要进行签名生成的信息;基于所述公私钥对中的公钥对所述签名值进行解密,将解密结果作为第二消息摘要。
45.具体的,设备制造端基于预设哈希算法对传输前的软件升级包进行哈希运算,生成目标消息摘要。其中,设备制造端采用的预设哈希算法与eps生成第一消息摘要时采用的预设哈希算法相同。可以理解的是,这里的目标消息摘要为明文信息,也即非加密的消息摘要。设备制造端基于公私钥对的私钥对目标消息摘要进行签名运算,生成签名值。设备制造端将签名值发送至eps。当eps判定目标版本号高于当前版本号的情况下,eps基于公私钥对中的公钥对签名值进行解密,将解密结果作为第二消息摘要。
46.示例性的,如图2所示,设备制造端基于哈希函数将未传输的软件升级包压缩映射生成第二消息摘要,并通过公私钥对的私钥对第二消息摘要进行签名运算,生成签名值h1。设备制造端将软件升级包、签名值h1和目标版本号v1通过有线传输或者无线传输的方式发送至eps,eps接收设备制造端传输的数据,并判断eps应用的当前版本号与目标版本号大小关系,当目标版本号高于当前版本号时,eps对接收的软件升级包进行哈希运算,生成第一消息摘要,并基于公私钥对的公钥将签名值h1解密生成第二消息摘要。
47.s140、当所述第一消息摘要与所述第二消息摘要相同时,基于所述软件升级包对所述eps应用进行升级。
48.具体的,当第一消息摘要和第二消息摘要相同时,eps安装软件升级包,基于软件升级包升级当前的eps应用。可以理解的是,当第一消息摘要和第二消息摘要相同时,说明在设备制造端向eps发送软件升级包的过程中,软件升级包没有被篡改,基于软件升级包对eps应用进行升级时,可保证eps应用升级的安全性。
49.可选的,当所述第一消息摘要与所述第二消息摘要不同时,删除所述软件升级包。
50.具体的,如果第一消息摘要和第二消息摘要不同,说明在设备制造端向eps发送软件升级包的过程中,软件升级包被篡改,若继续基于该软件升级包对eps应用升级,将导致eps应用升级不安全,此时,eps将删除接收的软件升级包,不对eps应用进行升级操作。
51.本发明实施例的技术方案,通过eps获取设备制造端发送的与eps适配的软件升级包,确定eps的软件当前版本号和软件升级包的目标版本号之间的关系,如果目标版本号高于当前版本号时,继续确定eps基于预设算法对软件升级包进行处理生成的第一消息摘要与设备制造端基于预设算法对发送前的软件升级包进行处理生成的第二消息摘要之间的关系,如果第一消息摘要与所述第二消息摘要相同时,则基于软件升级包对eps应用进行升级。本技术方案,在对eps进行软件升级之前需要验证软件升级包的目标版本号和eps相关应用的当前版本号是否相同,以及eps接收的软件升级包的第一消息摘要和设备制造端发送的软件升级包的第二消息摘要的异同,确定是否对eps的相关软件升级,可以防止eps相关软件的版本降级,保证软件升级后的完整性,实现了对eps相关软件的安全升级。
52.实施例二
53.图3是根据本发明实施例二提供的一种应用升级方法的流程图,本实施例在上述
实施例的基础上进一步细化了应用升级方法的执行过程。如图3所示,该方法包括:
54.s210、由设备制造端生成公私钥对,传输设备检测eps是否具备网络传输能力,当eps与传输设备断开连接时,将公私钥对的公钥保存至控制器的非易失性内存nvm中,传输设备保留公私钥对的私钥。
55.示例性的,由设备制造端,例如oem厂商生成公私钥对,通过服务器检测eps不具备网络传输条件时,将公钥存储到控制器的非易失性内存nvm中,此公钥只可读取,不可更改。
56.s220、设备制造端生成的软件升级包字节的量级比较大,为了降低软件升级时的验证时间,使用预设哈希函数对软件升级包进行压缩映射操作得到第二消息摘要,预设哈希函数可以是sha256。
57.s230、使用私钥对第二消息摘要进行签名得到签名值,签名算法可以是rsa2048,设备制造端oem通过服务器和obd/ota经过can将签名值h1、软件升级包以及软件版本号v1传输至eps。
58.s240、判断当前版本号v2是否小于目标版本号v1,如果小于,执行步骤250,如果不小于,则执行步骤280。
59.s250、eps应用nvm中的公钥对eps接收的签名值h1进行解密得到第一消息摘要。
60.s260、判断第一消息摘要是否等于第二消息摘要,如果第一消息摘要等于第二消息摘要,执行步骤270,如果第一消息摘要不等于第二消息摘要,执行步骤280。
61.s270、软件升级包是由设备制造端签发,且在传输过程中没有被篡改,基于所述软件升级包对所述eps应用进行升级。
62.s280、放弃本次升级,删除软件升级包。
63.本发明实施例的技术方案,通过eps获取设备制造端发送的与eps适配的软件升级包,确定eps的软件当前版本号和软件升级包的目标版本号之间的关系,如果目标版本号高于当前版本号时,继续确定eps基于预设算法对软件升级包进行处理生成的第一消息摘要与设备制造端基于预设算法对发送前的软件升级包进行处理生成的第二消息摘要之间的关系,如果第一消息摘要与所述第二消息摘要相同时,则基于软件升级包对eps应用进行升级。本技术方案,通过对软件升级包的加密和解密,以及双重验证方法,确定对eps的相关软件升级,可以防止eps相关软件的版本降级,保证软件升级后的完整性,实现了对eps相关软件的安全升级。
64.实施例三
65.图4是根据本发明实施例三提供的一种应用升级装置的结构示意图。如图4所示,该装置包括:
66.软件升级包获取模块310,用于获取设备制造端发送的eps应用的软件升级包;
67.版本号确定模块320,用于确定所述eps应用的当前版本号及所述软件升级包对应的目标版本号;
68.消息摘要确定模块330,用于当所述目标版本号高于所述当前版本号时,确定第一消息摘要及第二消息摘要;其中,所述第一消息摘要为所述eps基于预设算法对所述软件升级包进行处理确定的消息摘要,所述第二消息摘要为所述设备制造端基于所述预设算法对发送前的软件升级包进行处理确定的消息摘要;
69.软件升级模块340,用于当所述第一消息摘要与所述第二消息摘要相同时,基于所
述软件升级包对所述eps应用进行升级。
70.本技术实施例中,消息摘要确定模块330包括:
71.第一消息摘要确定单元,用于基于预设哈希算法对所述软件升级包进行哈希运算,生成第一消息摘要。
72.签名值获取单元,用于获取所述设备制造端发送的签名值;其中,所述签名值为所述设备制造端基于公私钥对中的私钥对所述第二消息摘要进行签名生成的信息;
73.第二消息摘要确定单元,用于基于所述公私钥对中的公钥对所述签名值进行解密,将解密结果作为第二消息摘要。
74.本技术实施例中,版本号对应模块320包括:
75.软件包第一删除单元,用于当所述目标版本号低于所述当前版本号时,删除所述软件升级包。
76.本技术实施例中,软件升级模块340包括:
77.软件包第二删除单元,用于当所述第一消息摘要与所述第二消息摘要不同时,删除所述软件升级包。
78.本发明实施例所提供的应用升级装置可执行本发明任意实施例所提供的应用升级方法,具备执行方法相应的功能模块和有益效果。
79.实施例四
80.图5示出了可以用来实施本发明的实施例的eps电子设备10的结构示意图。eps电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。eps电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
81.如图5所示,eps电子设备10包括至少一个处理器11,以及与至少一个处理器11通信连接的存储器,如只读存储器(rom)12、随机访问存储器(ram)13等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器11可以根据存储在只读存储器(rom)12中的计算机程序或者从存储单元18加载到随机访问存储器(ram)13中的计算机程序,来执行各种适当的动作和处理。在ram 13中,还可存储电子设备10操作所需的各种程序和数据。处理器11、rom 12以及ram 13通过总线14彼此相连。输入/输出(i/o)接口15也连接至总线14。
82.eps电子设备10中的多个部件连接至i/o接口15,包括:输入单元16,例如键盘、鼠标等;输出单元17,例如各种类型的显示器、扬声器等;存储单元18,例如磁盘、光盘等;以及通信单元19,例如网卡、调制解调器、无线通信收发机等。通信单元19允许eps电子设备10通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
83.处理器11可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器11的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。处理器11执行上文所描述的各个方法和处理,例如应用升级方法。
84.在一些实施例中,应用升级方法可被实现为计算机程序,其被有形地包含于计算
机可读存储介质,例如存储单元18。在一些实施例中,计算机程序的部分或者全部可以经由rom 12和/或通信单元19而被载入和/或安装到eps电子设备10上。当计算机程序加载到ram 13并由处理器11执行时,可以执行上文描述的应用升级方法的一个或多个步骤。备选地,在其他实施例中,处理器11可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行应用升级方法。
85.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
86.用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
87.在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
88.为了提供与用户的交互,可以在eps电子设备上实施此处描述的系统和技术,该eps电子设备具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
89.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)、区块链网络和互联网。
90.计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务中,存在的管理难度大,业务扩展性弱的缺陷。
91.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
92.上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1