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||802 views||0 replies||Started 4 months ago by John Linford||Answer this|
|Not answered||Count Main TLB miss||0 votes||5 views||0 replies||Started 5 hours ago by scribnote5||Answer this|
|Suggested answer||Hi, I need RVCT V3.1 569 Any idea how / where can I get it?||0 votes||32 views||1 replies||Latest 9 hours ago by Ronan Synnott||Answer this|
|Not answered||Non-secure code calling secure code - Boot Loaders||0 votes||29 views||0 replies||Started 14 hours ago by Jotham Manoranjan||Answer this|
|Not answered||Arm RTOS C++||0 votes||40 views||0 replies||Started yesterday by Rocketman46||Answer this|
|Suggested answer||SMMUv2 - Arm Corelink-MMU500 on Xilinx Zynq Ultrascale+||0 votes||72 views||1 replies||Latest yesterday by 42Bastian Schick||Answer this|
|Answered||Where do I find presentations and photos from SC'18? Started 4 months ago by John Linford||0 replies 802 views|
|Not answered||Count Main TLB miss Started 5 hours ago by scribnote5||0 replies 5 views|
|Suggested answer||Hi, I need RVCT V3.1 569 Any idea how / where can I get it? Latest 9 hours ago by Ronan Synnott||1 replies 32 views|
|Not answered||Non-secure code calling secure code - Boot Loaders Started 14 hours ago by Jotham Manoranjan||0 replies 29 views|
|Not answered||Arm RTOS C++ Started yesterday by Rocketman46||0 replies 40 views|
|Suggested answer||SMMUv2 - Arm Corelink-MMU500 on Xilinx Zynq Ultrascale+ Latest yesterday by 42Bastian Schick||1 replies 72 views|