掌桥专利:专业的专利平台
掌桥专利
首页

一种BIOS固件刷新方法、装置及相关组件

文献发布时间:2023-06-19 11:02:01


一种BIOS固件刷新方法、装置及相关组件

技术领域

本申请涉及服务器领域,特别涉及一种BIOS固件刷新方法、装置及相关组件。

背景技术

目前主流的X86服务器平台,BIOS(Basic Input Output System,基本输入输出系统)固件有两种主流的升级方法,一种是BIOS在UEFI(Unified Extensible FirmwareInterface,统一可扩展固件接口)shell下通过升级工具完成BIOS固件升降级操作,另外一种通过BMC(Baseboard Management Controller,基板管理控制器)web和BMC的终端命令完成BIOS固件的升降级的操作。第一种升级方式比较简单,所以使用更加广泛。但是由于目前升级工具在执行升降级操作时,并没有进行验签认证,若升级文件在传输过程被篡改,会导致BIOS固件升降级失败,同时还会给服务器带来不确定的安全隐患。

因此,如何提供一种解决上述技术问题的方案是本领域技术人员目前需要解决的问题。

发明内容

本申请的目的是提供一种BIOS固件刷新方法、装置、电子设备及计算机可读存储介质,一方面能够保证BIOS固件能够刷新成功,另一方面能够避免待刷新文件在传输过程中被恶意篡改所带来的安全隐患,提高BIOS固件升级的安全性和可靠性。

为解决上述技术问题,本申请提供了一种BIOS固件刷新方法,应用于更新工具,所述更新工具包括用于BIOS认证的数字签名,该BIOS固件刷新方法包括:

获取待刷新文件,所述待刷新文件包括BIOS固件签名;

对所述待刷新文件的文件完整性进行校验,并通过所述用于BIOS认证的数字签名对所述待刷新文件的BIOS固件签名进行校验;

当所述BIOS固件签名和所述文件完整性均校验成功,根据所述待刷新文件对BIOS固件进行刷新。

优选的,所述对所述待刷新文件的文件完整性进行校验的过程包括:

计算所述待刷新文件的当前特征值,判断当前特征值和所述待刷新文件对应的目标特征值是否一致;

若是,判定所述文件完整性校验成功;

若否,判定所述文件完整性校验失败。

优选的,所述目标特征值为哈希值或MD5值。

优选的,所述根据所述待刷新文件对BIOS固件进行刷新之前,该BIOS固件刷新方法还包括:

验证所述待刷新文件和当前BIOS固件是否为同一属性;

所述根据所述待刷新文件对BIOS固件进行刷新的过程包括:

当所述BIOS固件签名和所述文件完整性均校验成功,且所述待刷新文件和当前BIOS固件为同一属性,根据所述待刷新文件对BIOS固件进行刷新。

优选的,该BIOS固件刷新方法还包括:

当所述BIOS固件签名和/或所述文件完整性校验失败,生成提示信息。

为解决上述技术问题,本申请还提供了一种BIOS固件刷新装置,应用于更新工具,所述更新工具包括用于BIOS认证的数字签名,该BIOS固件刷新装置包括:

获取模块,用于获取待刷新文件,所述待刷新文件包括BIOS固件签名;

检验模块,用于对所述待刷新文件的文件完整性进行校验,并通过所述用于BIOS认证的数字签名对所述待刷新文件的BIOS固件签名进行校验;

刷新模块,用于当所述BIOS固件签名和所述文件完整性均校验成功,根据所述待刷新文件对BIOS固件进行刷新。

优选的,所述对所述待刷新文件的文件完整性进行校验的过程包括:

计算所述待刷新文件的当前特征值,判断当前特征值和所述待刷新文件对应的目标特征值是否一致;

若是,判定所述文件完整性校验成功;

若否,判定所述文件完整性校验失败。

优选的,所述目标特征值为哈希值或MD5值。

为解决上述技术问题,本申请还提供了一种电子设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如上文任意一项所述的BIOS固件刷新方法的步骤。

为解决上述技术问题,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上文任意一项所述的BIOS固件刷新方法的步骤。

本申请提供了一种BIOS固件刷新方法,在更新工具中加入用于BIOS认证的数字签名,并在待刷新文件中加入BIOS固件签名,当该更新工具获取到待刷新文件时,分别对BIOS固件签名和文件完整性进行校验,均验证通过,说明该待刷新文件是未被篡改的合法文件,此时再进行BIOS固件刷新,一方面可以保证BIOS固件能够刷新成功,另一方面可以避免待刷新文件在传输过程中被恶意篡改所带来的安全隐患,提高BIOS固件升级的安全性和可靠性。本申请还提供了一种BIOS固件刷新装置、电子设备及计算机可读存储介质,具有和上述BIOS固件刷新方法相同的有益效果。

附图说明

为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请所提供的一种BIOS固件刷新方法的步骤流程图;

图2为本申请所提供的一种BIOS固件刷新装置的结构示意图。

具体实施方式

本申请的核心是提供一种BIOS固件刷新方法、装置、电子设备及计算机可读存储介质,一方面能够保证BIOS固件能够刷新成功,另一方面能够避免待刷新文件在传输过程中被恶意篡改所带来的安全隐患,提高BIOS固件升级的安全性和可靠性。

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

请参照图1,图1为本申请所提供的一种BIOS固件刷新方法的步骤流程图,该BIOS固件刷新方法通过BIOS shell界面下的更新工具实现,包括:

S101:获取待刷新文件,待刷新文件包括BIOS固件签名;

为便于实现本申请的方案,在执行S101之前,还包括预处理操作,预处理操作包括在BIOS shell下的更新工具中加入用于BIOS认证的数字签名,还包括在BIOS的镜像文件中加入BIOS固件签名,此时BIOS固件签名加入BIOS内部固件当中,用于与更新工具的验签过程,可以理解的是,BIOS固件签名必须要同BIOS shell下更新工具的数字签名即公钥和私钥一一对应匹配起来,否则无法相互识别更新成功。具体的,本步骤中的待刷新文件为更新BIOS的镜像文件用私钥加密后生成的镜像文件的签名文件。将该待刷新文件和加入数字签名的更新工具放到同一BIOS文件夹下,并存储到存储介质中,存储介质可以选用优盘,将优盘插入USB接口。更新工具获取待刷新文件,以便进行后续校验处理。

S102:对待刷新文件的文件完整性进行校验,并通过用于BIOS认证的数字签名对待刷新文件的BIOS固件签名进行校验;

具体的,更新工具获取到待刷新文件后,对待刷新文件进行文件完整性校验和数字签名校验。

其中,BIOS固件签名校验包括数字签名的验证工具BiosSign.exe和公钥证书key.der,通过用于BIOS认证的数字签名对待刷新文件的BIOS固件签名进行校验,同时可以使用签名验证工具和公钥来验证待刷新文件的文件完整性,可以理解的是,待刷新文件生成时,可以根据其自身内容利用哈希算法或MD5算法生成与该待刷新文件对应的目标特征值,更新工具获取到待刷新文件后,计算该待刷新文件的当前特征值,若和目标特征值一致,则说明文件完整,未被篡改。可以理解的是,如果更新工具没有加入BIOS认证的数字签名或者传输过程中有缺失的bin文件则该工具无法通过认证使用,这是第一次认证,如果文件完整性验证通过则代表待更新文件未被篡改,可以正常使用,若验证失败,则代表待更新文件已经被篡改,无法升级使用,这个是第二次验签认证的过程。可以理解的是,该方法还包括对上述文件完整性校验及BIOS固件签名校验的校验结果进行提示。

S103:当BIOS固件签名和文件完整性均校验成功,根据待刷新文件对BIOS固件进行刷新。

具体的,当上述所有验签过程均验证通过,在BIOS shell下利用更新工具对BIOS.bin文件进行固件更新,更新成功则提示success,不通过则提示fail,验证未通过或更新未通过均返回将该待刷新文件和加入数字签名的更新工具放到同一BIOS文件夹下的操作,重新执行上述流程。

作为一种优选的实施例,根据待刷新文件对BIOS固件进行刷新之前,该BIOS固件刷新方法还包括:验证待刷新文件和当前BIOS固件是否为同一属性;根据待刷新文件对BIOS固件进行刷新的过程包括:当BIOS固件签名和文件完整性均校验成功,且待刷新文件和当前BIOS固件为同一属性,根据待刷新文件对BIOS固件进行刷新,从而保证刷新成功。

综上所述,本申请所提供的一种基于arm国产服务器在BIOS shell下加入BIOS数字签名的方法,可以有效预防在BIOS shell下升降级过程中一些不安全稳定因素加入其中,也可以有效预防BIOS shell下升降级bin文件在传输过程中被篡改的可能,为固件升降级的整个过程加入可靠的安全措施和有效安全保障,助力国产服务器的安全的第一道防线。进一步的,在本申请方案的基础上,如果在此数字签名原理的基础上加入其它公司要求的数字签名,提供相同算法和长度的私钥文件和公钥证书均可以加入使用,提高相应的安全级别,最后还可以协助相应的公司安全部门建设统一的数字签名平台。

请参照图2,图2为本申请所提供的一种BIOS固件刷新装置的结构示意图,应用于更新工具,更新工具包括用于BIOS认证的数字签名,该BIOS固件刷新装置包括:

获取模块1,用于获取待刷新文件,待刷新文件包括BIOS固件签名;

检验模块2,用于对待刷新文件的文件完整性进行校验,并通过用于BIOS认证的数字签名对待刷新文件的BIOS固件签名进行校验;

刷新模块3,用于当BIOS固件签名和文件完整性均校验成功,根据待刷新文件对BIOS固件进行刷新。

可见,本实施例中在更新工具中加入用于BIOS认证的数字签名,并在待刷新文件中加入BIOS固件签名,当该更新工具获取到待刷新文件时,分别对BIOS固件签名和文件完整性进行校验,均验证通过,说明该待刷新文件是未被篡改的合法文件,此时再进行BIOS固件刷新,一方面可以保证BIOS固件能够刷新成功,另一方面可以避免待刷新文件在传输过程中被恶意篡改所带来的安全隐患,提高BIOS固件升级的安全性和可靠性。

作为一种优选的实施例,对待刷新文件的文件完整性进行校验的过程包括:

计算待刷新文件的当前特征值,判断当前特征值和待刷新文件对应的目标特征值是否一致;

若是,判定文件完整性校验成功;

若否,判定文件完整性校验失败。

作为一种优选的实施例,目标特征值为哈希值或MD5值。

作为一种优选的实施例,根据待刷新文件对BIOS固件进行刷新之前,该BIOS固件刷新装置还包括:

属性验证模块,用于验证待刷新文件和当前BIOS固件是否为同一属性;

根据待刷新文件对BIOS固件进行刷新的过程包括:

当BIOS固件签名和文件完整性均校验成功,且待刷新文件和当前BIOS固件为同一属性,根据待刷新文件对BIOS固件进行刷新。

作为一种优选的实施例,该BIOS固件刷新装置还包括:

提示模块,用于当BIOS固件签名和/或文件完整性校验失败,生成提示信息。

另一方面,本申请还提供了一种电子设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行计算机程序时实现如上文任意一个实施例所描述的BIOS固件刷新方法的步骤。

对于本申请所提供的一种电子设备的介绍请参照上述实施例,本申请在此不再赘述。

本申请所提供的一种电子设备具有和上述BIOS固件刷新方法相同的有益效果。

另一方面,本申请还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上文任意一个实施例所描述的BIOS固件刷新方法的步骤。

对于本申请所提供的一种计算机可读存储介质的介绍请参照上述实施例,本申请在此不再赘述。

本申请所提供的一种计算机可读存储介质具有和上述BIOS固件刷新方法相同的有益效果。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其他实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

相关技术
  • 一种BIOS固件刷新方法、装置及相关组件
  • 一种BMC固件的刷新方法及相关装置
技术分类

06120112774676