【技术实现步骤摘要】
升级签名固件的方法、电子设备和存储介质
[0001]本专利技术涉及嵌入式设备
,特别涉及升级签名固件的方法、电子设备和存储介质。
技术介绍
[0002]支持安全启动(Secure Boot)的设备需要对固件进行签名,固件中的签名信息是作为固件不可分割的一部分实际存储在设备存储介质中,并在设备启动过程中对固件进行逐级校验,实际升级的固件必须是包含签名信息的完整签名固件。已有的针对安全启动设备的固件升级方案主要有如下两类:(1)直接升级,不区分固件是否签名,这类方案需用户确保固件本身是正确签名过的;(2)针对签名固件进行特殊处理,这类方案要求设备本身提供某种机制,如设备树,以便可以将签名固件对应的公钥信息从启动引导程序安全地传递到系统,从而使得固件程序升级程序可以使用。这类方法通常复杂性较高,同时在某些情况下,设备启动引导程序和系统之间无法有效传递这种公钥信息,例如没有额外的软硬资源的情况下。
技术实现思路
[0003]本专利技术提供升级签名固件的方法、电子设备和存储介质,其能够提高签名固件升级的可靠性。
[0004]在本专利技术的一个方面,提供一种升级签名固件的方法。该方法包括步骤:将与签名后的待升级固件相对应的公钥文件编译放入所述签名后的待升级固件中的启动固件根文件系统,并将所述签名后的待升级固件和所述公钥文件放入固件升级包;从所述签名后的待升级固件中的启动引导程序固件中获取公钥参数信息、数字签名算法类型和消息摘要算法类型,并基于所述数字签名算法类型和所述消息摘要算法类型计算与所述公钥参 ...
【技术保护点】
【技术特征摘要】
1.一种升级签名固件的方法,其特征在于,包括:将与签名后的待升级固件相对应的公钥文件编译放入所述签名后的待升级固件中的启动固件根文件系统,并将所述签名后的待升级固件和所述公钥文件放入固件升级包;从所述签名后的待升级固件中的启动引导程序固件中获取公钥参数信息、数字签名算法类型和消息摘要算法类型,并基于所述数字签名算法类型和所述消息摘要算法类型计算与所述公钥参数信息相对应的消息摘要;将所述消息摘要、所述消息摘要算法类型和所述数字签名算法类型写入操作系统内核命令行参数中;基于所述操作系统内核命令行参数对所述启动固件根文件系统中的公钥文件和所述固件升级包中的公钥文件进行验证;若所述验证的结果为通过,则基于所述操作系统内核命令行参数以及所述启动固件根文件系统中的公钥文件或所述固件升级包中的公钥文件对所述签名后的待升级固件进行校验;以及若所述校验的结果为成功,则对所述签名后的待升级固件进行升级。2.根据权利要求1所述的方法,其特征在于,基于所述操作系统内核命令行参数对所述启动固件根文件系统中的公钥文件和所述固件升级包中的公钥文件进行验证包括:根据所述操作系统内核命令行参数中的所述消息摘要算法类型,将所述启动固件根文件系统中的公钥文件中的公钥参数信息和所述固件升级包中的公钥文件中的公钥参数信息分别作为输入,计算出第一验证消息摘要和第二验证消息摘要;以及分别验证所述第一验证消息摘要和所述第二验证消息摘要是否与所述操作系统内核命令行参数中的所述消息摘要一致。3.根据权利要求1所述的方法,其特征在于,基于所述操作系统内核命令行参数以及所述启动固件根文件系统中的公钥文件或所述固件升级包中的公钥文件对所述签名后的待升级固件进行校验包括:使用所述操作系统内核命令行参数中的所述数字签名算法类型以及所述启动固件根文件系统中的公钥文件中的公钥参数信息或所述固件升级包中的公钥文件中的公钥参数信息,对所述签名后的待升级固件进行校验。4.根据权利要求1所述的方法,其特征在于,还包括:将与所述签名后的待升级固件相对应的所述公钥文件编译放入所述签名后的待升级固件中的升级模式固件根文件系统,其中对所述签名后的待升级固件进行升级包括:引导设备进入固件升级模式;根据所述操作系统内核命令行参数中的所述消息摘要算法类型,将所述升级模式固件根文件系统中的公钥文件中的公钥参数信息和所述固件升级包中的公钥文件中的公钥参数信息分别作为输入,计算出第三验证消息摘要和第四验证消息摘要;分别验证所述第三验证消息摘要和所述第四验证消息摘要是否与所述操作系统内核命令行参数中的所述消息摘要一致;若一致,则使用所述操作系统内核命令行参数中的所述数字签名算法类型以及所述升级模式固件根文件系统中的公钥文件中的公钥参数信息和所述固件升级包中的公钥文件中的公钥参数信息,对所述签名后的待升级固件进行校验;以及
若校验通过,则执行固件升级。5.根据权利要求1所述的方法,其特征在于,在将与签名后的待升级固件相对应的公钥文件编译放入所述签名后的待升级固件中的启动固件根文件系统之前,还包括:对待升级固件进行签名,得到所述签名后的待升级固件;以及将所述公钥参数信息、所述数字签名算法类型和所述消息摘要算法类型写入所述签名后的待升级固件中的所述...
【专利技术属性】
技术研发人员:纪大峣,
申请(专利权)人:瑞芯微电子股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。