固件升级方法、装置、电子设备及计算机可读存储介质制造方法及图纸

技术编号:36098023 阅读:15 留言:0更新日期:2022-12-24 11:16
本公开提供了一种固件升级方法、装置、电子设备及计算机可读存储介质,应用于客户端,获取固件服务器传输的新版本固件;获取固件服务传输的待密封数据;获取固件服务器的解封增强授权策略,解封增强授权策略示意被密封数据只有在满足与目标启动状态绑定的目标PCR值下才能被解封;在固件服务器的管控下创建子密钥,子密钥创建过程中会完成对待密封数据的密封,并与解封增强授权策略绑定;在固件服务器的管控下,将子密钥载入至客户端的可信密码模块中;基于新版本固件进行固件升级。本公开中,客户端进行固件升级后,可以从子密钥中解封出与通过PCR和目标启动状态绑定的密封数据,间接解决了脆性PCR问题,保证了升级固件后的正常启动。常启动。常启动。

【技术实现步骤摘要】
固件升级方法、装置、电子设备及计算机可读存储介质


[0001]本公开涉及固件升级
,更具体地说,涉及固件升级方法、装置、电子设备及计算机可读存储介质。

技术介绍

[0002]当前,在利用可信密码模块(Trusted Cryptography Module,TCM)实现启动信任链的技术中,通常的做法是用PCR(平台配置寄存器)值表示机器的状态,较小编号的PCR表示系统的引导过程,而较高编号的PCR表示内核启动后的事件。密钥或数据可以被锁定到具有特定值的特定PCR,这种行为称为密封。但如果密钥或数据被锁定到代表某固件的PCR,而该固件又是启动信任链的一部分,则升级该固件将变得非常困难,因为升级固件后会导致被密封到代表原来启动状态的PCR的密钥或数据无法解封,这就是脆性PCR问题。而利用目前现成的TCM命令,是不能直接解决脆性PCR问题的,由此使得固件无法正常升级。
[0003]综上所述,如何实现TCM下的固件正常升级是目前本领域技术人员亟待解决的问题。

技术实现思路

[0004]本公开的目的是提供一种固件升级方法,其能在一定程度上解决如何实现TCM下的固件正常升级的技术问题。本公开还提供了一种固件升级装置、电子设备及计算机可读存储介质。
[0005]根据本公开实施例的第一方面,提供一种固件升级方法,应用于客户端,包括:获取固件服务器传输的新版本固件;获取所述固件服务器传输的待密封数据;获取所述固件服务器的解封增强授权策略,所述解封增强授权策略示意所述待密封数据只有在满足与目标启动状态绑定的目标PCR值下才能被解封,所述目标PCR值包括所述客户端在完成固件升级后受影响的PCR值;在所述固件服务器的管控下创建子密钥,所述子密钥在创建过程中会完成对所述待密封数据的密封,并与所述解封增强授权策略绑定;在所述固件服务器的管控下,将所述子密钥载入至所述客户端的可信密码模块中;基于所述新版本固件进行固件升级。
[0006]优选的,所述在所述固件服务器的管控下创建子密钥,包括:获取所述固件服务器生成的子密钥生成模板;按照所述子密钥生成模板,在所述固件服务器的管控下创建所述子密钥。
[0007]优选的,所述在所述固件服务器的管控下创建子密钥,包括:获取所述固件服务器生成的第一命令参数哈希值和第一签名值,所述第一命令参数哈希值包括所述固件服务器生成的目标子密钥创建命令码和创建参数的哈希值,所述第
一签名值包括所述固件服务器基于自身的平台私钥对所述第一命令参数哈希值进行签名后的签名值;获取待运行子密钥创建命令;基于所述固件服务器的平台公钥对所述第一命令参数哈希值进行验签,若验签成功,则计算所述待运行子密钥创建命令的第二命令参数哈希值;判断所述第二命令参数哈希值与所述第一命令参数哈希值是否一致,若一致,则基于所述待运行子密钥创建命令创建所述子密钥。
[0008]优选的,所述在所述固件服务器的管控下,将所述子密钥载入至所述客户端的可信密码模块中,包括:获取所述固件服务器生成的第三命令参数哈希值和第二签名值,所述第三命令参数哈希值包括所述固件服务器生成的目标子密钥载入命令码和载入参数的哈希值,所述第二签名值包括所述固件服务器基于自身的平台私钥对所述第三命令参数哈希值进行签名后的签名值;获取待运行子密钥载入命令;基于所述固件服务器的平台公钥对所述第二签名值进行验签,若验签成功,则计算所述待运行子密钥载入命令的第四命令参数哈希值;判断所述第四命令参数哈希值与所述第三命令参数哈希值是否一致,若一致,则基于所述待运行子密钥载入命令将所述子密钥载入至所述客户端的所述可信密码模块中。
[0009]优选的,所述在所述固件服务器的管控下,将所述子密钥载入至所述客户端的可信密码模块中之后,所述基于所述新版本固件进行固件升级之前,还包括:对所述子密钥进行持久化。
[0010]优选的,所述获取所述固件服务器传输的待密封数据,包括:获取所述固件服务器传输的待密封数据密文,所述待密封数据密文包括基于所述客户端的主密钥的公钥部分对所述待密封数据进行加密后得到的数据;基于所述主密钥的私钥部分对所述待密封数据密文进行解密,得到所述待密封数据。
[0011]优选的,所述获取固件服务器传输的新版本固件,包括:获取所述固件服务器传输的新版本固件密文;获取所述固件服务器传输的对称密钥密文,所述对称密钥密文包括基于所述客户端的主密钥的公钥部分对对称密钥进行加密后得到的密文;基于所述主密钥的私钥部分对所述对称密钥密文进行解密,得到所述对称密钥;基于所述对称密钥对所述新版本固件密文进行解密,得到所述新版本固件。
[0012]优选的,所述获取固件服务器传输的新版本固件之后,还包括:获取所述固件服务器基于平台私钥对新版本固件杂凑值进行加密后得到的新版本固件杂凑值密文;基于所述固件服务器的平台公钥对所述新版本固件杂凑值密文进行解密,得到所述新版本固件杂凑值;计算接收的所述新版本固件的杂凑值;判断所述新版本固件的杂凑值与所述新版本固件杂凑值是否一致,若一致,则允
许使用所述新版本固件。
[0013]根据本公开实施例的第二方面,提供一种固件升级装置,应用于客户端,包括:新版本固件获取模块,用于获取固件服务器传输的新版本固件;待密封数据获取模块,用于获取所述固件服务器传输的待密封数据;策略获取模块,用于获取所述固件服务器的解封增强授权策略,所述解封增强授权策略示意所述待密封数据只有在满足与目标启动状态绑定的目标PCR值下才能被解封,所述目标PCR值包括所述客户端在完成固件升级后受影响的PCR值;子密钥创建模块,用于在所述固件服务器的管控下创建子密钥,所述子密钥在创建过程中会完成对所述待密封数据的密封,并与所述解封增强授权策略绑定;载入模块,用于在所述固件服务器的管控下,将所述子密钥载入至所述客户端的可信密码模块中;更新模块,用于基于所述新版本固件进行固件升级。
[0014]根据本公开实施例的第三方面,提供一种电子设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述存储器中的所述计算机程序,以实现如上任一所述方法的步骤。
[0015]根据本公开实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上任一所述方法的步骤。
[0016]本公开提供的一种固件升级方法,应用于客户端,获取固件服务器传输的新版本固件;获取固件服务传输的待密封数据;获取固件服务器的解封增强授权策略,解封增强授权策略示意被密封数据只有在满足与目标启动状态绑定的目标PCR值下才能被解封,目标PCR值包括客户端在完成固件升级后受影响的PCR值;在固件服务器的管控下创建子密钥,子密钥创建过程中会完成对待密封数据的密封,并与解封增强授权策略绑定;在固件服务器的管控下,将子密钥载入至客户端的可信密码模块中;基于新版本固件进行固件升级。本公开中,固件服务器可以预先计算客户端在完成升级后受影响的PCR值,且客户端可以在固件服务器的管控下将生成的子密钥与解封增强策略绑定,解封增强授权策略示意本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种固件升级方法,其特征在于,应用于客户端,包括:获取固件服务器传输的新版本固件;获取所述固件服务器传输的待密封数据;获取所述固件服务器的解封增强授权策略,所述解封增强授权策略示意所述待密封数据只有在满足与目标启动状态绑定的目标PCR值下才能被解封,所述目标PCR值包括所述客户端在完成固件升级后受影响的PCR值;在所述固件服务器的管控下创建子密钥,所述子密钥在创建过程中会完成对所述待密封数据的密封,并与所述解封增强授权策略绑定;在所述固件服务器的管控下,将所述子密钥载入至所述客户端的可信密码模块中;基于所述新版本固件进行固件升级。2.根据权利要求1所述的方法,其特征在于,所述在所述固件服务器的管控下创建子密钥,包括:获取所述固件服务器生成的子密钥生成模板;按照所述子密钥生成模板,在所述固件服务器的管控下创建所述子密钥。3.根据权利要求1所述的方法,其特征在于,所述在所述固件服务器的管控下创建子密钥,包括:获取所述固件服务器生成的第一命令参数哈希值和第一签名值,所述第一命令参数哈希值包括所述固件服务器生成的目标子密钥创建命令码和创建参数的哈希值,所述第一签名值包括所述固件服务器基于自身的平台私钥对所述第一命令参数哈希值进行签名后的签名值;获取待运行子密钥创建命令;基于所述固件服务器的平台公钥对所述第一命令参数哈希值进行验签,若验签成功,则计算所述待运行子密钥创建命令的第二命令参数哈希值;判断所述第二命令参数哈希值与所述第一命令参数哈希值是否一致,若一致,则基于所述待运行子密钥创建命令创建所述子密钥。4.根据权利要求1所述的方法,其特征在于,所述在所述固件服务器的管控下,将所述子密钥载入至所述客户端的可信密码模块中,包括:获取所述固件服务器生成的第三命令参数哈希值和第二签名值,所述第三命令参数哈希值包括所述固件服务器生成的目标子密钥载入命令码和载入参数的哈希值,所述第二签名值包括所述固件服务器基于自身的平台私钥对所述第三命令参数哈希值进行签名后的签名值;获取待运行子密钥载入命令;基于所述固件服务器的平台公钥对所述第二签名值进行验签,若验签成功,则计算所述待运行子密钥载入命令的第四命令参数哈希值;判断所述第四命令参数哈希值与所述第三命令参数哈希值是否一致,若一致,则基于所述待运行子密钥载入命令将所述子密钥载入至所述客户端的所述可信密码模块中。5.根据权利要求1所述的方法,其特征在于,所述在所述固件服务器的管控下,将所述子密钥载入至所述客户端的可信密码模块中之后,所述基于所述...

【专利技术属性】
技术研发人员:潘利华胡蓬黄锦李雪兵
申请(专利权)人:成都卫士通信息产业股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1