思考:
- 如何开发一个TA? sdk又是什么?
- 开发一个TA的流程是怎样的?How to do?
- 有关TA的签名介绍
- TEE开发Secure driver介绍
- RPMB的简介以及开发流程
- 共享内存的最大限制是什么?TA的栈内存/堆内存又有哪些限制
- TA都支持哪些密码学算法?
- TA都可以使用哪些存储接口?分别都存放在了哪里?
- 如何设计TA的跨平台能力?
接下来我们探讨TA可以使用哪些存储接口及其存储。此前我们介绍了存储系统和RPP,但具体存储位置尚未详细说明。下面将为大家罗列一下。
当我们调用TEE_CreatePersistentObject接口时(TEE_STORAGE_PRIVATE
),可以通过设置一个flag值来扩展其功能。例如,OP-TEE扩展了REE-FS和RPMB-FS两个存储接口。
REE-FS代表反向存储到REE侧的data分区。这是一个数据分区,断电不会丢失数据,但在刷机或恢复出厂设置时数据会丢失。而RPMB-FS存储在RPMB中,其特点是在断电和恢复出厂设置后数据都不会丢失。
有些厂商利用RPMB-FS机制,反向调用存储接口后具体存储位置由系统集成工程师配置。他们可以将其配置为RPMB、persist或其它分区。无论配置为何种分区,这些存储都具有恢复出厂设置不丢失的特性。当然,集成工程师也可能误配置,使得存储位置在恢复出厂设置时会丢失数据。因此,根据需求,存储位置可以配置为丢失或不丢失的数据分区。