AES Encryption Algorithm using ARM TrustZone Technology
With the huge impact of IoT devices, the security needs are becoming more important than what it had before. Since embedded systems have limited resources, the traditional security solutions are not quite fitting to IoTs because the huge power consumption and resource. ARM TrustZone Technology is a hardware based security feature using in ARM-based devices with minimum resource taken. TrustZone provides a critical environment to isolate security and non-security tasks within Normal and Security World. Both worlds can be a General Purpose Operating System (GPOS) or a Real-Time Operating System (RTOS) depending on designer has needs, and running simultaneously on the same processor. In general, cases, Normal world will be GPOS such as Linux, Android or iOS, and Secure World will be RTOS, because of the security tasks normally is “Time Critical”. In addition, a Secure Monitor handles the communication between Normal World and Secure World. Secure Monitor provides a set of Application Program Interface (API) as Secure Monitor Call (SMC) to provide secure functionalities for both worlds. The SMC runs the corresponding instructions to control Advanced eXtensible Interface (AXI) interconnects with the hardware security settings. This paper demonstrates an ARM Trustzone firmware implementing on Xilinx Zynq-7000 SoC, which is a tight integration of ARM processor (Processor System, PS) and Programmable Logic (PL). In addition, the paper is going to explaining details of TrustZone hardware configurations base on SAFE G, an open source TrustZone platform. The goal is analysis ARM TrustZone technology and programming a DEMO application. In this demonstration, I implemented a custom IP as PL to test the correction of functions of TrustZone, and an AES encryption as an example application to run on the system.