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 enforcing 模式下启用 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 和 Global Platform 的 API,以提供对其中实现的安全服务的访问。Mink 是由 Mink Adaptor 库实现的基于 Object-IPC 的协议,而 Mink TEEC 库实现了 Global Platform 标准化 API,以实现设备间的互操作性和安全性。验证过程涉及检查这些 API 是否已正确实现并可供使用。
  1. 验证设备上 Mink Adaptor 和 Mink Teec 库的可用性。

验证 Qualcomm TEE supplicant 是否正在运行

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

验证 RPMB 配置状态

重放保护内存块(RPMB)是在 UFS 或 eMMC 存储设备中定义的安全分区。在使用之前,必须先使用测试(Test)或生产(Production)密钥对存储进行 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

后续步骤