blob: 3e657ab0579b2d004018ff53809574efd08a1f03 [file] [log] [blame]
Julian Hall7b594622022-04-08 14:04:15 +01001Introduction
2============
3
4The term 'trusted service' is used as a general name for a class of application that runs in an isolated
5processing environment. Other applications rely on trusted services to perform security related operations in
6a way that avoids exposing secret data beyond the isolation boundary of the environment. The word 'trusted'
7does not imply anything inherently trustworthy about a service application but rather that other applications
8put trust in the service. Meeting those trust obligations relies on a range of hardware and firmware
9implemented security measures.
10
Julian Hallf12cfd42022-04-12 17:00:19 +010011The Arm Application-profile (A-profile) architecture, in combination with standard firmware, provides a range
12of isolated processing environments that offer hardware-backed protection against various classes of attack.
13Because of their strong security properties, these environments are suitable for running applications that have
Julian Hall7b594622022-04-08 14:04:15 +010014access to valuable assets such as keys or sensitive user data. The goal of the Trusted Services project is
15to provide a framework in which security related services may be developed, tested and easily deployed to
16run in any of the supported environments. A core set of trusted services are implemented to provide basic
17device security functions such as cryptography and secure storage.
18
19Example isolated processing environments are:
20
Julian Hallf12cfd42022-04-12 17:00:19 +010021 - **Secure partitions** - secure world isolated environments managed by a secure partition manager
Julian Hall7b594622022-04-08 14:04:15 +010022 - **Trusted applications** - application environments managed by a TEE
Julian Hallf12cfd42022-04-12 17:00:19 +010023 - **VM backed container** - container runtime that uses a hypervisor to provide hardware backed container isolation
24
25The default reference system, used for test and development, uses the Secure Partition Manager configuration
26of OP-TEE to manage a set of secure partitions running at S-EL0. The secure partitions host service providers
27that implement PSA root-of-trust services. Services may be accessed using client-side C bindings that expose PSA
28Functional APIs. UEFI SMM services are provided by the SMM Gateway.
29
30.. image:: image/TsReferencePlatform.svg
31.. The image was exported from an original on Arm Confluence.
Julian Hall7b594622022-04-08 14:04:15 +010032
33For more background on the type of problems solved by trusted services and how the project aims to
34make solutions more accessible, see:
Julian Halle76ade82020-11-25 03:07:21 +010035
36.. toctree::
37 :maxdepth: 1
Julian Halle76ade82020-11-25 03:07:21 +010038
Julian Hall7b594622022-04-08 14:04:15 +010039 example-usage
Julian Halle76ade82020-11-25 03:07:21 +010040 goals
41
Julian Hallf12cfd42022-04-12 17:00:19 +010042The Trusted Services project includes components that may be integrated into platform firmware
43to enable A-profile platforms to meet PSA Certified security requirements. For more information, see:
44:ref:`Platform Certification`.
Julian Hall7b594622022-04-08 14:04:15 +010045
Julian Halle76ade82020-11-25 03:07:21 +010046--------------
47
Julian Hall7b594622022-04-08 14:04:15 +010048*Copyright (c) 2020-2022, Arm Limited and Contributors. All rights reserved.*
Julian Halle76ade82020-11-25 03:07:21 +010049
50SPDX-License-Identifier: BSD-3-Clause