一种固件的升级方法、装置与流程

文档序号:29966600发布日期:2022-05-11 10:27阅读:99来源:国知局
一种固件的升级方法、装置与流程

1.本发明涉及计算机技术领域,特别地,涉及一种固件的升级方法。


背景技术:

2.目前,通过u盘等可读存储介质升级固件时,在用于引导固件加载的引导程序(uboot)或启动过程中,需要进行如下合法性校验:
3.1、固件升级之前,对用于升级固件的目标固件包的合法性进行校验,该校验将用于目标固件包合法性校验的校验文件与预存于介质中的校验文件进行比较,如果两者一致,则判定目标固件包合法性验证通过,继续后续固件升级流程,否则,判定固件包为非法,终止固件升级流程。
4.2、固件升级时,检测是否存在待升级文件,若存在,则校验待升级文件,校验通过时,说明待升级文件是合法的,开始固件升级操作,否则,待升级文件是不合法的,终止固件升级流程。
5.现有的固件升级方法,只要获取了校验文件制作方法或校验文件,便获得了固件升级权限,这样,固件升级的安全性得不到保证。


技术实现要素:

6.本发明提供了一种固件升级方法,以提高固件升级的安全性。
7.本技术实施例的第一方面,提供一种固件的升级方法,该方法包括:
8.获取用于用户身份合法性校验的鉴权文件,该鉴权文件包括:与设备信息所关联的第一信息以及与所述鉴权文件所关联的第一时间信息的加密信息,
9.解密所述鉴权文件,获得所述第一信息、以及所述第一时间信息,
10.在承载待升级固件的设备侧,获取当前设备关联的第二信息、以及当前设备关联的第二时间信息,
11.利用所述第一信息以及所述第一时间信息,对所述第二信息以及所述第二时间信息进行鉴权,在鉴权通过的情形下,允许进行固件升级。
12.较佳地,所述鉴权文件按照如下方式生成:
13.将所述第一信息进行不可逆加密后,与所述第一时间信息相结合以进行可逆加密,得到所述加密信息;
14.较佳地,该方法进一步包括:在承载待升级固件的设备侧,
15.获取用于升级所述待升级固件的目标固件包,
16.提取所述目标固件包中的版本信息,
17.比较目标固件包的版本信息与所述待升级固件的版本信息,
18.在目标固件包的版本信息高于所述待升级固件的版本信息的情况下,允许进行固件升级。
19.较佳地,所述利用所述第一信息以及所述第一时间信息,对所述第二信息以及所
述第二时间信息进行鉴权,包括:
20.将所述第二信息与所述第一信息、以及所述第二时间信息与所述第一时间信息进行比较,
21.若所述第二信息与所述第一信息一致、且所述第二时间信息与所述第一时间信息之间差值的绝对值小于等于设定的用于表征鉴权文件有效期的时间阈值,则判定为鉴权通过;
22.所述获取用于用户身份合法性校验的鉴权文件,包括:
23.从网络侧或当前设备的本地可读存储介质获取所述鉴权文件。
24.较佳地,所述从网络侧获取所述鉴权文件包括:
25.在网络侧,
26.响应于来自客户端或当前设备的获取鉴权文件请求,进行获取所述设备信息的交互,
27.响应于来自客户端或当前设备用于生成鉴权文件的输入操作,获取所述第一时间信息,根据所述设备信息以及所述第一时间信息生成鉴权文件,并进行保存。
28.较佳地,所述响应于来自客户端或当前设备的获取鉴权文件请求,进行获取设备信息的交互,包括:
29.响应于来自客户端或当前设备用于生成所述鉴权文件服务的登录请求,生成用于生成鉴权文件的网页,该网页至少包括用于获取所述设备信息的交互信息;
30.检测所述网页中必需的交互信息是否完整,如果是,则从所述网页中提取出所述设备信息。
31.较佳地,所述将所述第一信息进行不可逆加密后,与所述第一时间信息相结合以进行可逆加密,得到所述加密信息,包括:
32.将至少包括设备登录密码的设备信息组成字符串,将该字符串通过第一不可逆加密算法生成第一字符串,作为所述第一信息,
33.将所述第一时间信息与所述第一字符串所组成的字符串,通过第一可逆加密生成所述鉴权文件。
34.较佳地,所述利用所述第一信息以及所述第一时间信息,对所述第二信息以及所述第二时间信息进行鉴权,在鉴权通过的情形下,允许进行固件升级,包括:
35.在各个待升级固件的设备的第一信息所包括的设备登录密码相同的情形下,将各个待升级固件的设备按照批处理方式进行鉴权,在鉴权通过的情形下,允许以批处理方式进行固件升级。
36.较佳地,所述与设备信息关联的信息还包括用于标识设备唯一性的设备标识;
37.所述利用所述第一信息以及所述第一时间信息,对所述第二信息以及所述第二时间信息进行鉴权,在鉴权通过的情形下,允许进行固件升级,包括:
38.在各个待升级固件的设备的第一信息包括设备登录密码以及设备标识的情形下,对各个待升级固件的设备逐一进行鉴权,在鉴权通过的情形下,逐一允许进行固件升级。
39.较佳地,所述解密所述鉴权文件,获得所述第一信息、以及所述第一时间信息,包括:
40.通过预设的解密密钥,解密所述鉴权文件,获得所述第一字符串、以及所述第一时
间信息。
41.较佳地,所述获取当前设备关联的第二信息、以及当前设备关联的第二时间信息,包括:
42.将当前设备的至少包括设备登录密码的设备信息成字符串,将该字符串通过第二不可逆加密算法生成第二字符串,得到所述第二信息,其中,第二不可逆加密算法与第一不可逆加密算法相同,
43.将当前设备的实时时间信息作为所述第二时间信息,
44.所述将所述第二信息与所述第一信息、以及所述第二时间信息与所述第一时间信息进行比较,包括:
45.将所述第二字符串与所述第一字符串进行比较,如果一致,则将所述第一时间信息与所述第二时间信息之间差值的绝对值与所述时间阈值比较,如果所述绝对值小于等于所述时间阈值,则判定为鉴权通过;
46.或者,
47.将所述第一时间信息与所述第二时间信息之间差值的绝对值与所述时间阈值比较,如果所述绝对值小于等于所述时间阈值,则将所述第二字符串与所述第一字符串进行比较,如果一致,则判定为鉴权通过。
48.本技术实施例第二方面提供一种固件的升级装置,该装置包括:
49.第一获取模块,用于获取用于用户身份合法性校验的鉴权文件,该鉴权文件包括:与设备信息所关联的第一信息以及与所述鉴权文件所关联的第一时间信息的加密信息,
50.解密模块,用于解密所述鉴权文件,获得所述第一信息、以及所述第一时间信息,
51.第二获取模块,用于获取当前设备关联的第二信息、以及当前设备关联的第二时间信息,
52.鉴权模块,利用所述第一信息以及所述第一时间信息,对所述第二信息以及所述第二时间信息进行鉴权,在鉴权通过的情形下,允许进行固件升级。
53.本技术实施例第三方面,提供一种计算机可读存储介质,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述固件的升级方法的步骤。
54.本技术实施例通过用于用户身份合法性校验的鉴权文件,利用鉴权文件中所包括的与设备信息所关联的第一信息以及与所述鉴权文件所关联的第一时间信息的加密信息,在固件所在的设备端完成鉴权校验,使得固件升级之前除了进行目标固件包合法性校验之外,还增加了鉴权校验,从而有利于抵御非法用户或者未被授权用户进行固件升级操作,有利于固件升级的权限控制和管理,增加固件升级安全性的保障。
附图说明
55.图1为本技术实施例固件升级方法的一种流程示意图。
56.图2为本技术实施例在固件升级之前对用户身份合法性进行校验的一种流程示意图。
57.图3为从网络侧获取鉴权文件的一种流程示意图。
58.图4为进行固件版本信息校验的一种流程示意图。
59.图5为本技术实施例固件升级装置的一种示意图。
60.图6为本技术实施例固件升级装置的另一种示意图。
具体实施方式
61.为了使本技术的目的、技术手段和优点更加清楚明白,以下结合附图对本技术做进一步详细说明。
62.申请人注意到,固件升级之前对固件包的合法性进行校验的过程中,缺少了用于用户鉴权的鉴权信息,并且未管理校验文件的生命周期,这导致只要获知了校验文件制作方法或获取了校验文件,便可获得给固件升级的权限,也就是说,存在固件升级不是由被授权用户触发的风险。
63.有鉴于此,本技术提出了一种固件升级方法,将承载有固件的设备作为鉴权中心,在固件升级之前引入了用户鉴权流程,以对用户的合法性进行校验。
64.参见图1所示,图1为本技术实施例固件升级方法的一种流程示意图。该升级方法包括:
65.步骤101,获取用于用户身份合法性校验的鉴权文件,该鉴权文件包括:与设备信息所关联的第一信息以及与所述鉴权文件所关联的第一时间信息的加密信息,
66.步骤102,解密所述鉴权文件,获得所述第一信息、以及所述第一时间信息,
67.步骤103,在承载待升级固件的设备侧,获取当前设备关联的第二信息、以及当前设备关联的第二时间信息,其中,所述第二信息所包含的要素与所述第一信息所包含的要素一致,
68.其中,要素一致是指第一信息与第二信息包括的文件类型一致,比如第一信息包括文件序列号、密码、时间三种要素,第二信息中包括与第一信息文件类型一致的文件序列号、密码以及时间三种要素。需要说明的是,要素一致不是指的是完全相同,而是包括的类型、数量一致。
69.步骤104,利用所述第一信息以及所述第一时间信息,对所述第二信息以及所述第二时间信息进行鉴权,在鉴权通过的情形下,允许进行固件升级。
70.本技术实施例在待升级固件所在的设备侧利用用于用户身份合法性校验的鉴权文件对用户进行鉴权,杜绝了非法用户进行固件升级操作,确保了合法用户的固件升级操作。
71.为便于理解本技术,以下以一具体实施例来予以说明。
72.参见图2所示,图2为本技术实施例在固件升级之前对用户身份合法性进行校验的一种流程示意图。该固件升级方法包括:在承载有待升级固件的设备侧,
73.步骤201,设备上电,并进入uboot或启动过程。
74.步骤202,获取用于用户身份合法性校验的鉴权文件,若获取成功,则跳转到步骤204,并继续后续校验流程;若获取失败,则跳转到步骤203,并终止校验流程与固件升级流程。
75.其中,鉴权文件预先存储于网络侧,例如,服务器或云平台等,也可以预先存储于u盘等可读存储介质。鉴权文件获取过程将在后续具体说明。
76.鉴权文件是这样生成的:将第一信息进行不可逆加密后,与第一时间信息相结合以进行可逆加密,得到所述加密信息。
77.作为一种示例,至少包括设备登录密码的设备信息组成字符串a1,还可将所述设备登录密码和用于标识设备唯一性的设备标识组成字符串a1,其中,设备标识可以为设备序列号;通过第一不可逆加密算法生成第一字符串b1,该第一字符串即为与设备信息关联的第一信息;再获取当前时间,并与第一字符串b1组成字符串c1,通过第一可逆加密算法对字符串c1进行加密,生成字符串d1,该字符串d1即为用于用户身份识别的鉴权文件。其中,当前时间用于表征生成鉴权文件的第一时间信息,故而,第一时间信息与鉴权文件关联;不可逆加密是单向加密、不能解密的加密方式,可逆加密是单向加密、能解密的加密方式。
78.步骤204,通过预设的解密密钥,解密所获取的鉴权文件,获得如下两部分内容:一部分是设备信息通过第一不可逆加密算法生成的第一字符串信息;另一部分是生成鉴权文件的第一时间信息。
79.步骤205,比对当前设备的设备信息通过第二不可逆加密算法所生成的第二字符串与第一字符串是否一致,若比对一致时,则校验通过,执行步骤206;若比对不一致,则校验失败,执行步骤203,并终止校验流程与升级流程。
80.其中,第二字符串的生成方式与第一字符串的生成方式相同,即:当前设备也需要用与生成第一字符串相同的不可逆加密算法,将至少包括当前设备登录密码的设备信息组成字符串a2,还可将当前设备登录密码和当前设备序列号组成字符串a2;通过第二不可逆加密算法生成第二字符串b2,并将第二字符串b2保存在设备中,该第二字符串即为与当前设备信息关联的第二信息;第二不可逆加密算法与第一不可逆加密算法相同;
81.步骤206,比较生成鉴权文件的第一时间信息与当前设备的第二时间信息之间的时间差值的绝对值,是否不超过所设时间阈值,
82.若在所设时间阈值内,则用户合法性校验通过,跳转到步骤208,开始后续固件升级流程;
83.若不在所设时间阈值内,则用户合法性校验不通过,跳转到步骤203,终止校验流程与升级流程。
84.其中,第二时间信息可以为当前设备的实时时钟(rtc)时间,时间阈值为鉴权文件的有效期,例如,可以设置时间阈值为3分钟。
85.所应理解的是,步骤205、206没有严格的顺序,可以先校验时间信息,再校验第一信息,或者同步进行。
86.上述鉴权过程可以在进行目标固件包合法性校验、以及待升级文件合法性校验之前进行,以有利于发现非法用户并抵御非法用户的升级操作,也可以在目标固件包合法性校验、以及待升级文件合法性校验之后进行。
87.在实际应用中,在安全等级要求不高的情形下,鉴权文件中可以采用设备登录密码组成字符串a1,例如,为便于管理,园区中各个物联网设备采用相同的设备登陆密码,以便于对各个物联网设备按照设定批次的批处理的方式进行鉴权和固件升级;在安全等级要求较高的情形下,鉴权文件中可以采用设备登陆密码以及设备标识组成字符串a1,由于设备标识具有唯一性,这样,可以逐一对固件进行鉴权和固件升级。
88.参见图3所示,图3为从网络侧获取鉴权文件的一种流程示意图。鉴权文件获取过程包括:
89.步骤301,响应于来自客户端或当前设备的获取鉴权文件请求,进行获取所述设备
信息的交互,从而通过人机交互获取待升级固件所在设备的设备信息;
90.具体地,可以是用户登录产品官网等服务平台(网络侧)的客户端,在服务平台自动生成用于生成鉴权文件的网页,通过输入设备序列号、设备登录密码等设备信息,获取用于用户身份标识的鉴权文件。
91.作为一种实施方式,服务平台响应于来自于客户端或当前设备用于生成鉴权文件的登录请求,生成用于生成鉴权文件的网页,该网页中至少包括用于获取设备信息的交互信息,例如,包含有用于输入设备信息的对话框,以用于获得设备信息。其中,客户端可以是位于终端的应用程序。
92.步骤302,响应于用户输入的设备信息,检测网页中必填的信息是否完整,如果是,则提示用户选择鉴权文件的保存路径,否则,提示用户继续填写信息,直至信息填写完毕;
93.步骤303,判断鉴权文件的保存路径是否已选择,如果是,则响应于来自用户的生成鉴权文件的输入,并获取当前时间作为第一时间信息,按照鉴权文件的生成方式,生成鉴权文件,并将鉴权文件保存至所选择的保存路径中,否则,提示用户选择鉴权文件的保存路径。
94.本实施例从网络侧获取鉴权文件的方式,便于鉴权文件的维护和管理,同时有利于提高鉴权文件的安全性。
95.进一步地,鉴于现有的固件升级方法中缺少固件版本升级的限制,会带来低版本固件成功升级到高版本固件设备上风险,可能导致设备某些软件功能不能使用或设备软件完全没法使用情况;例如,设备1中某固件的版本本应为高版本,但被升级为低版本,这导致某些软件功能不能使用。故而,还可以在固件升级过程中进行固件版本信息的校验。
96.参见图4所示,图4为进行固件版本信息校验的一种流程示意图。该校验过程包括:在承载有待升级固件(既有固件)的设备侧,
97.步骤401,设备上电,进入uboot程序或启动过程,并进行鉴权。
98.步骤402,在鉴权通过时,设备通过网络或u盘等可存储介质获取目标固件包的包头内容,若获取成功,则跳转到步骤404,继续进行目标固件包合法性校验;若获取失败,则没有目标固件包,跳转到步骤403,终止固件升级。
99.步骤404,对目标固件包进行合法性校验,若校验成功,则目标固件包为合法固件包,跳转到步骤405;若校验失败,则目标固件包为非法固件包,跳转到步骤403,终止固件升级。
100.步骤405,提取目标固件包的包头中软件版本信息,将所提取的版本信息与设备中既有固件版本信息进行比对,
101.若所提取的版本信息高于既有固件版本,则说明目标固件包为高固件版本,跳转到步骤407,开始后续固件升级流程;
102.若所提取的版本信息低于既有固件版本,则说明目标固件包为低固件版本,跳转到步骤403,终止升级流程。
103.本实施例固件版本信息的校验过程是在完成鉴权和目标固件包合法性校验通过之后进行的,这样,既能够提高升级的效率,又有利于升级的安全性。
104.参见图5所示,图5为本技术实施例固件升级装置的一种示意图。该装置包括:
105.第一获取模块,用于获取用于用户身份合法性校验的鉴权文件,该鉴权文件包括:
对与设备信息所关联的第一信息、以及与所述鉴权文件所关联的第一时间信息进行加密所形成的加密信息,
106.解密模块,用于解密所述鉴权文件,获得所述第一信息、以及所述第一时间信息,
107.第二获取模块,用于获取当前设备关联的第二信息、以及当前设备关联的第二时间信息,
108.鉴权模块,利用所述第一信息以及所述第一时间信息,对所述第二信息以及所述第二时间信息进行鉴权,在鉴权通过的情形下,允许进行固件升级。
109.该装置还包括:
110.版本信息校验模块,用于获取用于升级所述待升级固件的目标固件包,提取所述目标固件包中的版本信息,比较目标固件包的版本信息与所述待升级固件的版本信息,在目标固件包的版本信息高于所述待升级固件的版本信息的情况下,允许进行固件升级。
111.其中,所述鉴权模块被配置为:
112.将所述第二信息与所述第一信息、以及所述第二时间信息与所述第一时间信息进行比较,
113.若所述第二信息与所述第一信息一致、且所述第二时间信息与所述第一时间信息之间差值的绝对值小于等于设定的用于表征鉴权文件有效期的时间阈值,则判定为鉴权通过;
114.所述第一获取模块被配置为:
115.从网络侧或当前设备的本地可读存储介质获取所述鉴权文件。
116.所述第一获取模块被配置为:由网络侧响应于来自客户端或当前设备的获取鉴权文件请求,进行获取所述设备信息的交互,响应于来自客户端或当前设备用于生成鉴权文件的输入操作,获取所述第一时间信息,根据所述设备信息以及所述第一时间信息生成鉴权文件,并进行保存。
117.所述解密模块被配置为:
118.通过预设的解密秘钥,解密所述鉴权文件,获得所述第一字符串、以及所述第一时间信息。
119.所述第二获取模块被配置为:
120.将当前设备的设备序列号、设备登录密码组成字符串,将该字符串通过第二不可逆加密算法生成第二字符串,得到所述第二信息,其中,第二不可逆加密算法与第一不可逆加密算法相同,
121.将当前设备的实时时间信息作为所述第二时间信息,
122.所述鉴权模块被配置为:
123.将所述第二字符串与所述第一字符串进行比较,如果一致,则将所述第一时间信息与所述第二时间信息之间差值的绝对值与所述时间阈值比较,如果所述绝对值小于等于所述时间阈值,则判定为鉴权通过。
124.参见图6所示,图6为本技术实施例固件升级装置的另一种示意图。该装置包括存储器和处理器,所述存储器存储有计算机程序,所述处理器被配置为执行所述计算机程序实现本技术实施例的固件升级方法的步骤。
125.存储器可以包括随机存取存储器(random access memory,ram),也可以包括非易
失性存储器(non-volatile memory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
126.上述的处理器可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(digital signal processing,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
127.本发明实施例还提供了一种计算机可读存储介质,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述固件升级方法的步骤。
128.对于装置/网络侧设备/存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
129.在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
130.以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1