1、TrustZone介绍
TrustZone(TZ)是
arm处理器上支持的一种基于硬件的 TEE(Trusted Execution Environment)方案。
• 增加
CPU安全模式区分安全世界和非安全世界
•
芯片总线增加安全标识位区分访问模式
• 非安全
操作系统通过特殊指令SMC切换到安全系统
ARM CPU模式:
支持TZ的
SOC上,各芯片子系统和
模块都需增加安全支持,主要包括:
• TZ
控制器 – 配置安全内存和芯片模块的安全模式
• 安全硬件模块
• 安全模式可配置的硬件模块
Un
ISOc芯片安全子系统框图:
TrustZone软件平台一般架构:
主要包括如下模块:
• HLOS部分包括CA和TOS
driver
• Trusted OS部分包括Trusted OS(
kernel)和TA
• 运行于EL3/Monitor模式的 ARM Trusted
firmware
2、SPRDTEE软件架构
SPRDTEE是以
Google Trusty为基础开发的TEE软件平台,借助展锐芯片TrustZone模块,实现了系统范围的安全执行环境,以及较完备的安全应用和业务,可满足
Android平台安全相关规范的要求。
3、TOS模块介绍
Trusty OS Kernel可分为两部分:
1. LK(Little Kernel)所实现的OS基本模块,包括线程调度,中断处理,MMU,内存子系统,Timer,系统调用等。
2. Trusty OS实现的HLOS和Trusty OS之间的交互模块,包括Trusty
linux driver,SMC处理,IPC接口等
Secure Boot主要实现是在Trusty中完成的,包括kernel image,
Modem image校验等,此外,在Android平台上还包括Android Verified Boot功能的部分实现。
模块介绍(安全存储)
安全存储功能是通过在Trusty OS中对数据进行加密存储实现的,可提供普通文件的存储功能和RPMB存储功能。
1. 在Android端实现Storage服务程序完成对加密文件的存储
2. Trusty端实现Storage TA作为服务端处理安全文件操作请求
3. Trusty端提供Storage API给TA使用
模块介绍(指纹和FaceID)
指纹功能一般由指纹第三方厂商开发,Trusty提供
SDK并进行集成。 目前都是已动态TA的方式进行加载。 目前展锐提供FaceID的lite实现方式,在Trusty OS中存储Face模板 和校验比对,原始数据的采集仍然在Android完成。
更多详细内容请下载附件查看