思考:
- 如何开发一个TA? sdk又是什么?
- 开发一个TA的流程是怎样的?How to do?
- 有关TA的签名介绍
- TEE开发Secure driver介绍
- RPMB的简介以及开发流程
- 共享内存的最大限制是什么?TA的栈内存/堆内存又有哪些限制
- TA都支持哪些密码学算法?
- TA都可以使用哪些存储接口?分别都存放在了哪里?
- 如何设计TA的跨平台能力?
接下来,我们来介绍RPB的概念及其开发流程。
首先,我们来看一下存储模型。在storage模型中,当CA调用TA时,TA只要调用TEE的存储API,数据就会自动存储到RPMB中。那么,RPMB具体包括哪些内容呢?这些内容会存储到哪里呢?它们既可以存储在普通磁盘中,也可以存储在RPMB中。这一过程在optee os架构下以及其他商业体系架构中都是适用的。我们调用同样的函数,只是传递的参数不同,有一个参数指明是调用磁盘还是调用RPMB。不管是磁盘还是RPMB,底层都会反向调用相应的驱动。
有一种实现方式是将RPMB变成一个secure driver模块,然后自定义一组RPMB API。TA调用RPMB API时,这些API会调用secure Driver,而secure Driver最终会调用TEE OS来完成RPMB的读写操作。这种模型非常直观,只要调用RPMB的API,