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

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

  1. 从 Qualcomm 获取唯一的 OEM ID。 当使用代码授权签名服务 (CASS) 或 Qualcomm WES 服务时需要此 ID。或者,您可以将 OEM ID 的值设置为 0。
  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™ Portal 的路径。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:安全镜像用户指南 中带有 —signing-help 的 LOCAL 签名选项。
  4. 所有密钥和证书生成命令都使用 OpenSSL 1.1.1g(2020 年 4 月 21 日)运行。安装 OpenSSL 是先决条件。
  5. 确保在未配置 RPMB 的设备上启用安全启动。请参阅 检查 RPMB 配置状态。 在熔断安全启动熔丝后,RPMB 将自动使用生产密钥进行配置。
SecTools 指南仅对具有授权访问权限的许可用户开放。

后续步骤

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