論文ID: 2024ICP0004
ARM TrustZone technology is widely used to provide Trusted Execution Environments (TEEs) for sensitive applications. However, most TEE OSes are implemented as monolithic kernels. In such designs, all components run in the kernel which will lead to a big trusted computing base (TCB). It is difficult to guarantee that all components of the kernel have no security vulnerabilities. The functions of trusted computing, such as integrity measurement and data sealing, will provide further security guarantees. This paper presents MicroTEE, a TEE OS with rich trusted computing primitives based on the microkernel architecture. In MicroTEE, the microkernel provides strong isolation for services and applications. The kernel is only responsible for providing core services such as address space management, thread management, and inter-process communication. Other fundamental services, such as trusted service, are implemented as applications at the user layer. Trusted computing primitives provide some security features for trusted applications (TAs), including integrity measurement, data sealing, and remote attestation. Our design avoids the compromise of the whole TEE OS if some kernel service is vulnerable. A monitor has also been added to perform the switch between the secure world and the normal world. Finally, we implemented a MicroTEE prototype on the Freescale i.MX6Q Sabre Lite development board and tested its performance. Evaluation results show that MicroTEE only introduces some necessary and acceptable overhead.