Virtual Machine Monitor / Hypervisor 1 2 3 TrustZone Secure Monitor (Highest Privilege) Secure Apps Secure Operating System Non-secure State Secure State s on Returns

TrustZone also expands the standard “Exception Level” privilege model for the CPU. Before TrustZone, three levels existed: EL0 (user-mode), EL1 (kernel-mode) and EL2 (hypervisor-mode). TrustZone adds a new EL3 (secure monitor mode), which is the most privileged level and controls the entire system. How ARM’s TrustZone works? Usually, an ARM Cortex-A processor has 3 execution modes: user mode, kernel mode and hypervisor mode. In a typical system running GNU/Linux, the applications run in user mode, the Linux kernel runs in kernel mode and the hypervisor mode is not used. ARM’s TrustZone introduces a new mode: the secure monitor mode. What is TrustZone? TrustZone is the name of the Security architecture in the Arm A-profile architecture. First introduced in Armv6K, TrustZone is also supported in Armv7-A and Armv8-A. TrustZone provides two execution environments with system-wide hardware enforced isolation between them, as shown in this diagram: Setup VPN. Step 1. Select your Operating System in order to begin setup connection wizard to Trust.Zone. Unblock websites, overcome censorship and surf anonymously with a Trust.Zone VPN. Strictly speaking, TrustZone is only a processor feature that provides isolation between tasks via the MMU and the memory bus. You can think of it as a poor man's virtualization: there's just the hypervisor (the TZ secure world) and the regular operating system (the TZ normal world).

TrustZone And CPU Modes In TRACE32 CPU modes in Register window Register modes in CPSR bits 0..4 “user mode”: usr “kernel modes”: fiq, irq, svc, abt, und, sys “hypervisor mode”: hyp (only non-secure) “monitor mode”: mon (only secure)

TrustZone for Cortex-A. TrustZone is used on billions of application processors to protect high-value code and data for diverse use cases including authentication, payment, content protection and enterprise. On application processors, TrustZone is frequently used to provide a security boundary for a GlobalPlatform Trusted Execution Environment.

LTZVisor is a lightweight TrustZone-assisted hypervisor. It allows the consolidation of two virtual machines (VMs), running each of them in an independent virtual world (secure and non-secure) supported by TrustZone-enabled processors.

TrustZone-assisted hypervisor that distinguishes itself from state-of-the-art TrustZone solutions by implementing a microkernel-like architecture while following an object-oriented approach. Contrarily to existing microkernel-based solutions, mRTZVisor is able to run nearly unmodified guest OSes,