5.8. Trusted Board Boot启动
Trusted Board Boot(TBB) 功能通过验证所有固件镜像(包括正常世界引导加载程序)来防止恶意固件在平台上运行。它通过使用公钥加密标准 (PKCS) 建立信任链来实现这一点。
本文介绍了可信固件-A (TF-A) TBB 的设计,它是Trusted Board Boot(TBBR)启动要求规范Arm DEN0006D 的实现。它应与 Firmware Update (FWU)设计文档结合使用 ,该文实现 TBBR 的特定方面。
5.8.1. Chain of Trust 信任链
信任链 (CoT) 从一组隐式信任的组件开始。在 Arm 开发平台上,这些组件是:
- 信任根公钥 (ROTPK) 的 SHA-256 哈希值。它存储在受信任的根密钥存储寄存器中。或者,可以使用开发 ROTPK,并将其哈希嵌入到 BL1 和 BL2 镜像中(仅用于开发目的)。
- BL1 镜像,假设它驻留在 ROM 中,因此无法篡改。
CoT 中的其余组件是证书或引导加载程序镜像。这些证书遵循X.509 v3标准。该标准允许向证书添加自定义扩展,这些扩展用于存储建立 CoT 的基本信息。
在 TBB CoT 中,所有证书都是自签名的。不需要证书颁发机构 (CA),因为 CoT 不是通过验证证书颁发者的有效性而是通过证书扩展的内容来建立的。要签署证书,可以使用不同的签名方案,请参阅构建选项了解更多详细信息。
证书分为“密钥”证书和“内容”证书。密钥证书用于验证已用于签署内容证书的公钥。内容证书用于存储引导加载程序镜像的哈希值。可以通过计算镜像的哈希值并
版权归原作者 代码改变世界ctw 所有, 如有侵权,请联系我们删除。