升级签名固件的方法、电子设备和存储介质技术

技术编号:37862313 阅读:15 留言:0更新日期:2023-06-15 20:52
本发明专利技术公开了升级签名固件的方法、电子设备和存储介质,通过可信操作系统将公钥参数信息和数字签名算法类型保存至安全存储中,由可信操作系统计算与公钥参数信息相对应的消息摘要,并对消息摘要进行加密,将加密后的消息摘要写入命令行参数,后续基于安全存储中的公钥参数信息和数字签名算法类型以及命令行参数中的加密后的消息摘要对签名后的待升级固件进行校验,校验成功才进行升级,以此提高了公钥信息的安全性,且将命令行参数中加密后的消息摘要作为与可信操作系统之间的通信凭证,从而有效提高签名固件升级的安全性。从而有效提高签名固件升级的安全性。从而有效提高签名固件升级的安全性。

【技术实现步骤摘要】
升级签名固件的方法、电子设备和存储介质


[0001]本专利技术涉及嵌入式设备
,特别涉及升级签名固件的方法、电子设备和存储介质。

技术介绍

[0002]已有的针对安全启动签名固件的升级方案中,验证签名固件的公钥信息通常都是在非可信环境中传递,无法保证签名固件升级的安全性,从而无法满足一些对安全性要求较高的应用场景。

技术实现思路

[0003]本专利技术的实施例提供升级签名固件的方法、电子设备和存储介质,其能够有效提高签名固件升级的安全性。
[0004]在本专利技术的一个方面,提供一种升级签名固件的方法。该方法包括:从签名后的待升级固件中的启动引导程序固件中获取公钥参数信息和数字签名算法类型;由可信操作系统将所述公钥参数信息和所述数字签名算法类型保存至安全存储中,由所述可信操作系统计算与所述公钥参数信息相对应的消息摘要,并对所述消息摘要进行加密;将加密后的消息摘要写入命令行参数;基于所述安全存储中的所述公钥参数信息和所述数字签名算法类型以及所述命令行参数中的所述加密后的消息摘要对所述签名后的待升级固件进行校验;以及若所述校验的结果为成功,则对所述签名后的待升级固件进行升级。
[0005]在本专利技术的又一方面,提供一种电子设备。该电子设备包括存储器,被配置为存储计算机程序;以及处理器,被配置为执行所述计算机程序以执行上述的升级签名固件的方法。
[0006]在本专利技术的再一方面,提供一种计算机可读介质。该介质上存储有计算机程序,所述计算机程序被处理器执行以实现上述的升级签名固件的方法。
[0007]根据本专利技术的实施例,通过可信操作系统将公钥参数信息和数字签名算法类型保存至安全存储中,由可信操作系统计算与公钥参数信息相对应的消息摘要,并对消息摘要进行加密,将加密后的消息摘要写入命令行参数,后续基于安全存储中的公钥参数信息和数字签名算法类型以及命令行参数中的加密后的消息摘要对签名后的待升级固件进行校验,校验成功才进行升级,以此提高了公钥信息的安全性,且将命令行参数中加密后的消息摘要作为与可信操作系统之间的通信凭证,从而有效提高签名固件升级的安全性。
附图说明
[0008]图1为根据本专利技术实施例的升级签名固件的方法的步骤流程图;
[0009]图2为根据本专利技术实施例的升级签名固件的方法的流程示意图;
[0010]图3为根据本专利技术实施例的电子设备的结构示意图。
具体实施方式
[0011]为详细说明本专利技术的
技术实现思路
、所实现目的及效果,以下结合实施方式并配合附图予以说明。
[0012]在已有技术中,验证签名固件的公钥信息通常都是在非可信环境中传递,无法保证签名固件升级的安全性。
[0013]为了解决至少上述技术问题,本公开提供了升级签名固件的方法。根据本公开,通过可信操作系统将公钥参数信息和数字签名算法类型保存至安全存储中,由可信操作系统计算与公钥参数信息相对应的消息摘要,并对消息摘要进行加密,将加密后的消息摘要写入命令行参数,后续基于安全存储中的公钥参数信息和数字签名算法类型以及命令行参数中的加密后的消息摘要对签名后的待升级固件进行校验,校验成功才进行升级,将命令行参数中加密后的消息摘要作为与可信操作系统之间的通信凭证。以此方式,根据本公开的实施例能够提高公钥信息的安全性,从而有效提高签名固件升级的安全性。
[0014]下文中,将参考具体实施例并且结合附图描述根据本公开的技术方案。
[0015]图1是示出根据本公开的实施例的升级签名固件的方法100的流程图。参照图1,该方法100包括以下步骤102至步骤110。
[0016]在步骤102,从签名后的待升级固件中的启动引导程序固件中获取公钥参数信息和数字签名算法类型。在一些实施例中,设备安全启动,从启动存储介质(如eMMC,embedded Multi Media Card,嵌入式多媒体卡)逐级加载对应签名后的待升级固件并校验,在安全引导启动引导程序和可信操作系统之后,由所述启动引导程序读出包含在签名后的待升级固件中的启动引导程序固件中的公钥参数信息和数字签名算法类型。
[0017]在一些实施例中,该方法100还可以包括:对待升级固件进行签名,得到签名后的待升级固件;将公钥参数信息和数字签名算法类型写入所述签名后的待升级固件中的所述启动引导程序固件的预设位置;以及将所述签名后的待升级固件存储至固件升级包。以此方式,确保可通过启动引导程序固件获取到固件签名的相关信息。
[0018]在一些实施例中,该方法100还可以包括:由所述启动引导程序基于所述数字签名算法类型和所述公钥参数生成第一指令,并将所述第一指令发送到所述可信操作系统中的静态可信应用(静态TA)。
[0019]在步骤104,由可信操作系统将所述公钥参数信息和数字签名算法类型保存至安全存储中,由所述可信操作系统计算与所述公钥参数信息相对应的消息摘要,并对所述消息摘要进行加密。在一些实施例中,由可信操作系统中的静态可信应用接收第一指令,并基于所述第一指令获取所述公钥参数信息和所述数字签名算法类型;以及由所述静态可信应用将所述公钥参数信息和所述数字签名算法类型保存至所述安全存储中。在一些实施例中,由所述静态可信应用使用预设消息摘要算法计算与所述公钥参数信息相对应的消息摘要;以及由所述静态可信应用使用预设对称加密算法和密钥对计算出的所述消息摘要进行加密。在一些实施例中,所述预设消息摘要算法为SHA256算法。在一些实施例中,若存储介质为eMMC,则所述安全存储为eMMC的RPMB(Replay Protected Memory Block,重放保护内存块)区域。以此方式,使得安全存储中的公钥信息只有可信安全操作系统才能访问,非安全操作系统(即通用操作系统,如Android)无法直接访问安全存储,从而提高了公钥信息的安全性。
[0020]在步骤106,将加密后的消息摘要写入命令行参数。在一些实施例中,可以由所述启动引导程序将熔断标记将加密后的消息摘要写入命令行参数。在一些实施例中,还可以由所述启动引导程序将熔断标记(如fuse.programmed)和系统标记(如androidboot.slot_suffix)与所述加密后的消息摘要一起写入所述命令行参数。以此方式,便于后续客户应用根据命令行参数中的加密后的消息摘要作为与静态可信应用的通信凭证,以便静态可信应用实现对客户应用的鉴权,确保是安全合法的通信。
[0021]在一些实施例中,该方法100还可以包括:根据所述命令行参数中的所述系统标记(如/proc/cmdline中的androidboot.slot_suffix)和所述熔断标记(如/proc/cmdline中的fuse.programmed)确定是否需要进行校验。在一些实施例中,判断所述系统标记是否表示设备为双系统;若是,则判断所述熔断标记是否表示设备熔断;若表示设备熔断,则确定需要进行校验;以及若表示设备未熔断,则确定不需要进行校验,并且所述方法还包括直接对所述签名后的待升级固件进行升级。在一些实施例本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种升级签名固件的方法,其特征在于,包括:从签名后的待升级固件中的启动引导程序固件中获取公钥参数信息和数字签名算法类型;由可信操作系统将所述公钥参数信息和所述数字签名算法类型保存至安全存储中,由所述可信操作系统计算与所述公钥参数信息相对应的消息摘要,并对所述消息摘要进行加密;将加密后的消息摘要写入命令行参数;基于所述安全存储中的所述公钥参数信息和所述数字签名算法类型以及所述命令行参数中的所述加密后的消息摘要对所述签名后的待升级固件进行校验;以及若所述校验的结果为成功,则对所述签名后的待升级固件进行升级。2.根据权利要求1所述的方法,其特征在于,从签名后的待升级固件中的启动引导程序固件中获取公钥参数信息和数字签名算法类型包括:在安全引导启动引导程序和所述可信操作系统之后,由所述启动引导程序读出包含在签名后的待升级固件中的启动引导程序固件中的公钥参数信息和数字签名算法类型。3.根据权利要求2所述的方法,其特征在于,还包括:由所述启动引导程序基于所述数字签名算法类型和所述公钥参数生成第一指令,并将所述第一指令发送到所述可信操作系统中的静态可信应用。4.根据权利要求3所述的方法,其特征在于,由可信操作系统将所述公钥参数信息和所述数字签名算法类型保存至安全存储中包括:由可信操作系统中的静态可信应用接收第一指令,并基于所述第一指令获取所述公钥参数信息和所述数字签名算法类型;以及由所述静态可信应用将所述公钥参数信息和所述数字签名算法类型保存至所述安全存储中。5.根据权利要求4所述的方法,其特征在于,由所述可信操作系统计算与所述公钥参数信息相对应的消息摘要,并对所述消息摘要进行加密包括:由所述静态可信应用使用预设消息摘要算法计算与所述公钥参数信息相对应的消息摘要;以及由所述静态可信应用使用预设对称加密算法和密钥对计算出的所述消息摘要进行加密。6.根据权利要求4所述的方法,其特征在于,基于所述安全存储中的所述公钥参数信息和所述数字签名算法类型以及所述命令行参数中的所述加密后的消息摘要对所述签名后的待升级固件进行校验包括:由所述静态可信应用接收第二指令,并基于所述第二指令获取所述加密后的消息摘要;由所述静态可信应用对所述加密后的消息摘要进行解密,得到解密后的消息摘要;由所述静态可信应用从所述安全存储中读取所述公钥参数信息,并计算与读取的所述公钥参数信息相对应的验证消息摘要;由所述静态可信应用判断所述解密后的消息摘要与所述验证消息摘要是否一致;若一致,由升级程序客户端获取所述公钥参数信息和所述数字签名算法类型;以及
由所述升级程序客户端使用获取到的所述公钥参数信息和所述数字签名算法类型对所述签名后的待升级固件进行校验。7.根据权利要求1所述的方法,其特征在于,还包括:由所述启动引导程序将熔断标记和系统标记与所述加密后的消息摘要一起写入所述命令行参数。8.根据权利要求7所述的方法,其特征在于,还包括:根据所述命令行参数中的所述系统标记和所述熔断标记确定是否需要进行校验。9.根据权利要求8所述的方法,其特征在于,根据所述命令行参数中的所述系统标记和所述熔断标记确定是否需要进行校验包括:判断所述系统标记是否表示设备为双系统;若是,则判断所述熔断标记是否表示设备熔断;若表示设备熔断,则确定需要进行校验;以及若表示设备未熔断,则确定不需要进行校验,并且所述方法还包括直接对所述签名后的待升级固件进行升级。10.根据权利要求8所述的方法,其特征在于,根据所述命令行参数中的所述系统标记和所述熔...

【专利技术属性】
技术研发人员:纪大峣
申请(专利权)人:瑞芯微电子股份有限公司
类型:发明
国别省市:

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

1