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?||0 votes||622 views||0 replies||Started 3 months ago by John Linford||Answer this|
|Not answered||Where is the register definition of DHCSR for Cortex-M4||0 votes||14 views||0 replies||Started 8 hours ago by FreddyBZ||Answer this|
|Suggested answer||setting brakpoint from code||0 votes||118 views||4 replies||Latest 10 hours ago by Joseph Yiu||Answer this|
|Not answered||DS-5 option "continue_on_error" setting in Eclipse||0 votes||30 views||0 replies||Started yesterday by NOR||Answer this|
|Suggested answer||'xilinx.com:ip:axi_bram_ctrl:4.0' does not support the current part 'xc7a35ticsg324-1L'||0 votes||603 views||3 replies||Latest yesterday by BBtheEE||Answer this|
|Answered||Looking for an eval board with octa core Armv8 CPU||0 votes||387 views||9 replies||Latest yesterday by Dzik||Answer this|
|Answered||Where do I find presentations and photos from SC'18? Started 3 months ago by John Linford||0 replies 622 views|
|Not answered||Where is the register definition of DHCSR for Cortex-M4 Started 8 hours ago by FreddyBZ||0 replies 14 views|
|Suggested answer||setting brakpoint from code Latest 10 hours ago by Joseph Yiu||4 replies 118 views|
|Not answered||DS-5 option "continue_on_error" setting in Eclipse Started yesterday by NOR||0 replies 30 views|
|Suggested answer||'xilinx.com:ip:axi_bram_ctrl:4.0' does not support the current part 'xc7a35ticsg324-1L' Latest yesterday by BBtheEE||3 replies 603 views|
|Answered||Looking for an eval board with octa core Armv8 CPU Latest yesterday by Dzik||9 replies 387 views|