Android 安全功能

使用本节中介绍的功能,尽可能提高您开发的 Android 设备的安全性。

应用沙盒

Android 平台利用基于 Linux 用户的保护机制来识别和隔离应用资源。为此,Android 会为每个 Android 应用分配一个独一无二的用户 ID (UID),并在其自己的进程中运行该应用。Android 使用此 UID 来设置内核级应用沙盒。

应用签名

应用签名允许开发者识别应用的作者,并在无需创建复杂的接口和权限的情况下更新其应用。在 Android 平台上运行的每个应用都必须由开发者签名。

身份验证

Android 使用用户身份验证门控加密密钥的概念,该概念需要加密密钥存储和服务提供商以及用户身份验证器。

在配有指纹传感器的设备上,用户可以注册一个或多个指纹,并使用这些指纹来解锁设备和执行其他任务。Gatekeeper 子系统在可信执行环境 (TEE) 中执行设备图案或密码身份验证。

Android 9 及更高版本包含受保护的确认功能,该功能为用户提供了一种正式确认关键交易(例如付款)的方式。

生物识别技术

Android 9 及更高版本包含 BiometricPrompt API,应用开发者可以使用该 API 以设备和模式不可知的方式将生物识别身份验证集成到其应用中。只有强生物识别技术才能与 BiometricPrompt 集成。

加密

设备加密后,所有用户创建的数据都会在提交到磁盘之前自动加密,并且所有读取操作都会在将数据返回到调用进程之前自动解密数据。加密可确保即使未经授权的方尝试访问数据,他们也无法读取数据。

密钥库

Android 提供硬件支持的密钥库,该密钥库提供密钥生成、非对称密钥的导入和导出、原始对称密钥的导入、采用适当填充模式的非对称加密和解密等等。

安全增强型 Linux

作为 Android 安全模型的一部分,Android 使用安全增强型 Linux (SELinux) 对所有进程(甚至是使用 root 或超级用户权限(Linux 功能)运行的进程)强制执行强制访问控制 (MAC)。

Trusty 可信执行环境 (TEE)

Trusty 是一种安全操作系统 (OS),它为 Android 提供可信执行环境 (TEE)。Trusty OS 与 Android OS 在同一处理器上运行,但 Trusty 通过硬件和软件与系统的其余部分隔离。

Verified Boot

Verified Boot 致力于确保所有执行的代码都来自可信来源(通常是设备 OEM),而不是来自攻击者或损坏。它建立了一个完整的信任链,从硬件保护的信任根到引导加载程序,再到启动分区和其他经过验证的分区。