Feedback
Feedback

If you are having issues with the exercises, please create a ticket on DevZone: devzone.nordicsemi.com
Drag & Drop Files, Choose Files to Upload You can upload up to 2 files.

Hardware isolation

The foundation of the Platform Security Architecture (PSA) is isolation, where security is strengthened by separating the application execution environment into two regions: secure and non-secure processing environments. This hardware isolation is also applied in the nRF54L Series. Security by separation ensures that vulnerabilities or breaches in one part of the system do not compromise the entire device. It is a foundational aspect of achieving security by design.

The following lists the key benefits of isolation:

  • Enhanced security – Isolating critical components and data helps to contain potential breaches, minimizing risk to the entire device.
  • Fault containment – Faults are restricted to specific areas, preventing them from affecting other components.
  • Data integrity and confidentiality – Sensitive data is only accessible to authorized and secure areas of the system.

The secure environment in nRF54L Series devices handles peripherals, memory, and other functions that are critical for the device’s security. The non-secure region consists of the main user application and libraries.

In nRF54L Series devices, access permissions are controlled by TrustZone, Memory Privilege Controller (MPC), and System Protection Unit (SPU) security peripherals. This section of the lesson will cover these functionalities.

Arm TrustZone

When developing on the nRF54L Series using nRF Connect SDK, security by separation is achieved by leveraging Arm TrustZone. A secure firmware is built of two images:

  • Non-Secure Image contains the main user application and libraries
  • Secure Image is managed by components such as Trusted Firmware-M (TF-M), which handles security-critical operations and limits access to sensitive assets.

The Non-Secure Processing Environment (NSPE) and Secure Processing Environment (SPE) are outlined in the figure below. As can be seen, when the firmware is separated to Secure and Non-Secure regions, the user application cannot directly access restricted regions such as secure parts of flash or secure peripherals. Instead, the access to the data or peripherals must be provided from within the SPE.

By applying security by separation, sensitive data, such as cryptographic keys, credentials, and firmware, are protected from unauthorized access and potential disclosure. Isolation can also restrict peripheral access, allowing only specific functions to interact with secure hardware components.

Separation by security is achieved by dividing the application image into Non-Secure and Secure Processing Environments.

Separation by security is achieved by dividing the application image into Non-Secure and Secure Processing Environments.

Definition

S/NS: Secure/Non-Secure

HF: Hardware-Fixed

When building an application with security by separation, the board target is called <board_target>/ns or <board_target>/cpuapp/ns. This may seem counterintuitive at first, since ns here denotes the fact that the application is running in the Non-Secure Processing Environment, while the TF-M runs in the Secure Processing Environment, providing enhanced security.

 

System Protection Unit (SPU)

The System Protection Unit (SPU) configures the access privileges for a peripheral.

SPU allows access controls to be configured individually for each peripheral and for some peripheral features. For example, a DPPI channel can be configured with different access controls than the peripheral.

SPU controls access according to TrustZone security attributes. Peripheral security attributes are defined in the Peripheral Instantiation table as one of the following:

  • Always Secure (HF S): Access to the peripheral is restricted to secure code only.
  • Always Non-secure (HF NS): The peripheral can be accessed from both secure and non-secure code.
  • User selectable (US): The security attribute can be configured for secure or non-secure access.

Memory Privilege Controller (MPC)

The Memory Privilege Controller (MPC) enforces security for system memory access. It divides the address space into smaller regions and assigns permissions to these regions.

The main features of MPC are the following:

  • Address decoding
  • Configurable access permissions
  • Error reporting

When an attempt is made to access memory in a secure region from a non-secure region, the MPC denies the access and reports an access violation error. This allows for the detection and prevention of malicious attacks or intrusion attempts.

Switch language?

Progress is tracked separately for each language. Switching will continue from your progress in that language or start fresh if you haven't begun.

Your current progress is saved, and you can switch back anytime.

Register an account
Already have an account? Log in
(All fields are required unless specified optional)

  • 8 or more characters
  • Upper and lower case letters
  • At least one number or special character

Forgot your password?
Enter the email associated with your account, and we will send you a link to reset your password.