概述

安全启动(Secure Boot)的核心目的是确保设备只运行经过授权的固件,防止恶意代码植入或固件被非法篡改。 启用该功能后,芯片在上电启动阶段,内部固化的 Boot ROM 代码会检查即将运行的固件是否拥有合法的数字签名:

  • 验证通过:确认固件来源可信,系统继续执行后续启动流程。

  • 验证失败:SoC 判定环境不安全,将清除敏感状态并进入错误处理模式,终止启动

这一过程通过“信任链(Chain of Trust)”机制实现。信任关系从不可篡改的硬件(ROM)开始,通过逐级验签,延伸至最终的应用固件。验证流程如下图所示:

../../_images/secure_boot_diagram.svg

固件验证流程严格按顺序进行,且所有校验代码均运行于安全模式下:

  1. Boot ROM 验证 Bootloader

    作为硬件信任根的 Secure CPU Boot ROM,首先验证 Secure CPU Bootloader 的数字签名,确保引导程序未被篡改。

  2. Bootloader 验证密钥证书

    Secure CPU Bootloader 启动后,先验证密钥证书(Key Certificate)。这一步是为了确保后续用于验证应用固件的“公钥”是可信的。

  3. Bootloader 验证应用固件

    Secure CPU Bootloader 使用上述步骤中已验证的密钥信息,再对最终的用户应用固件进行签名验证。

备注

SDK 已内置完整的安全启动支持,开发者无需自行编写代码实现复杂的签名和验签算法。 您只需使用 Realtek 提供的脚本工具,按照指引生成对应的公钥、公钥哈希值(Public Key Hash)以及签名后的固件即可。