概述
安全启动(Secure Boot)的核心目的是确保设备只运行经过授权的固件,防止恶意代码植入或固件被非法篡改。 启用该功能后,芯片在上电启动阶段,内部固化的 Boot ROM 代码会检查即将运行的固件是否拥有合法的数字签名:
验证通过:确认固件来源可信,系统继续执行后续启动流程。
验证失败:SoC 判定环境不安全,将清除敏感状态并进入错误处理模式,终止启动。
这一过程通过“信任链(Chain of Trust)”机制实现。信任关系从不可篡改的硬件(ROM)开始,通过逐级验签,延伸至最终的应用固件。验证流程如下图所示:
固件验证流程严格按顺序进行,且所有校验代码均运行于安全模式下:
Boot ROM 验证 Bootloader:
作为硬件信任根的 Secure CPU Boot ROM,首先验证 Secure CPU Bootloader 的数字签名,确保引导程序未被篡改。
Bootloader 验证密钥证书:
Secure CPU Bootloader 启动后,先验证密钥证书(Key Certificate)。这一步是为了确保后续用于验证应用固件的“公钥”是可信的。
Bootloader 验证应用固件:
Secure CPU Bootloader 使用上述步骤中已验证的密钥信息,再对最终的用户应用固件进行签名验证。
备注
SDK 已内置完整的安全启动支持,开发者无需自行编写代码实现复杂的签名和验签算法。 您只需使用 Realtek 提供的脚本工具,按照指引生成对应的公钥、公钥哈希值(Public Key Hash)以及签名后的固件即可。