思考:
- 如何开发一个TA? sdk又是什么?
- 开发一个TA的流程是怎样的?How to do?
- 有关TA的签名介绍
- TEE开发Secure driver介绍
- RPMB的简介以及开发流程
- 共享内存的最大限制是什么?TA的栈内存/堆内存又有哪些限制
- TA都支持哪些密码学算法?
- TA都可以使用哪些存储接口?分别都存放在了哪里?
- 如何设计TA的跨平台能力?
接下来我们来看第一个问题:集成一家公司的TEE的工作需要做哪些事情,各方的职责是什么?
我这里画了一张图,这张图展示了一个典型的TEE组件。我们需要先了解TEE中包含的内容,这样才能知道如何进行集成。左边的图是一个非常简单的示意图,最初只有Linux和Android。现在,随着TEE OS的加入,还有了TA、CA、libteec.so、Tee-supplicant、tee driver以及ATF。因此,集成一家TEE的工作内容如下:
首先,必须修改TFA的代码。你需要能够编译TEE OS镜像,并且要有地方来放置它。你需要将其放到某个位置,并且要在Linux内核中集成tee driver,还要在用户空间中集成libteec.so及tee-supplicant。总之,需要把所有这些组件都集成到系统中,这对硬件和软件都提出了要求。
对于硬件要求,首先在大系统的软件