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
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.
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.
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.
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.
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.
- 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
- 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
- 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?
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
|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||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||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)||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|