记录下自己对TrustZone的认识,主要分为以下几个方面:
技术目的: TrustZone 提供运行时安全,包括安全存储,安全计算,私钥签名,指纹对比,身份验证,授权管理,DRM认证等安全的功能
具体技术介绍: TrustZone是通过硬件和软件实现安全机制
TrustZone硬件架构:
1. 处理器虚拟化:处理器的架构上每个物理核虚拟为2个核,一个是安全核运行安全世界的代码,一个是非安全核运行普通世界的os,两个虚拟核之前通过时间片进行切换执行;
2. 外线/总线隔离技术: 在总线扩展了AWPROT(总线写事务控制信号)和ARPROT(总线读事务信号)。当低电平时为安全世界的总线读写控制信号,当高电平时为普通世界的读写控制信号。
3. 内存隔离结束:采用两个MMU(内存管理单元),把安全世界和普通世界的内存管理隔离开。
4. 中断隔离技术:为了区分安全世界和普通世界的中断,ARM设计了FIQ和IRQ两种不同的中断,设计者可以将FIQ用于安全世界的中断源,将IRQ用于普通世界的中断源。
TrustZone软件架构:
1. 安全世界中,采用独立的安全操作系统,提供统一的服务,Monitor Mode在同一CPU上两个操作系统间的切换。
2. 不同的安全需求加载不同的安全应用TA(Trusted Application),如支付宝TA。
相关标准: Trust OS基本遵循GP(GlobalPlatform)规范,TA只要使用GPAPI,就可以很容易移植到不同的TEE操作系统上。
市场情况: TrustZone的产业链相当广,在目前市面上大多数智能手机都带有TrustZone技术的芯片和操作系统。