# Security architecture

Arm^®^ v8 has enhanced the TrustZone technology to incorporate security into its architecture. This technology offers a security framework that allows a device to handle security threats at both software and hardware levels.

Note

The architectural information is for comprehension purposes only. You don’t need to perform any configuration or customization.

Arm’s hardware solution allows the design and deployment of software, applications, or services within a secure execution environment. This environment is a separate execution unit that ensures hardware isolation from non‑secure execution environments. For more information, see [Qualcomm® Trusted Execution Environment (Qualcomm TEE)](https://docs.qualcomm.com/doc/80-70023-11/topic/features.html#section-qualcomm-tee-features).

Qualcomm^®^ Linux^®^ operates on a 64‑bit Arm 8.x architecture. In this setup, Arm cores have two execution modes:

> 
> 
> - Non‑secure mode: Linux operates in this mode of the Arm core.
> - Secure mode: Qualcomm TEE and trusted applications operate in this Secure mode of the Arm core.

The secure mode of the Arm core forms the essence of the TrustZone technology. It provides a hardware-based security environment for a secure OS and separates the secure world from the non‑secure world.

The following figure shows the Qualcomm Linux security software architecture. It shows the distribution of components or modules across both the rich (user space and kernel space) and trusted execution environments.

![../../../../../_images/security-software-component-updated.png](data:image/png;base64,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)

**Figure : Qualcomm Linux security software components**

The Qualcomm Linux security software has the following key components, each operating in different execution environments.

Table : Execution environments and key components

| Exception levels | Software components |
| --- | --- |
| [Non-secure EL0](https://docs.qualcomm.com/doc/80-70023-11/topic/architecture.html#section-linux-user-space-non-secure-el0-label) | Linux user space - MINK, key management, client applications,and Qualcomm^®^ wireless edge services (WES) |
| [Non-secure EL1](https://docs.qualcomm.com/doc/80-70023-11/topic/architecture.html#section-linux-kernel-space-non-secure-el1-label) | Linux kernel space - Secure monitor call (SMC) invoke and cryptographic/pseudo-random number generator (PRNG) driver |
| [Non-secure EL2](https://docs.qualcomm.com/doc/80-70023-11/topic/architecture.html#section-qualcomm-hypervisor-non-secure-el2-label) | Qualcomm^®^ Hypervisor |
| [Secure EL0](https://docs.qualcomm.com/doc/80-70023-11/topic/architecture.html#section-qualcomm-tee-sdk-secure-el0-label) | Qualcomm TEE SDK and trusted application |
| [Secure EL1](https://docs.qualcomm.com/doc/80-70023-11/topic/architecture.html#section-qualcom-tee-mink-secure-el1-label) | Qualcomm TEE MINK |
| [Secure EL3](https://docs.qualcomm.com/doc/80-70023-11/topic/architecture.html#section-secure-monitor-secure-el3-label) | Secure monitor |

## Linux user space (Non-secure EL0)

This user space includes the primary security modules/interfaces present in the Linux user space, which operates in non-secure EL0 according to the [Arm exception levels](https://developer.arm.com/documentation/102412/0103/Privilege-and-Exception-levels/Exception-levels).

> 
> 
> - MINK - Linux (MINK platform/system listener services/transport mechanism)
> 
>     - Provides the services and transport mechanism to use the Qualcomm TEE capabilities through trusted applications.
>     - Forms the system listener services, designed to extend the Qualcomm TEE functionalities. The MINK interface is also commonly known as [SMC invoke](https://docs.qualcomm.com/doc/80-70023-11/topic/features.html#section-smc-invoke-features).
>     - Implements the global platform TEE client APIs for running global platform-based trusted applications through `libGPTEEC` and `libMTEEClibraries`. For more information, see [TEE Client API Specification](https://globalplatform.org/specs-library/tee-client-api-specification/).
>     - Implements client applications in a rich execution environment (Linux user space). It interacts with the trusted application that operates in Qualcomm TEE. The various client applications include:
> 
>         - SMC invoke-based/MINK client applications
>         - Client application that’s developed using MINK/SMC invoke APIs
>         - Global platform-based client application
>         - Client application that’s developed using the global platform-based TEE client API specification

- Key management

> 
> 
> - The cryptographic client library (`libckteec`) interfaces with the PKCS#11 interface of TEE. User space applications running on Linux can use this library for direct access to the PKCS#11 interface.
>     - The `libckteec` library defines the interface between an application and a cryptographic device, enabling applications to treat cryptographic devices as tokens and perform cryptographic functions as implemented by these tokens.
>     - The PKCS#11 interface provides a range of cryptographic services for encryption, decryption, signature generation, signature verification, and permanent key storage.
> 
> 
> 
> The figure shows key management in the kernel and user space.
> 
> 
> 
> > 
> > 
> > ![../../../../../_images/key-management-updated.png](data:image/png;base64,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)
> > 
> > **Figure : Key management in kernel and user space**
- For more information about key management, see [Qualcomm WES](https://docs.qualcomm.com/doc/80-70023-11/topic/features.html#section-qualcomm-wes-features) and [Storage encryption](https://docs.qualcomm.com/doc/80-70023-11/topic/features.html#section-storage-encryption-features).
- For more information about the various security software components, see [Security features](https://docs.qualcomm.com/doc/80-70023-11/topic/features.html#features).

## Linux - Kernel space (Non‑secure EL1)

The following are the security-specific kernel drivers:

> 
> 
> - SMC invoke driver:
> 
> 
> 
> > 
> > 
> > - Provides a Linux abstraction for Qualcomm TEE objects by encapsulating them in file descriptors.
> >     - Marshalls invocations into the Qualcomm TEE objects in buffers that are shared with Qualcomm TEE.
> >     - Tracks and dispatches callback invocations to Linux processes.
> >     - Tracks all the shared memory objects, providing information about them to Qualcomm TEE.
> - For the CM and cryptographic/PRNG drivers, see the respective kernel documentation.

## Qualcomm Hypervisor (Non‑secure EL2)

For more information, see [Qualcomm Hypervisor](https://docs.qualcomm.com/doc/80-70023-11/topic/features.html#section-qualcomm-hypervisor-features).

## Qualcomm TEE SDK (Secure EL0)

Qualcomm offers a software development kit (SDK) for developing and building trusted applications. This SDK includes the necessary build system, header files, and library dependencies to compile trusted applications.

- Trusted applications. See [Qualcomm TEE → Trusted applications](https://docs.qualcomm.com/doc/80-70023-11/topic/features.html#section-qualcomm-tee-features).
- To develop the SMC invoke trusted applications, global platform trusted applications, and IDL/Object-based Qualcomm TEE, service APIs are available to licensed developers with authorized access. For more information, see [Qualcomm Linux Security Guide - Addendum](https://docs.qualcomm.com/bundle/resource/topics/80-70023-11A/overview-addendum.html).

## Qualcomm TEE MINK (Secure EL1)

In a Qualcomm TEE kernel-based system, software operates in one or more communicating domains, such as the kernel domain or user domain.

These domains vary in their ability to access memory and other system resources.

> 
> 
> - One of these domains, referred to as the kernel domain, executes at secure EL1 and has complete control over the system resources.
> - The other domains, known as user domains or processes, run at secure EL0 and have restricted access to system resources. MINK allows for precise control over the access granted to a process.

An IPC primitive is an object capability-based synchronous message passing facility, which allows code execution in one domain to invoke objects running in other domains. The IPC MINK-primitives enable communication between the domains.

## Secure monitor (Secure EL3)

The secure monitor, a component of TrustZone, is responsible for managing the transition between the secure and non‑secure worlds.

It operates in Monitor mode, which is activated by running the secure monitor call (SMC) instruction from a privileged Arm mode.

The secure monitor ensures correct context saving and restoration when switching between the non‑secure and secure worlds. Additionally, it handles the initial processing of secure interrupts.

## Next steps

- To learn about security tools and how to integrate them into your workflows, see [Security tools](https://docs.qualcomm.com/doc/80-70023-11/topic/tools.html#tools).
- To explore the full range of integrated protections and capabilities, see [Security features](https://docs.qualcomm.com/doc/80-70023-11/topic/features.html#features).

Last Published: Apr 14, 2026

[Previous Topic
Security overview](https://docs.qualcomm.com/bundle/publicresource/80-70023-11/topics/overview.md) [Next Topic
Security features](https://docs.qualcomm.com/bundle/publicresource/80-70023-11/topics/features.md)