> ## Documentation Index
> Fetch the complete documentation index at: https://dragonwingdocs.qualcomm.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 启用安全启动

安全启动通过熔断 QFPROM 中的一组硬件熔丝来启用。根证书的哈希被熔断写入硬件熔丝，作为主要的信任根（RoT）。

要了解设备外准备和设备上执行的过程，请参阅工作流程。

<img src="https://mintcdn.com/qualcomm-prod/y8h-WRUMxdbs_SSD/System/Security/media-security/k2c-qli-security/secure-boot-prep-updated.png?fit=max&auto=format&n=y8h-WRUMxdbs_SSD&q=85&s=a7be0687105193b083af283d22dd0db8" alt="安全启动工作流程" width="957" height="735" data-path="System/Security/media-security/k2c-qli-security/secure-boot-prep-updated.png" />

*图：安全启动工作流程*

只有在熔断 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 的机器上进行签名的过程中及之后都可能被泄露。

<Note>
  Qualcomm 不提供有关如何保护这些密钥的指导。建议遵循标准安全协议，从受信任的证书颁发机构（CA）获取密钥/证书，并使用硬件安全模块（HSM）保护这些密钥。

  使用 OpenSSL 工具自行生成的密钥和证书与任何证书颁发机构没有关联。
</Note>

## 使用 SecTools 启用安全启动

1. 为 SecTools v2 设置环境变量。有关更多信息，请参阅[安全工具](./security-tools)。
   以下代码片段仅供参考。请根据所使用的构建替换 `<chipset>` 和 `<chipset>.LE.X.x`。
   例如，`<QCM6490.LE.2.0>`。

   <Note>
     术语 metabuild、meta 和 meta 路径可互换使用，用于表示来自 Qualcomm ChipCode™ 门户的路径。metabuild 表示某个构建的完整 Qualcomm ChipCode 发布。
   </Note>

   对于 Linux：

   ```bash theme={null}
   setenv SECTOOLS=/<chipset>.LE.X.x/common/sectoolsv2/ext/linux/sectools
   export SECTOOLS=/<chipset>.LE.X.x/common/sectoolsv2/ext/linux/sectools
   ```

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](https://docs.qualcomm.com/doc/80-NM248-12/topic/secure-image-usage.html) 中带有 --signing-help 的 LOCAL 签名选项。

4. 所有密钥和证书生成命令均使用 OpenSSL 1.1.1g（2020 年 4 月 21 日）运行。安装 OpenSSL 是前提条件。

5. 确保在未进行 RPMB 配置的设备上启用安全启动。请参阅[检查 RPMB 配置状态](./verify-the-security-configurations-of-qualcomm-linux#verify-rpmb-provisioning-status)。
   在熔断安全启动熔丝后，RPMB 将自动使用生产密钥进行配置。

<Note>
  SecTools 指南仅面向具有授权访问权限的许可用户。
</Note>

## 后续步骤

* 要启用安全启动，必须熔断 QFPROM 熔丝。这是一次性且不可逆的过程，会永久设置这些值。有关更多信息，请参阅[设置 QFPROM 熔丝](./set-the-qfprom-fuses)。
* 要确保加密密钥和证书在安全、可信的环境中生成和管理，请参阅[生成密钥和证书](./generate-keys-and-certificates)。
