Skip to content

Commit d8f5816

Browse files
Final corrections
1 parent 0017b22 commit d8f5816

File tree

3 files changed

+21
-28
lines changed

3 files changed

+21
-28
lines changed

content/learning-paths/servers-and-cloud-computing/cca-trustee/_index.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@ who_is_this_for: This Learning Path is for software developers who want to run a
77

88
learning_objectives:
99
- Describe how you can use attestation with Arm's Confidential Computing Architecture (CCA) and Trustee services
10-
- Launch a CCA realm and run a sample workload on an Armv9-A AEM Base Fixed Virtual Platform (FVP) with Realm Management Extension (RME) support
10+
- Deploy a simple workload in a CCA realm on an Armv9-A AEM Base Fixed Virtual Platform (FVP) that has support for RME extensions
1111
- Connect the workload with Trustee services to create an end-to-end example that uses attestation to unlock the confidential processing of data
1212

1313
prerequisites:
14-
- An AArch64 or x86_64 computer running Linux or macOS. You can use cloud instances; see this list of [Arm cloud service providers](/learning-paths/servers-and-cloud-computing/csp/)
14+
- An AArch64 or x86_64 computer running Linux or macOS; you can use cloud instances - see the [Arm cloud service providers](/learning-paths/servers-and-cloud-computing/csp/)
1515
- Completion of the [Get started with CCA attestation and Veraison](/learning-paths/servers-and-cloud-computing/cca-veraison) Learning Path
1616
- Completion of the [Run an end-to-end attestation flow with Arm CCA](/learning-paths/servers-and-cloud-computing/cca-essentials/) Learning Path
1717

content/learning-paths/servers-and-cloud-computing/cca-trustee/cca-trustee.md

Lines changed: 11 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
# User change
3-
title: "Overview of the software architecture"
3+
title: "Architecture overview for Arm CCA Attestation with Trustee"
44

55
weight: 2 # 1 is first, 2 is second, etc.
66

@@ -10,32 +10,24 @@ layout: "learningpathall"
1010

1111
## The role of attestation
1212

13-
In this Learning Path, you will learn how attestation controls the release of confidential data into a confidential Linux realm for processing.
14-
15-
The role of attestation is to assess whether the target compute environment
16-
offers a provable level of confidential isolation. In this Learning Path,
17-
the target compute environment is a Linux realm. The assessment of a provable
18-
level of confidential isolation must occur before the realm can be trusted
19-
to receive confidential data or algorithms. This use of attestation to judge
20-
the trustworthiness of a compute environment, before allowing it to do any
21-
processing, is a common practice in confidential computing.
13+
In this Learning Path, you will learn how attestation controls the release of confidential data into a confidential Linux realm for processing. The role of attestation is to assess whether the target compute environment offers a provable level of confidential isolation. In this Learning Path,
14+
the target compute environment is a Linux realm. The assessment of a provable level of confidential isolation must occur before the realm can be trusted to receive confidential data or algorithms. This use of attestation to judge the trustworthiness of a compute environment, before allowing it to do any processing, is a common practice in confidential computing.
2215

2316
## Key software components
2417

2518
This Learning Path is similar to
26-
[Run an end-to-end Attestation Flow with Arm CCA](/learning-paths/servers-and-cloud-computing/cca-essentials/).
27-
28-
The main difference is that, instead of the KBS from the [Veraison](https://github.com/veraison) project, you will use components implemented in the [Confidential Containers (CoCo) Project](https://github.com/confidential-containers) to support the [IETF RATS model](https://datatracker.ietf.org/doc/rfc9334/) (Remote ATtestation procedureS). These components include the Attestation Service (AS), Key Broker Service (KBS), Reference Value Provider Service (RVPS), Attestation Agent (AA), and Confidential Data Hub (CDH).
19+
[Run an end-to-end Attestation Flow with Arm CCA](/learning-paths/servers-and-cloud-computing/cca-essentials/). The main difference is that, instead of the KBS from the [Veraison](https://github.com/veraison) project, you will use components implemented in the [Confidential Containers (CoCo) Project](https://github.com/confidential-containers) to support the [IETF RATS model](https://datatracker.ietf.org/doc/rfc9334/) (Remote ATtestation procedureS). These components include the Attestation Service (AS), Key Broker Service (KBS), Reference Value Provider Service (RVPS), Attestation Agent (AA), and Confidential Data Hub (CDH).
2920
The AS, KBS, and RVPS components are part of the [Trustee project](https://github.com/confidential-containers/trustee),
3021
whereas the AA and CDH are part of the [Guest Components](https://github.com/confidential-containers/guest-components) project in CoCo.
3122

3223
## RATS roles
3324

34-
This Learning Path uses the following RATS roles:
25+
This Learning Path focuses on the following key concepts:
3526

36-
- **Attester** – Provides evidence that is evaluated to decide trustworthiness (for example, whether it is authorized to perform an action). Evidence can include configuration data, measurements, telemetry, or inferences.
37-
- **Verifier** – Evaluates the evidence from the Attester and produces attestation results that are sent to the Relying party. The Verifier vouches for the validity of those results.
38-
- **Relying party** – Depends on the validity of information from the Attester (either directly or through the Verifier) to make an access or policy decision.
27+
- **Attester** – provides evidence that is evaluated to decide **Trustworthiness** (for example, whether it is authorized to perform an action).
28+
- **Evidence** can include configuration data, measurements, telemetry, or inferences.
29+
- **Verifier** – evaluates the evidence from the Attester and produces attestation results that are sent to the Relying party. The Verifier vouches for the validity of those results.
30+
- **Relying party** – depends on the validity of information from the Attester (either directly or through the Verifier) to make an access or policy decision.
3931

4032
## Trustee components
4133

@@ -55,8 +47,8 @@ The following diagram shows the AS components:
5547

5648
The AS performs this verification flow:
5749

58-
1. **Verify format and origin of evidence**For example, verify the evidence signature. This is handled by a platform-specific Verifier driver.
59-
2. **Evaluate claims**For example, validate that measurements match expected values. This is handled by the Policy engine, with RVPS support.
50+
- **Verify format and origin of evidence**for example, verify the evidence signature. This is handled by a platform-specific Verifier driver.
51+
- **Evaluate claims**for example, validate that measurements match expected values. This is handled by the Policy engine, with RVPS support.
6052

6153
## Verifier driver
6254

content/learning-paths/servers-and-cloud-computing/cca-trustee/flow.md

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ In this section you’ll run the **Trustee services** (AS, KBS, RVPS), launch a
1212

1313
## Install dependencies
1414

15-
Install Docker. On Ubuntu 24.04 LTS, set up Docker’s APT repository:
15+
Start by installing Docker. On Ubuntu 24.04 LTS, set up Docker’s APT repository:
1616

1717
```bash
1818
# Add Docker's official GPG key:
@@ -35,7 +35,7 @@ Install Git and Docker packages:
3535
sudo apt-get install -y git docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
3636
```
3737

38-
Add your user name to the docker group (open a new shell after this so the change takes effect):
38+
Add your user name to the Docker group (open a new shell after this so the change takes effect):
3939
``` bash
4040
sudo usermod -aG docker $USER
4141
newgrp docker
@@ -56,13 +56,13 @@ Additional Learning Path–specific changes include:
5656

5757
- Attestation policy with CCA rules
5858

59-
- An affirming resource policy
59+
- An *affirming* resource policy
6060

6161
- A demo secret message
6262

6363
- A shared Docker network for all containers in this demo
6464

65-
Go into the `cca-trustee` directory and start the Trustee services docker containers (as detached services):
65+
Go into the `cca-trustee` directory and start the Trustee services Docker containers (as detached services):
6666
``` bash { output_lines = "3-9" }
6767
cd cca-trustee
6868
docker compose up -d
@@ -85,7 +85,7 @@ Where `service` is either `as`,`kbs` or `rvps`.
8585

8686
With the Trustee Services running in one terminal, open up a new terminal in which you will run CCA attestations.
8787

88-
Pull the docker image with the pre-built FVP, and then run the container connected to the same docker network:
88+
Pull the Docker image with the pre-built FVP, and then run the container connected to the same Docker network:
8989

9090
```bash
9191
docker pull armswdev/cca-learning-path:cca-simulation-v2
@@ -148,7 +148,8 @@ Run the attestation command and save the EAT Attestation Result (EAR) message in
148148

149149
Request the demo secret with that EAR:
150150

151-
```bash./kbs-client --url http://kbs:8080 get-resource \
151+
```bash
152+
./kbs-client --url http://kbs:8080 get-resource \
152153
--tee-key-file realm.key --attestation-token ear.jwt \
153154
--path "cca-trustee/demo-message/message.txt"
154155
```
@@ -213,7 +214,7 @@ Storage Opaque [none]: no claim being made
213214
Sourced Data [none]: no claim being made
214215
```
215216

216-
This part of the output shows how the attestation service has compared the attestation token against its expectations of a trustworthy system. These comparisons are known as *trustworthiness vectors"*. It also shows the conclusions that were drawn from that comparison.
217+
This part of the output shows how the attestation service has compared the attestation token against its expectations of a trustworthy system. These comparisons are known as *trustworthiness vectors*. It also shows the conclusions that were drawn from that comparison.
217218

218219
Note these two trustworthiness vectors in the result:
219220
- __Hardware [affirming]__. Evidence in the attestation token shows a good match against the expectations of CCA platform.

0 commit comments

Comments
 (0)