ARM中TrustZone技术可用于实现TEE, OP-TEE是ST和Linaro合作开发的TEE开源实现, 想研究安全系统源码的有福气了。以前OVOS的代码缺少TA相关的实现。这次的版本,基本框架都有了。先看看架构图吧。

TrustZone——开源库—Linaro—OP-TEE_软件工程

几家大公司做的,可能是ST牵头,页面有ST的LOGO。代码质量较高。未来也会成为大部分消费电子产品TEE的主要安全系统吧。这个是和Linaro配合的。去年海思已经有开发板直接发布Linaro的包了。也算是个重要分支吧。

Linaro的介绍。
Linaro,一间非营利性质的开放源代码软件工程公司,主要的目标在于开发不同半导体公司系统单芯片(SoC)平台的共通软件,以促进消费者及厂商的福祉。针对于各个成员推出的 ARM系统单芯片(SoC),它开发了ARM开发工具、Linux内核以及Linux发行版(包括 Android 及 Ubuntu)的主要自动建构系统。[1]
发展情况
由ARM、飞思卡尔、IBM、Samsung、ST-Ericsson 及德州仪器 (TI)等半导体厂商联合,在2010年3月成立。2010年6月在台北对外宣布这个消息。预计在2010年11月,推出第一版以ARM Cortex-A 为核心的 SoC 进行效能优化的软件工具。[1] 2011年5月,推出LAVA (Linaro Automated Validation Architecture)

Trusted OS使用一组线程来支持多任务并行运行(并不是完全支持!),下面是对不同任务的处理。当Trusted OS接收到标准或者快速calls 、FIQ、 SVC 和ABORT 甚至还有 PSCI calls时,在文件thread.c中负责分配处理程序的方法thread_init_handlers将会被调用。这些处理程序是对应特定平台的,换句话说,就是这些处理程序不具备很好的移植性,这个处理程序需要依据自己的运行平台自行设计。