Trusty系统基础入门

第一章:Trusty概述与定位

1. Trusty概述与定位

Trusty是Google为Android设备开发的基于ARM TrustZone技术的可信执行环境(TEE)操作系统。它提供了一个隔离的安全执行环境,用于处理敏感操作如加密、数字版权管理(DRM)和安全认证等。

核心特点

  • 基于ARM TrustZone技术的安全执行环境
  • 轻量级、高性能的微内核架构
  • 专为移动设备优化的安全解决方案
  • 与Android系统深度集成

(1) Trusty在Android安全体系中的角色

Trusty在Android安全架构中扮演着关键角色,特别是在处理敏感数据和操作方面:

与HAL的关系

Trusty通过硬件抽象层(HAL)与Android主系统交互。安全相关的HAL服务(如Keymaster)会将敏感操作委托给Trusty环境执行,确保这些操作在隔离的安全环境中完成。

与Keymaster的关系

Keymaster是Android的密钥管理服务,其关键操作通常在Trusty环境中执行:

  • 密钥生成和存储
  • 加密/解密操作
  • 数字签名验证
  • 安全认证操作

安全边界

Trusty建立了Android主系统与安全敏感操作之间的明确边界,确保即使主系统被攻破,关键安全操作仍能保持完整性。

(2) 与OP-TEE的对比

Trusty与OP-TEE都是基于ARM TrustZone的TEE实现,但设计理念和目标有所不同:

特性 Trusty OP-TEE
开发者 Google Linaro/开源社区
设计目标 专为Android优化 通用GP TEE标准实现
兼容性 主要支持Android设备 跨平台支持
API标准 Google自定义API 遵循GlobalPlatform TEE标准
集成度 与Android深度集成 相对独立
开源程度 部分开源 完全开源

选择考量

对于Android设备,Trusty提供了更好的集成度和性能优化;而对于需要遵循GP标准或跨平台的项目,OP-TEE可能是更好的选择。

(3) 支持硬件平台

Trusty支持多种主流移动处理器平台,各平台实现细节可能有所不同:

Q

高通(Qualcomm)

通过QSEE(高通安全执行环境)实现Trusty支持,集成在Snapdragon系列芯片中

M

联发科(MTK)

通过Trustonic TEE基础实现Trusty支持,常见于中高端MTK芯片

N

恩智浦(NXP)

在i.MX系列处理器上提供Trusty支持,适用于汽车和工业应用

H

海思(HiSilicon)

部分麒麟芯片支持Trusty,实现细节不公开

平台适配要点

虽然Trusty设计是通用的,但不同硬件平台可能需要特定的底层适配:

  • 安全监控模式调用(SMC)实现
  • 内存隔离配置
  • 硬件加密加速集成
  • 平台特定安全服务