Arm technologies

Arm provides a range of IP and software technologies to enable secure solutions using Arm Cortex processors. This approach empowers a broad ecosystem of partners to develop secure applications and high-value services.

With increasing numbers of assets being connected in the Internet of Things (IoT), the security stakes are growing higher, particularly as critical infrastructure becomes more a part of the IoT. It is increasingly important to extend the use of robust security development lifecycle processes, based on foundational principles and backed by best practices for implementation.

We as an industry recognize that we are in a constant battle against potential attackers. As long as there is value in the assets to be protected, there will be those who will aim to compromise that protection. We must collectively raise the bar each time we find a weakness or vulnerability that can be exploited.

Arm provides a set of security technologies that can be designed in to devices, and now introduces the Platform Security Architecture (PSA), a 'recipe' to combine the right menu items of technology for the appropriate level of security depending on the application. PSA provides scalable, cost-effective security whether for small, budget connected devices, or large scale high value assets.

See below for more information about:


Architecture

Platform Security Architecture

Platform Security Architecture (PSA) is a common industry framework for building secure connected devices. It consists of a set of security analysis and threat models derived from a range of typical IoT use cases. It also contains architecture firmware and hardware specifications for common security functions, and an open source reference FW implementation. It is designed to make endpoint-to-ecosystem security a reality. PSA allows end-users to continue to build their IoT-based businesses that rely on more secure on endpoint devices, enabling simpler and cost-effective security life cycle management for IoT devices deployment at scale.


Processors

Arm TrustZone for Arm Cortex-A

Arm TrustZone technology provides system-wide hardware isolation for trusted software. TrustZone provides the hardware isolation for a Trusted Execution Environment (TEE) that can be used to protect against software attacks and lightweight hardware attacks.

GlobalPlatform provides a TEE compliance and certification scheme for the TEE and a Protection Profile that defines the threat model and security requirements.


Arm TrustZone for Arm Cortex-M

TrustZone technology provides system-wide hardware isolation for trusted software. With the release of the Armv8-M architecture, TrustZone was introduced into the Cortex-M microcontroller profile to fill in the market need for efficient secure embedded solutions.

TrustZone is a technology used in Arm Cortex processors to implement isolation of assets in a system on chip (SoC). It is a widely adopted technology that has been deployed in the market for over ten years providing SoC security, protecting high-value applications such as mobile payments and digital rights management for media content. Recently it was also introduced in the ultra-low power, small area Cortex-M family that are the main processor for many devices that form the Internet of Things.

TrustZone gives the chip designer the means to create two completely separate environments running on the same processor. This arrangement enables more secure and simpler software development, reducing the complexity of end product development. Using TrustZone, the device is designed to protect software, peripherals, device ID, security and encryption keys and all such assets from being accessed without proper permission. Given that the TrustZone technology is in the heart of the processor, and that the processors are adopted strongly by the ecosystem, then the product developer has the flexibility and choice for multiple sources to build the final product without being limited to one unique implementation or source.

TrustZone technology is used across the whole life cycle of the product, from inception in the assembly line, all the way to decommissioning or end of life. Of course, isolation is just the foundation, while security is about layers of protection built on top of that foundation. TrustZone is one technology within a suite of Arm technologies that provide security from the chip to the cloud.

Virtualization

Virtualization technology enables concurrent and secure execution of multiple guest operating systems on the same hardware. The isolation of the parallel execution is assured by hypervisor software. Arm architecture supports both Type-1 (native) and Type-2 (hosted) hypervisor.

The Arm architecture provides virtualization extensions. A hypervisor mode enables the hypervisor to manage its own virtual address space as a trapping mechanism to control the execution of the Guest OSes.

Information about Arm virtualization technology is available from the Arm Architecture Reference Manual.


MPU/MMU

The Memory Management Unit (MMU) and Memory Protection Unit (MPU) are two common hardware blocks in modern processor architecture. They are similar in nature – both of them provide memory protection, so that privileged software such as an OS can define what memory spaces unprivileged software may access, but the MMU also provides virtual address support, while MPU doesn't. Normally, application processors support an MMU because virtual addressing is needed for full feature OSes like Linux, and embedded processors provide an MPU because it is simpler and does not affect real-time capability.

The MMU and MPU are typically controlled by an OS. During context switching, the configurations in the MMU/MPU are reconfigured for the next task/thread to be executed so that each task/thread can access the allocated address spaces or peripherals. If an application attempts to access other memory spaces, then the access would be blocked and a fault exception would be triggered. The OS can then terminate the tasks, optionally report the error, and can restart it if needed. By having the MMU/MPU, it prevents a crashing task/thread from corrupting other memories (for example a stack overflow can be detected), and enhances the robustness of the system. The MMU/MPU can also be used to define the attributes of a memory region, for example, cacheability and execution permission. The cacheability information could be used by cache controllers, either inside the processor or at system level.

  


Arm SecurCore

SecurCore processors are Cortex-M processors that have been hardened to ensure they are resilient to physical attack. SecurCore processors contain specific anti-tampering features to resist fault injection, side-channel and probing attacks:

SecurCore

Processor

SC000 Cortex-M0
SC300 Cortex-M3

Security IP

The Arm TrustZone security IP provides a comprehensive set of platform security services addressing cryptography, code and data protection, keys management, secure debug and much more. The silicon-proven IP, comprising hardware, firmware and tools, allows a silicon architect to form a secure and robust security solution while making various power/performance/area/reuse related tradeoffs.


Tools

Cortex-A

Cortex-A processors includes technologies such as big.LITTLE, DynamIQ and TrustZone, which together enable trusted applications to run in many secure configurations. DS-5 Development Studio offers a comprehensive suite of tools and utilities to expose and take advantage of the Arm architecture and it's security abilities within a development environment. It includes the safety certified Arm compilerFixed virtual platforms, comprehensive debug tools, debug probes and the Streamline performance analysis tool

Cortex-M

TrustZone for Armv8-M adds security features to these cores that allow applications and services to operate securely while safeguarding the secure resources from being misused, corrupted or inspected by intruders. Keil MDK is the complete software development environment for a wide range of Arm Cortex-M based microcontroller devices, including Armv8-M based devices. MDK includes the µVision IDE and debugger, certified Arm C/C++ compiler, and essential middleware components. It supports TrustZone for Armv8-M and mbedTLS for secure communication over TCP/IP networks.

 

Development boards

Developing a PSA compliant system requires a combination of hardware and software design. Most importantly, the development teams need to integrate these components and optimize their interactions to ensure that the complete solution is secure.

Development platforms are key to supporting this kind of work and Arm has developed several products to help product developers:

  • The Arm Cortex Prototyping System MPS2+ FPGA prototyping platform is available to quickly get code running on Cortex-M processors. FPGA image files, ready to load on the board, can be freely downloaded from the Arm web site, to evaluate the behavior of the application and to select the best IP before licensing.
  • The new Arm Cortex Prototyping System MPS3 FPGA prototyping platform follows the same goals. It features a 5x larger FPGA and many more interfaces and connectors, to prototype more complex and ambitious systems

The Musca-A1 board is the reference PSA development platform. It features the Musca-A1 test chip, built around the Cortex-M33 based CoreLink SSE-200 subsystem. Implementing TrustZone architecture throughout the system, and including the TrustZone CryptoCell, this board is a great way to develop secure applications on a realistic target.