# 安全 API

安全 API 提供了与 Linux 内核和设备硬件交互的能力。它们还促进了可以在受信任的执行环境中运行的各种软件服务。

## 用户空间 API

用户空间 API 是 Linux 操作系统用来与内核进行交互的函数。

此功能可供具有授权访问权限的许可开发者使用。如果您拥有访问权限，请参见[用户空间 API](https://docs.qualcomm.com/bundle/resource/topics/80-70018-11A/user-space-apis.html)。

## 为 PKCS#11 公开的接口

请参阅 [Cryptographic Token Interface Usage Guide](http://docs.oasis-open.org/pkcs11/pkcs11-ug/v2.40/pkcs11-ug-v2.40.html) 和 [Cryptographic Token Interface Base Specification](http://docs.oasis-open.org/pkcs11/pkcs11-base/v2.40/os/pkcs11-base-v2.40-os.html)。

## 内核 API

内核 API 功能允许 Qualcomm Linux 软件与设备硬件进行交互。

**加密 API**

`qcrypto.ko` 驱动程序位于 `/lib/modules/<version>/kernel/drivers/crypto/qce` 的设备上。内核级和用户级 API 都可以访问加密引擎。有关 API，请参阅内核加密文档[加密文档索引](https://www.kernel.org/doc/Documentation/crypto/)。

支持以下加密算法：

- RFC 4309 (CCCM(AES))
- CCM (AES)
- Authenc (HMAC (SHA-256), CBC (AES))
- Authenc (HMAC (SHA-256)、CBC(DES3\_EDE))
- Authenc (HMAC(SHA-256)、CBC(DES))
- Authenc (HMAC (SHA-1)、CBC (DES3\_EDE))
- Authenc (HMAC (SHA-1)、CBC (DES))
- HMAC (SHA-256)
- HMAC (SHA-1)
- SHA-256
- SHA-1
- CBC (DES3\_EDE)
- ECB (DES3\_EDE)
- CBC (DES)
- ECB (DES)
- XTS (AES)
- CTR (AES)
- CBC (AES)
- ECB (AES)

有关 Qualcomm 加密内核的更多信息，请参阅[加密](https://docs.qualcomm.com/bundle/publicresource/topics/80-70018-11/crypto-core.html)。

有关更多信息，请参阅 [Kernel.org ➝ Crypto API](https://www.kernel.org/doc/html/v6.6/crypto/index.html)。

**硬件随机数生成器 API**

Qualcomm Linux 支持使用 `qcom-rng` Linux 驱动程序的真随机数生成器。从 `qcom-rng` 生成的随机数使用内核加密作为随机数生成器 API。

在用户空间中，可以在 `/dev/hwrng` 处访问随机数。有关硬件随机数生成器的更多信息，请参阅位于 `https://www.kernel.org/doc/Documentation/hw_random.txt` 处的内核文档。

关于 PRNG API，请参阅[伪随机数生成器 API](https://docs.qualcomm.com/bundle/resource/topics/80-70018-11A/prng-apis.html)。此功能可供具有授权访问权限的许可开发者使用。

## Qualcomm TEE API

Qualcomm TEE 提供了一组 API，为安全应用程序提供服务。这些服务包括堆管理、日志、安全文件系统访问、侦听器交互以及加密和哈希函数。

此功能可供具有授权访问权限的许可开发者使用。如果您拥有访问权限，请参见 [Qualcomm Linux Security Guide - Addendum → Qualcomm TEE APIs](https://docs.qualcomm.com/bundle/resource/topics/80-70018-11A/trusted-execution-environment-apis.html)。

## 后续步骤

- 要了解如何开发和执行受信应用程序和客户端应用程序，请参阅[开发受信应用程序和客户端应用程序](https://docs.qualcomm.com/doc/80-70018-11SC/topic/develop_lru.html#develop-lru)。
- 有关示例代码和示例，请参阅[安全服务示例](https://docs.qualcomm.com/doc/80-70018-11SC/topic/examples-lru.html#examples-lru)。

Last Published: Apr 29, 2025

[Previous Topic
安全架构](https://docs.qualcomm.com/bundle/publicresource/80-70018-11SC/topics/architecture.md) [Next Topic
开发受信程序和客户端程序](https://docs.qualcomm.com/bundle/publicresource/80-70018-11SC/topics/develop_lru.md)