TrustZone之可信操作系统

有许多可信内核,包括商业和开源的。一个例子是OP-TEE,最初由ST-Ericsson开发,但现在是由Linaro托管的开源项目。OP-TEE提供了一个功能齐全的可信执行环境,您可以在OP-TEE项目网站上找到详细的描述。

OP-TEE的结构如下图所示:

OP-TEE内核在S.EL1中运行,托管Trusted应用程序在S.EL0中运行。Trusted应用程序通过TEE内部API与OP-TEE内核通信。TEE内部API是由GlobalPlatform组开发的标准API。GlobalPlatform致力于开发标准API,这些API得到了许多不同TEE的支持,不仅仅是OP-TEE。

【注意】:在前面的图中,Trusted应用程序未显示为OP-TEE组件。这是因为它们不是核心OP-TEE操作系统的一部分。OP-TEE项目确实提供了一些示例Trusted应用程序供人们进行实验。

在非安全状态下,内核空间中有一个低级别的OP-TEE驱动程序。这负责处理与OP-TEE内核的低级通信。

在非安全用户空间(EL0)中,有一个实现另一个GlobalPlatform API的用户空间库。TEE客户端API是应用程序用来访问Trusted应用程序或服务的API。在大多数情况下,我们不希望应用程序直接使用TEE客户端API。相反,可能会有另一个特定于服务的库提供更高级别的接口。

OP-TEE还包括一个被称为tee-supplicant的组件。tee-supplicant处理由OP-TEE支持且需要一定程度的rich OS交互的服务。其中一个例子是安全存储。

相关推荐
安全二次方security²6 小时前
SMMU软件指南SMMU编程之虚拟机结构和缓存
缓存·cache·smmu·arm安全架构·系统mmu·虚拟机结构·vms
安全二次方security²18 小时前
SMMU软件指南SMMU编程之事件队列
smmu·arm安全架构·事件队列·系统mmu·event queue·smmu编程·smmu软件指南
シ風箏1 天前
Neo4j【环境部署 02】图形数据库Neo4j在Linux系统ARM架构下的安装使用
linux·数据库·arm·neo4j
徐某人..4 天前
ARM嵌入式学习--第八天(PWM)
arm开发·学习·arm
徐某人..4 天前
ARM嵌入式学习--第七天(GPT)
学习·arm
whik11948 天前
Keil-MDK开发环境编译后axf自动转换bin格式文件
stm32·arm·keil·axi·bin·mdk
编程零零七9 天前
【Python】tensorflow中的argmax()函数
开发语言·python·信息可视化·数据分析·arm·python学习·python数据可视化
嵌入式小能手12 天前
shell编程入门之提取字符并设置rtc时间
linux·单片机·嵌入式硬件·arm
爱喝纯牛奶的柠檬16 天前
基于stm23的智慧宿舍系统 (DAY10)_小程序
stm32·嵌入式硬件·物联网·阿里云·小程序·arm
嵌入式小能手16 天前
自动化点亮LED灯之shell点灯
linux·单片机·嵌入式硬件·arm