Secure Boot 应用指导

声明:以下内容引用自某芯片的应用指导文档

Trusted模式启动用于产品交付给OEM后的阶段,Non-trusted模式仅用于早期的产品开发阶段。启动模式是Trusted模式还是Non-trusted模式由Fuse设置。

Trusted模式的技术背景

Trusted模式提供给用户符合工业标准的数字签名认证技术,运用了SHA256的哈希算法, RSA或者ECDSA加密算法。

Trusted模式的镜像文件

需要加密的固件二进制文件(bin)经过打包工具release.exe,自动添加一个FIP包头,合成新的镜像文件(image)。镜像文件的FIP包头中包含了OEM公钥(OEM’s RSA public decryption key) 和数字签名(signature)。

固件启动流程

如下图所示,分三个阶段介绍固件的数字签名和签名认证过程。

  • 固件的签名过程: 客户通过打包工具release.exe在制作下载包的过程中自动对固件的二进制文件(例如: preboot.bin)采用SHA256算法求出哈希值(Hash),再自动用私钥签名固件的这个Hash,得到固件的数字签名文件。

  • 镜像文件的内部结构: 客户通过打包工具release.exe把固件的二进制文件转化成镜像文件,为镜像文件添加了FIP的头,FIP中保存了OEM的公钥和数字签名。

  • OEM公钥的认证过程: 镜像文件(image)在固件烧写和板子启动的阶段都要进行签名认证。比如:下载包preboot.img, 从image的FIP头中读出OEM的公Secboot使能步骤钥,程序对公钥计算出Hash,并且与fuse中block2区域保存的OEM公钥Hash进行比对。如果两个Hash相同,说明公钥验证通过。如果不相同,说明镜像文件中的公钥验证不通过,退出下载或者启动过程。

  • 镜像文件的签名认证过程: OEM公钥验证通过以后,下载或者启动程序会继续对镜像文件(image)中的固件二进制数据计算出Hash,再用FIP头中的OEM公钥对FIP头中的数字签名做解签得到另一个Hash,如果两个Hash值一致,说明签名认证通过。下载或者启动程序继续下一个流程。如果不相同,说明签名认证不通过,退出下载或者启动过程。
    在这里插入图片描述

Secboot使能步骤

  • 生成私钥和证书
  • 制作烧写OEM公钥的fuse only下载包
  • 烧写fuse only下载包

需要的Root Key和OEM公钥Hash被烧录进Fuse。

  • 重启模块或者下电模块

模块重启以后,Bootrom进入Trusted 模式启用。新的证书开始生效,启动中完成c)的签名认证过程。

  • 镜像签名

release工具对固件文件完成a)数字签名过程,生成b)镜像文件,制作出固件下载包。

  • 固件烧录

烧写镜像文件的过程中必须通过d)签名认证,才能继续烧写过程。

  • 重启模块

Trusted Boot,必须通过d)签名认证,才能继续启动。

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值