TrustZone technology for Armv8-A

Architecture of Trusted Execution Environment Information Slide.

Arm TrustZone is used on billions of applications' processors to protect high-value code and data. It is frequently used to provide a security boundary for a GlobalPlatform Trusted Execution Environment.

TrustZone is built on Secure and Non-secure worlds that are hardware separated. The partitioning of the two worlds is achieved by hardware logic present in the AMBA bus fabric, peripherals and processors.

In order to implement a Secure state in the SoC, trusted software (Trusted OS) needs to be developed to make use of the protected assets. This code typically implements trusted boot, the Secure world switch monitor, a small trusted OS and trusted apps. The combination of TrustZone based hardware isolation, trusted boot and a trusted OS make up a Trusted Execution Environment (TEE), which can be used alongside other security technology.

Learn more about the GlobalPlatform TEE.

Resources

Supporting documentation and resources for developing with TrustZone for Armv8-A

Architecture overview

Documentation demonstrating the fundamentals to the Armv8-A architecture.

Learn more

Specification library

Specifications and technical documents, which are subject to the Global Platform TEE.

Learn more

TrustZone-based TEE and FIDO authentication

White paper explaining how to secure the future of authentication with Arm TrustZone-based Trusted Execution Environment (TEE) and Fast Identity Online (FIDO).

Download

Software and tools

Explore software and tools available from Arm to maximize the capabilities of your TrustZone-enabled device

Arm Development Studio

Flagship embedded tool suite where multicore scalability meets enhanced productivity, enabled by CMSIS.

Learn more

Trusted Firmware-A

Trusted Firmware-A (TF-A) provides a reference implementation of Secure world software for Armv7-A and Armv8-A.

Learn more

Training

Explore training materials for TrustZone, delivered by the world's most experienced Arm technology trainers

Arm TrustZone technology training

This course provides platform developers a complete overview of designing trusted systems with Arm TrustZone, introducing the privilege model and memory separation features of the Armv8-A architecture.

Learn more

TrustZone forArmv8-A

This course provides an insight into the purpose and functionality of Arm TrustZone for Armv8-A technology, explaining some of the use cases for TrustZone and the architectural features.

Learn more

Get support


Community Blogs

Community Forums

Suggested answer ETM trace can't work on M4F
  • CoreSight ETM-M4
0 votes 67 views 2 replies Latest 9 hours ago by Andy Neil Answer this
Suggested answer Dynamic Vector Table in RAM...
  • Interrupt Handling
0 votes 49 views 1 replies Latest 10 hours ago by 42Bastian Schick Answer this
Not answered How to Generate Exceptions on Cortex M3?
  • Armv7 Exception Model
  • Cortex-M3
0 votes 32 views 0 replies Started 10 hours ago by aaerciyas Answer this
Suggested answer Illegal Instruction arm926ej-s Linux
  • Embedded Linux
  • arm926ej-s
0 votes 200 views 1 replies Latest 12 hours ago by schrodingersket Answer this
Suggested answer Is there any way to enforce padding between subroutines using the scatter file?
  • Cortex-M23
  • Arm Assembly Language (ASM)
0 votes 150 views 5 replies Latest 12 hours ago by 42Bastian Schick Answer this
Not answered CortexARM Cortex M0 and M3 0 votes 37 views 0 replies Started 22 hours ago by Pranjal Answer this
Suggested answer ETM trace can't work on M4F Latest 9 hours ago by Andy Neil 2 replies 67 views
Suggested answer Dynamic Vector Table in RAM... Latest 10 hours ago by 42Bastian Schick 1 replies 49 views
Not answered How to Generate Exceptions on Cortex M3? Started 10 hours ago by aaerciyas 0 replies 32 views
Suggested answer Illegal Instruction arm926ej-s Linux Latest 12 hours ago by schrodingersket 1 replies 200 views
Suggested answer Is there any way to enforce padding between subroutines using the scatter file? Latest 12 hours ago by 42Bastian Schick 5 replies 150 views
Not answered CortexARM Cortex M0 and M3 Started 22 hours ago by Pranjal 0 replies 37 views