Skip to main content
安全启动通过熔断 QFPROM 中的一组硬件熔丝来启用。根证书的哈希被熔断写入硬件熔丝,作为主要的信任根(RoT)。 要了解设备外准备和设备上执行的过程,请参阅工作流程。 安全启动工作流程 图:安全启动工作流程 只有在熔断 QFPROM(一种 eFuse)之后才能保证安全启动。启用平台安全启动所需的 eFuse 配置包括:
  • 启用镜像认证和防回滚保护。
  • 禁用调试和 JTAG 访问。
  • 熔断 QFPROM 区域的禁用读/写权限熔丝。

通过熔断 QFPROM 熔丝启用安全启动

  1. 从 Qualcomm 获取唯一的 OEM ID。 使用代码授权签名服务(CASS)或 Qualcomm WES 服务时需要该 ID。或者,你也可以使用 0 作为 OEM ID 的值。
  2. 生成并配置签名资产,如密钥和证书。
  3. 生成用于熔断熔丝的已签名 ELF(sec.elf)。
  4. 对固件镜像进行签名。
  5. 将 sec.elf 和已签名的镜像烧写到设备。
非基于 Linux 的镜像使用 SecTools v2 和本地签名器进行签名。此过程要求签名证书和密钥存在于进行签名的本地机器上。但是,这些密钥并不安全,在运行 SecTools 的机器上进行签名的过程中及之后都可能被泄露。
Qualcomm 不提供有关如何保护这些密钥的指导。建议遵循标准安全协议,从受信任的证书颁发机构(CA)获取密钥/证书,并使用硬件安全模块(HSM)保护这些密钥。使用 OpenSSL 工具自行生成的密钥和证书与任何证书颁发机构没有关联。

使用 SecTools 启用安全启动

  1. 为 SecTools v2 设置环境变量。有关更多信息,请参阅安全工具。 以下代码片段仅供参考。请根据所使用的构建替换 <chipset><chipset>.LE.X.x。 例如,<QCM6490.LE.2.0>
    术语 metabuild、meta 和 meta 路径可互换使用,用于表示来自 Qualcomm ChipCode™ 门户的路径。metabuild 表示某个构建的完整 Qualcomm ChipCode 发布。
    对于 Linux:
  2. 从以下路径使用 SecTools v2:<chipset>.LE.X.x/common/sectoolsv2/ext/<platform>
    • <chipset>_security_profile.xml 文件位于 meta 中的 <chipset>.LE.X.x/common/sectoolsv2
    • 所需的最低 SecTools 版本为 1.43 或更高。
  3. 建议使用硬件安全模块(HSM)。但是,如果使用 LOCAL(不安全)签名器,请参阅 SecTools V2: Secure Image User Guide 中带有 —signing-help 的 LOCAL 签名选项。
  4. 所有密钥和证书生成命令均使用 OpenSSL 1.1.1g(2020 年 4 月 21 日)运行。安装 OpenSSL 是前提条件。
  5. 确保在未进行 RPMB 配置的设备上启用安全启动。请参阅检查 RPMB 配置状态。 在熔断安全启动熔丝后,RPMB 将自动使用生产密钥进行配置。
SecTools 指南仅面向具有授权访问权限的许可用户。

后续步骤

  • 要启用安全启动,必须熔断 QFPROM 熔丝。这是一次性且不可逆的过程,会永久设置这些值。有关更多信息,请参阅设置 QFPROM 熔丝
  • 要确保加密密钥和证书在安全、可信的环境中生成和管理,请参阅生成密钥和证书