鲲鹏 TrustZone 初探
·
基本原理
ARM 硬件设计实现了硬件资源隔离,分为 REE 和 TEE:
REE:Rich Execution Environment,常规环境TEE:Trusted Execution Environment;安全环境

这两个环境各自拥有自己的资源,包括内存和 Cache。在被严格隔离的资源之上,TEE 和 REE 侧分别拥有自己的操作系统,用来执行用户的可信应用。
系统架构

应用程序分为 CA 和 TA 两部分:
CA:Client Application,可信应用客户端;在 REE 侧与 TA 配合使用的应用,负责与外部的通讯。TA:Trusted Application,可信应用,是指被部署在 TEE 内的应用程序,用于在 TEE 内处理机密的数据,需要与 CA 配合使用。
CA 与 TA 之间的通信依赖于 REE 侧的通信框架,包括用户态的 API 库、守护进程以及内核驱动;华为以 REE Patch 的方式提供,并在 openEuler 社区开源。
通信框架从程序开发者角度看,是将 TA 编译为 libcombine.so 动态库由 CA 调用。而对于 TA 的编译,由于在 TEE OS 中只内置了 LIBC 和 OPENSSL 库,如果使用其它库需要以静态链接的形式编译 TA。
参考资料
鲲鹏昇腾开发者社区是面向全社会开放的“联接全球计算开发者,聚合华为+生态”的社区,内容涵盖鲲鹏、昇腾资源,帮助开发者快速获取所需的知识、经验、软件、工具、算力,支撑开发者易学、好用、成功,成为核心开发者。
更多推荐

所有评论(0)