一、背景
Android 平台作为一个开放的软件平台,正在越来越多的受到恶意软件的攻击,体现在用户的敏感数据被窃取、数字版权被滥用、移动支付存在重大安全隐患等等。因此,需要在 Android 平台中引入一个可信执行环境,用来进行数字版权管理(DRM : Digital Rights Management )、移动支付和敏感数据保护。
二、定义
TEE 是 Trusted Execution Environment 的缩写,即 可信执行环境。通常用来进行数字版权管理(DRM : Digital Rights Management )、移动支付和敏感数据保护。
TEE 的实现是基于 ARM TrustZone。
安全特点:
- 受硬件机制保护:TEE隔离于REE、只能通过特定的入口与TEE通信。
- 快速通信机制:TEE可以访问REE的内存、REE无法访问受硬件保护的TEE内存。
- 可抵御某些基于硬件的攻击。
三、TEE 的应用场景
- 内容保护机制:对于一些高清电影、音乐等,防止被盗用。
- 移动金融服务:手机支付等
- 认证:指纹识别、面部识别等
- 企业或者*,机密信息的保护
四、其它相关概念
1. REE
REE(Rich Execution Environment)是所有移动设备通用的环境,运行通用的 OS(Operating System),例如 Android,IOS 系统等。
安全隐患:
- OS 代码庞大,容易出现漏洞
- OS 可以看到 APP 内部所有数据
- 存在大量恶意代码和高级攻击技术
2. TA
TA 是 Trusted Application 的缩写,通常运行在 TEE 环境下的应用简称为 TA。
3. CA
CA 是 Client Application 的缩写,通常运行在 REE 环境下的应用简称为 CA。
4. TrustZone
基于 ARM 架构的移动平台芯片理论上都支持 TrustZone。TrustZone 是独立的一个安全的世界,基于 TrustZone 可实现 TEE。
五、架构图
通常一个流程为:
打开 TEE 环境 > 开启一个会话 > 发送命令 > 获取信息 > 结束会话 > 关闭 TEE 环境。