0 参考资料
STM32MP1 OP-TEE.pdf
1 OP-TEE介绍:以stm32MP1平台为例
1.1 简介
OP-TEE(Open Portable Trusted Execution Environment)是一个开源的可信执行环境(TEE)框架,用于嵌入式系统中的安全应用程序执行。它提供了一种安全的执行环境,用于保护敏感数据和执行安全操作。相比TF-A自带的BL32,OP-TEE更容易扩展安全服务。OP-TEE的主要特点如下:
(1)安全操作系统
(2)由TF-A启动
(3)可以动态加载TA(Trust Application,可信应用)
(4)提供的安全服务可以贯穿设备整个上电期间
stm32MP1平台支持TrustZone,用于提高设备安全性。相比传统的不支持TrustZone的处理器,stm32MP1平台提供了TF-A、OP-TEE等安全相关的软件。加入了安全特性的stm32MP1平台的软件框架如下:
可以看到Cortex-A Secure相比Cortex-A Non-Secure多出了TF-A、OP-TEE,TF-A用于完成安全启动,OP-TEE是TEE OS,如果使用OP-TEE的话它会跟着linux内核同时运行,OP-TEE负责可信应用,linux对它而言就是一个普通的应用程序。在Cortex-A Non-Secure下就是传统的ARM处理器软件框架:uboot、linux kernel和根文件系统。
1.2 OP-TEE组成
OP-TEE由三大部分组成:OP-TEE操作系统(TEE OS)、OP-TEE客户端、OP-TEE例程与测试。可以参考下图:
1.2 OP-TEE启动过程
OP-TEE启动过程可以简单概括为以下几步:
(1)TF-A启动OP-TEE
(2)Linux启动OP-TEE驱动和客户端
(3)用户从Linux中调用OP-TEE服务