TrustZone[link] is a technology introduced by ARM, aimed to provide security for various platforms. It secures peripherals such as secure memory, crypto blocks, keyboard and screen to ensure they can be protected from software attack. TrustZone technology allows the processor to evaluate the code in Normal world user mode and Secure world user mode, and ensures that normal world code can't acceess secure world resources. This kind of mode switch is called monitor mode. For example, software can trigger the monitor mode by calling Secure Monitor Call instruction (SMC)[link], or by exceptions mechanism.
At its minimum, the students taking this project should deliver the following:
- Simulate the hardware architecture of TrustZone, including Normal world, Secure world and Monitor Mode in high-level language, e.g. C++, Java, Python
- Simulate the working of TrustZone, including context switch between Normal world and Secure world via Monitor Mode and SMC mechanism
- Write a simple application to demonstrate the implementation
Requirements for Mid-term report
- Read the provided materials, understand concept of TrustZone and the new instructions (e.g.
- Understand the working of TrustZone
- Provide concret design of TrustZone emulator
Design and implement an emulator to emulate the working of TrustZone.
Design a security system to take advantage of TrustZone features.
- Example: Build TLR in TrustZone [pdf]