# 验证 Qualcomm Linux 的安全配置

安全验证过程涉及检查和验证硬件和软件组件的[安全功能](https://docs.qualcomm.com/doc/80-70022-11SC/topic/features.html#features)，以确保其在 Qualcomm Linux 上安全运行。此过程确保列出的安全功能满足必要的要求，使系统稳健安全。

## 前提条件

> 
> 
> - [在设备上构建并加载软件](https://docs.qualcomm.com/bundle/publicresource/topics/80-70022-254/introduction.html)。
> - [在 Permissive 模式下启用安全 shell (SSH) 以安全地访问您的主机设备](https://docs.qualcomm.com/bundle/publicresource/topics/80-70022-254/how_to.html#use-ssh)。

### 验证 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 安全启动

- [安全启动](https://docs.qualcomm.com/doc/80-70022-11SC/topic/features.html#section-secure-boot-features)功能旨在确保设备仅使用制造商信任的软件启动。
- [UEFI 安全启动](https://docs.qualcomm.com/doc/80-70022-11SC/topic/features.html#section-uefi-secure-boot-features)是安全启动的扩展，可在统一可扩展固件接口 (UEFI) 环境中运行。
- 启用硬件的安全启动对于实现硬件安全和保护知识产权至关重要。有关说明，请参阅[启用安全启动](https://docs.qualcomm.com/doc/80-70022-11SC/topic/enable-secure-boot.html#enable-secure-boot)和[启用 UEFI 安全启动](https://docs.qualcomm.com/doc/80-70022-11SC/topic/enable-uefi-secure-boot.html#enable-uefi-secure-boot)。
- XBL 日志包含设备的安全启动状态。日志包括有关启动接口、安全启动状态、启动配置、JTAG ID、OEM ID 和序列号的信息。

> 
> 
> S - Format: Log Type - Time(microsec) - Message - Optional Info
>         S - Log Type: B - Since Boot(Power On Reset),  D - Delta,  S - Statistic
>         S - QC_IMAGE_VERSION_STRING=BOOT.MXF.1.0.c1-00037-KODIAKLA-1
>         S - IMAGE_VARIANT_STRING=SocKodiakLAA
>         S - OEM_IMAGE_VERSION_STRING=hu-apasunur-hyd
>         S - Boot Interface: USB **
>         S - Secure Boot: On **
>         S - Boot Config @ 0x00786070 = 0x000000c1
>         S - JTAG ID @ 0x00786130 = 0x001970e1
>         S - OEM ID @ 0x00786138 = 0x00000000
>         S - Serial Number @ 0x00786134 = 0x4172f1dd
>         Copy to clipboard

## 验证 SELinux 状态并定制 SELinux 策略

- [安全增强型 Linux (SELinux)](https://docs.qualcomm.com/doc/80-70022-11SC/topic/selinux.html#selinux) 是集成到 Linux 内核中的安全架构，它提供了一种支持访问控制安全策略的机制。
- 验证设备软件的 SELinux 状态，以防止对关键软件模块或驱动程序进行未经授权的访问。有关说明，请参阅[启用 SELinux](https://docs.qualcomm.com/doc/80-70022-11SC/topic/enable-selinux.html#enable-selinux)。
- [SEPolicy](https://docs.qualcomm.com/doc/80-70022-11SC/topic/features.html#section-selinux-sepolicy-features) 是 SELinux 策略，它定义进程和用户与系统资源交互的规则，在 Linux 中强制访问控制 (MAC)。
- 默认 SEPolicy 可能无法满足应用程序的所有特定要求。通过创建定制策略，您可以定义符合应用程序要求的精确规则。有关说明，请参阅[定制 SEPolicy](https://docs.qualcomm.com/doc/80-70022-11SC/topic/customize.html#section-customize-sepolicy-customization-label)。
- 要验证 SELinux 状态，请执行以下操作：

> 
> 
> 1. 验证内核配置：
> 
> 
> 
> 
> > 
> > 
> > CONFIG_SECURITY_SELINUX=y
> >         Copy to clipboard
> 
> 
>     2. 使用 SSH 连接至设备。
>     3. 通过运行 `seinfo` 命令查看 SELinux 启用状态和其他详细信息。
> 
> 
> 
> 
> > 
> > 
> > Statistics for policy file: /sys/fs/selinux/policy
> >         Policy Version:             33 (MLS enabled)
> >         Target Policy:              selinux
> >         Handle unknown classes:     allow
> >         Classes:                    131       Permissions:         423
> >         Sensitivities:              16        Categories:          1024
> >         Types:                      4376      Attributes:          319
> >         Copy to clipboard
> 
> 
>     4. 从控制台验证 SELinux 强制状态或使用 SSH 连接至设备。
> 
> 
> 
> 
> > 
> > 
> > getenforce
> >         enforcing - if selinux is set to enable
> >         Copy to clipboard

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

以下示例日志显示了各种远程处理器和硬件组件的初始化及状态，它们是主镜像加载器 (PIL) 管理的启动过程的一部分。PIL 负责加载和验证这些组件，以确保其安全性和功能正常。

> 
> 
> | WLAN (remoteproc1) | `730, 0x00000000000459B4 | 8.700828: remoteproc remoteproc1: Remote processor 8a00000. Remoteproc is now up` |
> | --- | --- |
> | cDSP (remoteproc3) | `735, 0x00000000000465A3 | 8.794052: remoteproc remoteproc3: Remote processor a300000. Remoteproc is now up` |
> | aDSP(remoteproc2) | `741, 0x00000000000469FC | 8.828033: remoteproc remoteproc2: Remote processor 3000000.remoteproc is now up` |
> | MODEM (remoteproc0) | `1035, 0x000000000006B78B | 13.433955: remoteproc remoteproc0: Remote processor 4080000. Remoteproc is now up` |
> | A660\_zap | `sh-5.1# dmesg | grep gfx`<br><br><br>`[7.822629] kgsl-iommu SoC@0:QCOM, kgsl-iommu@3da0000:gfx3d_user: Adding to iommu group 15`<br><br><br>`[7.870446] kgsl-3d 3d00000.qcom, kgsl-3d0: bound SoC@0:QCOM, kgsl-iommu@3da0000:gfx3d_user (ops kgsl_mmu_cb_component_ops [msm_kgsl])` |
> | Video (Vpu20\_1v.mbn) | `sh-5.1# dmesg | grep video`<br><br><br>`[7.094229] videodev: Linux video capture interface: v2.00`<br><br><br>`[7.847469] qcom-iris aa00000.video-codec: Adding to iommu group 17`<br><br><br>`[7.856647] qcom-iris aa00000.video-codec: no reset clocks found`<br><br><br>`[10.131119] [drm] [msm-dsi-warn]: [nt36672e LCD video mode DSI novatek panel with DSC] fall back to default te-pin-select`<br><br><br>`[10.188079] [drm:dsi_display_bind [msm_drm]] [msm-dsi-info]: Successfully bind display panel 'QCOM, mdss_dsi_nt36672e_fhd_plus_120_video '` |

## 验证 Qualcomm TEE mink/global platform TEE API 可用性

Qualcomm TEE 使用多种 API 管理安全应用以及与安全外设的交互。GlobalPlatform 为 Qualcomm TEE 提供标准化 API，确保跨设备的互操作性和安全性。验证过程包括检查这些 API 是否正确实现并可供使用。

1. 验证设备上库的可用性：

/usr/lib/
        libmink*
        libGPMTEE*
        libGPTEE*
        Copy to clipboard
2. 验证 mink 侦听器服务是否正在运行：

ps -ef | grep qtee_supplicant and qtee_supplicant is running
        ps -ef | grep ssgtzd
        Copy to clipboard

## 验证 SMC 调用驱动程序状态

安全监视调用 (SMC) 调用驱动程序可促进 TrustZone 与操作系统之间的通信。SMC 调用驱动程序状态包括有关初始化步骤、遇到的任何错误以及安全通信通道是否成功设置等信息。要验证 SMC 调用驱动程序状态，请执行以下操作：

1. 使用 SSH 连接至设备。
2. 验证 `/dev/smcinvoke` 节点是否存在：

ls -l /dev/smcinvoke
        Copy to clipboard

## 验证 RPMB 配置状态

回放保护内存模块 (RPMB) 是存储设备中的安全分区。RPMB 配置可确保 RPMB 已正确配置并准备好安全地存储和获取数据。要验证 RPBM 配置状态，请执行以下操作：

1. 使用 SSH 连接至设备并运行以下命令。

> 
> 
> sh-5.1# rpmbClient smci -p 1
>         Copy to clipboard

    随即显示以下消息。

> 
> 
> SMCINVOKE INTERFACE WARNING!!!
> You are about to provision the RPMB key.
> This is a ONE time operation and CANNOT be reversed.
> \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_
> 
> 
> 0 -&gt; Provision Production key
> 1 -&gt; Provision Test key
> 2 -&gt; Check RPMB key provision status
> \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_
2. 选择一个选项继续：2 RMPB 密钥状态：RPMB\_KEY\_NOT\_PROVISIONED (f)

Caution

一旦在非安全设备上使用测试密钥配置 RPMB，该操作将不可逆转。因此，无法在此类设备上启用安全启动。

## 验证 Qualcomm WES 状态

- [Qualcomm WES](https://docs.qualcomm.com/doc/80-70022-11SC/topic/features.html#section-qualcomm-wes-features) 可帮助轻松部署许多边缘设备，并无需人工干预即可进行管理。它包括即插即用设置、按需更新、紧急和常规升级以及在整个设备生命周期内启用第三方服务等服务。
- 如果您需要开发提供基于硬件的认证、零接触设备配置和芯片组功能管理的应用程序，请参阅[开发受信任和客户端应用程序](https://docs.qualcomm.com/doc/80-70022-11SC/topic/develop_lru.html#develop-lru)。
- 要安装或升级 QCS5430 SoftSKU 功能包，请参阅[安装或升级 SoftSKU 功能包](https://docs.qualcomm.com/doc/80-70022-11SC/topic/upgrade-qualcomm-wes-feature-pack.html#upgrade-qualcomm-wes-feature-pack)。

Note

此功能仅向拥有授权访问权限、可验证 Qualcomm WES 状态的授权用户开放。如果您拥有访问权限，请参见 [Qualcomm Linux Wireless Edge Services Guide](https://docs.qualcomm.com/bundle/resource/topics/80-70022-11B/bring-up-qwes.html)。

## 验证受信应用程序和客户端应用程序

- 受信任的应用程序在受信任的执行环境 (TEE) 中运行，提供安全且隔离的环境以保持代码和数据的完整性和机密性。
- 客户端应用程序在正常世界操作系统中运行，使用 TEE 客户端 API 与受信任的应用程序通信以执行安全服务。
- 您必须开发自己的可信应用程序，以便在安全世界 (TrustZone) 中执行安全关键型应用程序。您必须有权访问 Qualcomm TEE 软件开发包 (SDK) 才能开发启动受信程序的相应客户端程序。有关更多信息，请参阅[开发受信任和客户端应用程序](https://docs.qualcomm.com/doc/80-70022-11SC/topic/develop_lru.html#develop-lru)。

Note

此功能可供具有授权访问权限的许可用户使用，以开发和运行受信任的客户端应用程序。如果您拥有访问权限，请参阅 [Qualcomm Linux Security Guide - Addendum](https://docs.qualcomm.com/bundle/resource/topics/80-70022-11A/develop.html)。

## 后续步骤

- 要配置 Qualcomm TEE 以保护处理敏感数据和运行受信任应用程序的设备，请参阅[配置安全服务](https://docs.qualcomm.com/doc/80-70022-11SC/topic/configure.html#configure)。
- 要定制内存和 SEPolicy，请参阅[定制安全服务](https://docs.qualcomm.com/doc/80-70022-11SC/topic/customize.html#customize)。

Last Published: Apr 14, 2026

[Previous Topic
安全工具](https://docs.qualcomm.com/bundle/publicresource/80-70022-11SC/topics/tools.md) [Next Topic
配置安全服务](https://docs.qualcomm.com/bundle/publicresource/80-70022-11SC/topics/configure.md)