Skip to main content
安全验证过程涉及检查并验证硬件和软件组件的安全功能,以确保它们在 Qualcomm® Linux® 上安全运行。此过程确保所列安全功能满足必要的要求,使系统稳健且安全。

先决条件

验证 TrustZone/设备配置/Hypervisor 镜像加载

通过验证 TrustZone(安全)环境,您可以确保设备的安全架构稳健可靠,为安全运行奠定基础。 以下 XBL 日志包含有关 TrustZone/设备配置/Hypervisor 镜像加载的信息。 例如:
  • 设备配置(DEVCFG) B - 1206031 - QSEE Dev Config - Image Load, Start D - 763 - Auth Metadata D - 549 - Segments hash check D - 13054 - QSEE Dev Config - Image Loaded, Delta - (53248 Bytes)
  • TrustZone B - 1228113 - QSEE - Image Load, Start D - 26382 - Auth Metadata D - 22234 - Segments hash check D - 88999 - QSEE - Image Loaded, Delta - (4027792 Bytes)
  • Hypervisor B - 1402237 - QHEE - Image Load, Start D - 26383 - Auth Metadata D - 7045 - Segments hash check D - 35258 - QHEE - Image Loaded, Delta - (1491024 Bytes)
  • APDP B - 978348 - APDP - Image Load, Start D - 42212 - Auth Metadata D - 458 - Segments hash check D - 48434 - APDP - Image Loaded, Delta - (17332 Bytes)

验证安全启动和 UEFI 安全启动

  • 安全启动功能旨在确保设备仅使用制造商信任的软件启动。
  • UEFI 安全启动是安全启动的扩展,在统一可扩展固件接口(UEFI)环境中运行。
  • 为硬件启用安全启动对于实现硬件安全和保护知识产权至关重要。有关说明,请参阅启用安全启动和启用 UEFI 安全启动。
  • XBL 日志包含设备的安全启动状态。日志中包含有关启动接口、安全启动状态、启动配置、JTAG ID、OEM ID 和序列号的信息。

验证 SELinux 状态并自定义 SELinux 策略

  • 安全增强型 Linux(SELinux)是集成到 Linux 内核中的安全架构,提供支持访问控制安全策略的机制。
  • 验证设备软件的 SELinux 状态可防止对关键软件模块或驱动程序的未经授权访问。有关说明,请参阅启用 SELinux。
  • SEPolicy 是 SELinux 策略,用于定义进程和用户与系统资源交互的规则,在 Linux 中实施强制访问控制(MAC)。
  • 默认 SEPolicy 可能无法满足您应用程序的所有特定需求。通过创建自定义策略,您可以定义与应用程序需求相符的精确规则。有关说明,请参阅自定义 SEPolicy。
  • 要验证 SELinux 状态,请执行以下操作:
    1. 验证内核配置。
    1. 使用 SSH 连接到设备。请参阅 SELinux 构建上的 SSH 启用,以在 SELinux 强制模式下启用 SSH 登录。
    2. 通过运行 seinfo 命令查看 SELinux 启用状态和其他详细信息。
    1. 从控制台或通过 SSH 连接到设备,验证 SELinux 强制状态。

验证 PIL 镜像加载 - 示例日志

以下示例日志显示通过 PIL 加载的远程处理器和硬件组件的初始化和状态。
  • WLAN (remoteproc1)
  • cDSP (remoteproc3)
  • aDSP (remoteproc2)
  • MODEM (remoteproc0)
  • A660_zap
  • Video (Vpu20_1v.mbn)

验证 QCOMTEE 驱动程序状态

检查 TEE 设备节点。

验证 Qualcomm TEE Mink 和 GlobalPlatform API 可用性

Qualcomm® 可信执行环境(Qualcomm TEE)支持基于 Mink 和 GlobalPlatform 的 API,以提供对其中实现的安全服务的访问。Mink 是由 Mink Adaptor 库实现的基于对象 IPC 的协议,而 Mink TEEC 库实现了 GlobalPlatform 标准化 API,以实现设备间的互操作性和安全性。验证过程包括检查这些 API 是否正确实现并可供使用。
  1. 验证设备上 Mink Adaptor 和 Mink Teec 库的可用性。

验证 Qualcomm TEE supplicant 是否正在运行

QTEE supplicant 守护进程为 QTEE 提供富执行环境(Linux)服务,例如文件系统和时间服务。
  1. 验证 QTEE supplicant 守护进程是否正在运行。

验证 RPMB 配置状态

防重放保护内存块(RPMB)是在 UFS 或 eMMC 存储设备中定义的安全分区。存储在使用之前必须使用测试密钥或生产密钥对 RPMB 进行配置。要验证 RPMB 配置状态,请执行以下操作:
  1. 使用 SSH 连接到设备并运行以下命令。
    随后会显示以下消息。
  2. 选择选项 2: Check RPMB key provision status. 对于未配置的设备,预期输出为 RPMB_KEY_NOT_PROVISIONED。
  3. 您可以选择选项 1:仅在必要时使用测试密钥配置 RPMB,并在继续之前阅读以下注意事项。
    1. 一旦在非安全设备上使用测试密钥配置了 RPMB,该操作将不可逆。因此,此类设备无法启用安全启动。有关更多信息,请参阅 RPMB。

验证 Qualcomm WES 状态

此功能仅向具有授权访问权限的持证用户提供,用于验证 Qualcomm WES 状态。如果您有访问权限,请参阅 Qualcomm Linux Wireless Edge Services Guide。

验证可信应用程序和客户端应用程序

  • 可信应用程序在可信执行环境(TEE)中运行,提供安全隔离的环境,以保持代码和数据的完整性与机密性。
  • 客户端应用程序在普通世界操作系统中运行,使用 TEE 客户端 API 与可信应用程序通信以执行安全服务。
  • 要在安全世界(TrustZone)中执行安全关键型应用程序,您必须开发自己的可信应用程序。您必须拥有 Qualcomm TEE 软件开发工具包(SDK)的访问权限,才能开发启动可信应用程序的相应客户端应用程序。有关更多信息,请参阅开发可信应用程序和客户端应用程序。
此功能仅向具有授权访问权限的持证用户提供,用于开发和运行可信应用程序和客户端应用程序。如果您有访问权限,请参阅 Qualcomm Linux Security Guide - Addendum。

后续步骤