固件升级方法、装置、电子设备及可读存储介质与流程

xiaoxiao1天前  3


本发明涉及计算机,尤其涉及一种固件升级方法、装置、电子设备及可读存储介质。


背景技术:

1、bmc(baseboard management controller,基板管理控制器)是服务器特有的管理控制器,bmc可以自动监控服务器运行状态,并及时根据当前状态进行调控。bmc的主要功能除了实时监控外,还包括固件的带外更新。不只是bmc本身的固件,服务器上的其他固件,如cpld(compllex programmable logic device,复杂可编程逻辑器件),bios(basic inputoutput system,基本输入输出系统)等,都可以通过bmc实现带外升级功能。

2、在针对服务器上的其他固件进行升级时,需要对固件的原始镜像进行加密,以保证固件镜像的安全性和可靠性。为保证固件安全,私钥是不对外公开,公钥可以对外公开。私钥包含在源码中,对于需要对客户开放源码的项目,若使用厂商私钥打包,使用厂商公钥解密,会影响厂商其他产品的安全,而若采用客户私钥打包,使用客户公钥解密,会导致厂商通用背板固件无法复用,增加生成成本。


技术实现思路

1、鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种固件升级方法、装置、电子设备及可读存储介质。

2、第一方面,本申请实施例公开了一种固件升级方法,所述方法包括:

3、在bmc的源码中配置验证信息;其中,所述验证信息包括第一公钥和第二公钥,所述第一公钥为厂商公钥,所述第二公钥为客户公钥;

4、接收待升级固件的目标镜像,并提取所述目标镜像中的数字签名;

5、通过所述第一公钥和所述第二公钥分别对所述数字签名进行验签;

6、在所述第一公钥和所述第二公钥中的任一公钥正确验签所述数字签名的情况下,使用所述目标镜像对所述待升级固件执行升级操作。

7、可选地,所述接收待升级固件的目标镜像之后,所述方法还包括:

8、提取所述目标镜像的头信息;所述头信息为表征所述目标镜像的类型的信息;

9、对所述头信息进行校验;

10、所述使用所述目标镜像对所述待升级固件执行升级操作,包括:

11、在所述头信息校验成功,且所述第一公钥和所述第二公钥中的任一公钥正确验签所述数字签名的情况下,使用所述目标镜像对所述待升级固件执行升级操作。

12、可选地,所述使用所述目标镜像对所述待升级固件执行升级操作,包括:

13、配置待升级固件的升级环境;对所述升级环境配置内容包括:根据所述目标镜像提取原始镜像文件、停止所述待升级固件关联的轮询任务、初始化升级进度以及创建升级线程;

14、根据所述目标镜像的类型确定与所述目标镜像对应的目标升级接口;

15、调用所述目标升级接口,并基于所述目标镜像对所述待升级固件执行升级操作;

16、若所述升级操作升级成功,则记录升级成功的日志;

17、若所述升级操作升级失败,则记录升级失败的日志,并对当前的升级环境执行恢复操作;所述恢复操作包括:恢复与所述待升级固件关联的轮询任务、删除升级线程。

18、可选地,所述方法还包括:

19、在所述头信息校验失败,或者所述第一公钥和所述第二公钥均不能正确验签所述目标镜像的情况下,记录升级失败的日志,并退出升级过程。

20、可选地,所述方法还包括:

21、根据所述待升级固件的原始镜像,确定与所述原始镜像对应的摘要;

22、根据加密算法以及客户私钥对所述摘要加密得到所述原始镜像的数字签名;所述客户私钥与所述客户公钥对应;

23、根据所述原始镜像以及所述原始镜像的数字签名生成所述目标镜像。

24、可选地,若所述目标镜像为通过客户私钥进行加密,所述通过所述第一公钥和所述第二公钥分别对所述数字签名进行验签,包括

25、通过所述第一公钥对所述目标镜像的数字签名进行验签;

26、在所述第一公钥验签失败的情况下,使用所述第二公钥对所述数字签名进行验签。

27、可选地,所述目标镜像为hpm格式。

28、第二方面,本申请实施例公开了一种固件升级装置,所述装置包括:

29、配置模块,用于在bmc的源码中配置验证信息;其中,所述验证信息包括第一公钥和第二公钥,所述第一公钥为厂商公钥,所述第二公钥为客户公钥;

30、提取模块,用于接收待升级固件的目标镜像,并提取所述目标镜像中的数字签名;

31、验证模块,用于通过所述第一公钥和所述第二公钥分别对所述数字签名进行验签;

32、升级模块,用于在所述第一公钥和所述第二公钥中的任一公钥正确验签所述数字签名的情况下,使用所述目标镜像对所述待升级固件执行升级操作。

33、第三方面,本申请实施例还公开了一种电子设备,包括处理器和存储器、所述存储器存储可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的方法的步骤。

34、第四方面,本申请实施例还公开了一种可读存储介质,所述可读存储介质上存储有程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的方法的步骤。

35、第五方面,本申请实施例还公开了一种计算机程序产品,包括计算机程序或指令,该计算机程序或指令被处理器执行时实现如第一方面所述的方法的步骤。

36、本申请实施例中,在bmc的源码中配置验证信息;其中,所述验证信息包括第一公钥和第二公钥,所述第一公钥为厂商公钥,所述第二公钥为客户公钥;接收待升级固件的目标镜像,并提取所述目标镜像中的数字签名;通过所述第一公钥和所述第二公钥分别对所述数字签名进行验签;在所述第一公钥和所述第二公钥中的任一公钥正确验签所述数字签名的情况下,使用所述目标镜像对所述待升级固件执行升级操作。本申请的方法对bmc进行配置,在bmc中保存厂商公钥和客户公钥,使得针对源码向用户提供的场景,可以使用客户私钥对固件进行打包,避免了厂商私钥的泄露,客户在对固件升级时,若背板是厂商私钥打包,通过bmc可正确解密,若背板通过客户私钥打包,通过bmc依旧可以解密,即通过双公钥的验证方式,在保证厂商其他产品安全性的条件下,满足不同场景下的固件升级需求,使得背板可复用,节约生产成本。



技术特征:

1.一种固件升级方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述接收待升级固件的目标镜像之后,所述方法还包括:

3.根据权利要求2所述的方法,其特征在于,所述使用所述目标镜像对所述待升级固件执行升级操作,包括:

4.根据权利要求2所述的方法,其特征在于,所述方法还包括:

5.根据权利要求1所述的方法,其特征在于,所述方法还包括:

6.根据权利要求1所述的方法,其特征在于,若所述目标镜像为通过客户私钥进行加密,所述通过所述第一公钥和所述第二公钥分别对所述数字签名进行验签,包括

7.根据权利要求1所述的方法,其特征在于,所述目标镜像为hpm格式。

8.一种固件升级装置,其特征在于,所述装置包括:

9.一种电子设备,其特征在于,包括处理器和存储器、所述存储器存储可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如权利要求1至7中任一项所述的方法的步骤。

10.一种可读存储介质,其特征在于,所述可读存储介质上存储有程序或指令,所述程序或指令被处理器执行时实现如权利要求1至7中任一项所述的方法的步骤。


技术总结
本发明提供了一种固件升级方法、装置、电子设备及可读存储介质,在BMC的源码中配置验证信息;其中,验证信息包括第一公钥和第二公钥,第一公钥为厂商公钥,第二公钥为客户公钥;接收待升级固件的目标镜像,并提取目标镜像中的数字签名;通过第一公钥和第二公钥分别对数字签名进行验签;在第一公钥和第二公钥中的任一公钥正确验签数字签名的情况下,使用目标镜像对待升级固件执行升级操作。在BMC中保存厂商公钥和客户公钥,使得针对源码向用户提供的场景,客户在对固件升级时,若背板是厂商私钥打包,通过BMC可正确解密,若背板通过客户私钥打包,通过BMC依旧可以解密,满足不同场景下的固件升级需求,使得背板可复用,节约生产成本。

技术研发人员:王万强,王龙飞,董宜清
受保护的技术使用者:苏州元脑智能科技有限公司
技术研发日:
技术公布日:2024/9/23

最新回复(0)