Platform Security Architecture

The Platform Security Architecture (PSA) is a holistic set of threat models, security analyses, hardware and firmware architecture specifications, and an open source firmware reference implementation. PSA provides a recipe, based on industry best practice, that allows security to be consistently designed in, at both a hardware and firmware level.

PSA is a contribution from Arm to the entire IoT ecosystem, from chip designers and device developers to cloud and network infrastructure providers and software vendors.

PSA is scalable for all connected devices, offering common ground rules and a more economical approach to building more secure devices.

If you’re ready to get started, access PSA resources now.

Visit PSA resources

Four key phases of PSA 

Analyze

The analyze phase offers a set of freely available example threat models and security analyses (TMSA) for three common IoT use cases. The goal of this stage is to analyze the threats that have the potential to compromise your device and generate a set of security requirements, based on the risks.

Architect

The architect phase contains a set of freely available hardware and firmware specifications that allow you to design-in the necessary security requirements for your device. These specifications include the PSA Security Model (PSA-SM), Trusted Base System Architecture for M-Profile (TBSA-M), PSA Firmware Framework (PSA-FF), Trusted Boot Firmware Update (TBFU). The PSA Security Model provides important terminology and methodology for PSA and informs the use of the other PSA specifications.

Implement

The implement phase provides an open source firmware reference implementation, APIs and an API test suite. Trusted Firmware-M is a reference implementation of secure world software. It provides SoC developers and OEMs with a reference trusted code base that complies with the PSA specifications.

Additionally, there are three sets of PSA APIs: PSA Developer APIs for RTOS and software developers, PSA Firmware Framework APIs for security specialists, and TBSA APIs for silicon manufacturers.

Certify

The certify phase, known as PSA Certified™, is an independent testing scheme developed by Arm and its security partners. The scheme is split into two key areas: PSA Functional API Certification and PSA Certified.

PSA Functional API Certification checks that software uses PSA interfaces correctly, through an API test suite.

PSA Certified consists of three progressive levels of assurance and robustness, enabling device makers to choose solutions appropriate to their use case.


Visit PSA Resources


PSA security framework

  • PSA Functional API Certification checks compliance to PSA architectural specifications.
  • PSA Certified tests that the correct level of security robustness has been implemented, as defined by the analyze phase.

Platform Security Architecture security evaluation block diagram.


Platform Security Architecture Information Block Diagram.

Standardized isolation

  • Designed to secure low cost IoT devices, where a full Trusted Execution Environment (TEE) would not be appropriate
  • PSA protects sensitive assets (keys, credentials and firmware) by separating these from the application firmware and hardware
  • PSA defines a Secure Processing Environment (SPE) for this data, the code that manages it and its trusted hardware resources
  • PSA is architecture agnostic and can be implemented on Cortex-M, Cortex-R and Cortex-A-based devices
  • The initial focus is Cortex-M-based devices


Platform Security Architecture Standardized Interfaces Diagram.

Standardized interfaces

  • PSA specifies interfaces to decouple components:
    • Enables reuse of components in other device platforms
    • Reduces integration effort
  • Partners can provide alternative implementations:
    • Necessary to address different cost, footprint, regulatory or security needs
  • PSA provides an architectural specification:
    • Hardware, firmware and process requirements and interfaces

Example of IoT device implementation diagram

Example of IoT device implementation

  • OEMs can choose their preferred implementations.
  • Trusted Firmware-M will be a new OSS project:
    • To reduce rework across our partners
    • To speed up device or component validation against standards such as Common Criteria EAL
  • Open to any RTOS and other partners

Want to know more about Security on Arm?

Learn more


Get support

Arm support

Arm training courses and on-site system-design advisory services enable licensees to realize maximum system performance with lowest risk and fastest time-to-market.

Arm training courses  Open a support case

Community Forums

Answered Where do I find presentations and photos from SC'18? 1 votes 884 views 0 replies Started 5 months ago by John Linford Answer this
Answered Binary Semaphore upset by FIQ
  • Cortex-A
0 votes 661 views 20 replies Latest yesterday by 42Bastian Schick Answer this
Suggested answer Vulkan shader problem on Mali Gpu: Accessing array elements inside an Uniform buffer returns all-zero values
  • Graphics Application
  • Mali Vulkan SDK
  • vulkan sdk
0 votes 427 views 10 replies Latest 2 days ago by Hongkun Wang Answer this
Not answered Identifying Generic IP Components on an Access Port 0 votes 35 views 0 replies Started 2 days ago by Torsten Robitzki Answer this
Not answered List of configuration options in .uvprojx and .uvoptx files (Keil uVision 5)
  • Development Tools
  • Keil
  • uVision
  • Keil Tools
  • Software Development Tools
0 votes 28 views 0 replies Started 2 days ago by Bojan Potocnik Answer this
Not answered Issue with WatchDog reset De-asserting 0 votes 44 views 0 replies Started 2 days ago by BAB Answer this
Answered Where do I find presentations and photos from SC'18? Started 5 months ago by John Linford 0 replies 884 views
Answered Binary Semaphore upset by FIQ Latest yesterday by 42Bastian Schick 20 replies 661 views
Suggested answer Vulkan shader problem on Mali Gpu: Accessing array elements inside an Uniform buffer returns all-zero values Latest 2 days ago by Hongkun Wang 10 replies 427 views
Not answered Identifying Generic IP Components on an Access Port Started 2 days ago by Torsten Robitzki 0 replies 35 views
Not answered List of configuration options in .uvprojx and .uvoptx files (Keil uVision 5) Started 2 days ago by Bojan Potocnik 0 replies 28 views
Not answered Issue with WatchDog reset De-asserting Started 2 days ago by BAB 0 replies 44 views