ARM CPUs and their hardware security paradigm
To address security in ARM-based embedded systems, ARM provides the TrustZone framework, which defines two contexts of system execution – a normal execution context and a secure execution context. They make use of pre-defined security features at the hardware level, including the processor, the system peripherals, and the system interconnect. There are also specific software features that define the execution environment, as seen by software with multiple execution states known as the normal world and the secure world. These are defined in both the ARMv7 and ARMv8 architectures. The framework defines the separation methods between the normal and secure worlds, how the policy is enforced in the system architecture, and how moving between the worlds at the software level should happen. Separate software components can be running in parallel (with protected context switching) on the same hardware platform, which has both secure and...