Skip to content

Commit 69d52a9

Browse files
committed
Minor edits
1 parent 8674a51 commit 69d52a9

File tree

2 files changed

+24
-26
lines changed

2 files changed

+24
-26
lines changed

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

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -86,9 +86,9 @@ A verifier driver parses the attestation evidence provided by the hardware TEE.
8686
1. Verifies the hardware TEE signature of the TEE quote and report provided in the evidence
8787
2. Receives the evidence and organizes the status into a JSON format to be returned
8888

89-
In this Learning Path AS is configured to use an external CCA verifer.
89+
In this Learning Path, the AS is configured to use an external CCA verifer.
9090

91-
[Linaro](https://www.linaro.org) provides such an attestation verifier for use with pre-silicon CCA platforms.
91+
[Linaro](https://www.linaro.org) provides such an attestation verifier for use with pre-silicon Arm CCA platforms.
9292
This verifier is built from the Open-Source [Veraison project](https://github.com/veraison).
9393
You can learn more about Veraison and Linaro attestation verifier service in
9494
[Get Started with CCA Attestation and Veraison](https://learn.arm.com/learning-paths/servers-and-cloud-computing/cca-veraison/)
@@ -100,7 +100,7 @@ When an attestation request is received by the AS, it uses a policy ID in the re
100100
to decide which policies should be evaluated.
101101
The results of all policies evaluated are included in the attestation response.
102102

103-
In this Learning Path AS attestation policy includes specific Arm CCA rules.
103+
In this Learning Path the AS attestation policy includes specific Arm CCA rules.
104104

105105
#### Reference Value Provider Service (RVPS)
106106

@@ -124,7 +124,7 @@ You will run this tool inside of a realm to make requests for an attestation res
124124
The client tool can also be used to provision the KBS/AS with resources and policies.
125125

126126
KBS Client connects to the KBS in order to perform attestation. To prove the trustworthiness of the environment
127-
KBS Client sends the evidence (claims) from the TEE in the form of a CCA attestaion token.
127+
KBS Client sends the evidence (claims) from the TEE in the form of a CCA attestation token.
128128
You can learn more about CCA attestation tokens in
129129
[Get Started with CCA Attestation and Veraison](https://learn.arm.com/learning-paths/servers-and-cloud-computing/cca-veraison/)
130130

@@ -141,7 +141,7 @@ When the AS receives an attestation token from the realm via KBS:
141141
- it calls an external CCA verifer (the Linaro attestation verifier service) to obtain an attestation result.
142142
- the external CCA verifer checks the token's cryptographic signature,
143143
verifies that it denotes a confidential computing platform and provides an attestation result.
144-
- AS also checks the token evidences against a its own attestation policies and updates attestation result status and trustworthiness vectors.
144+
- it also checks the token evidences against its own attestation policies and updates attestation result status and trustworthiness vectors.
145145

146146
When asked for a resource the KBS uses the attestation result to decide whether to release the secrets into the realm for processing.
147147

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

Lines changed: 19 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,7 @@ layout: "learningpathall"
1212

1313
#### Prerequisites
1414

15-
Install git and docker packages. For example, on Ubuntu 24.04 LTS machine:
16-
17-
Set up Docker's apt repository:
15+
Install docker. For example, on your Ubuntu 24.04 LTS host machine, first set up Docker's apt repository:
1816
``` bash
1917
# Add Docker's official GPG key:
2018
sudo apt-get update
@@ -31,35 +29,35 @@ echo \
3129
sudo apt-get update
3230
```
3331

34-
Install packages:
32+
Install git and docker packages:
3533
``` bash
3634
sudo apt-get install git docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
3735
```
3836

39-
If you have just installed docker (like with the command line above), add yourself to the docker group:
37+
Add your user name to the docker group:
4038
``` bash
4139
sudo usermod -aG docker $USER
4240
newgrp docker
4341
```
4442

4543
#### Start Trustee Services docker containers
4644

47-
Clone `cca-trustee` repository:
45+
Clone the `cca-trustee` repository:
4846
``` bash
4947
git clone https://github.com/ArmDeveloperEcosystem/cca-trustee.git
5048
```
5149

5250
This repository contains configuration files used for running Trustee services docker containers with CCA attestation support as a simple cluster.
5351
The config files are based on the recommended configurations from [KBS Cluster](https://github.com/confidential-containers/trustee/blob/main/kbs/docs/cluster.md)
5452

55-
In addition to the recommended configuration we also made the following changes for this Learning Path:
53+
In addition to the recommended configuration, the following changes were also made for this Learning Path:
5654
- Included the external Linaro CCA verifier into AS configuration
57-
- Included an attesation policy with CCA rules
55+
- Included an attestation policy with CCA rules
5856
- Defined an "affirming" resource policy
5957
- Created a secret demo message.
6058
- Defined a docker network shared by all containers in this demo.
6159

62-
Go into `cca-trustee` directory and start Trustee services docker containers (as detached services):
60+
Go into the `cca-trustee` directory and start the Trustee services docker containers (as detached services):
6361
``` bash { output_lines = "3-9" }
6462
cd cca-trustee
6563
docker compose up -d
@@ -100,7 +98,7 @@ launch the `run-cca-fvp.sh` script to run the Arm CCA pre-built binaries on the
10098
./run-cca-fvp.sh
10199
```
102100

103-
The `run-cca-fvp.sh` script uses screen command to connect to the different UARTs in the FVP.
101+
The `run-cca-fvp.sh` script uses the screen command to connect to the different UARTs in the FVP.
104102

105103
You should see the host Linux kernel boot on your terminal. You will be prompted to log in to the host.
106104

@@ -134,11 +132,11 @@ realm login: root
134132
(realm) #
135133
```
136134

137-
### Try to run attestation and request a secret
135+
### Try to use attestation to request a secret
138136

139137
In this step, you will go through the process of using attestation to request
140138
a secret from the KBS. This will not work on the first attempt.
141-
But don't worry. We will explain why, and how to rectify the problem.
139+
But don't worry. You will learn why that is the case, and how to rectify the problem.
142140
You will have a better understanding of the attestation process as a result.
143141

144142
Change directory to `/cca` and use `openssl` to create a realm RSA key:
@@ -147,19 +145,19 @@ cd /cca
147145
openssl genrsa -traditional -out realm.key
148146
```
149147

150-
Run attestation command and save EAT Attestation Result (EAR) message in JWT (JSON Web Token) format in `ear.jwt` file.
148+
Run the attestation command and save the EAT Attestation Result (EAR) message in JWT (JSON Web Token) format in a file named `ear.jwt`:
151149
```bash
152150
./kbs-client --url http://kbs:8080 attest --tee-key-file realm.key >ear.jwt
153151
```
154152

155-
Let's try to request a secret demo message using the attestation result:
153+
Now try to request a secret demo message using the attestation result:
156154
```bash
157155
./kbs-client --url http://kbs:8080 get-resource \
158156
--tee-key-file realm.key --attestation-token ear.jwt \
159157
--path "cca-trustee/demo-message/message.txt"
160158
```
161159

162-
The request would fail with `Access denied by policy` and `Token Verifier` errors:
160+
The request will fail with `Access denied by policy` and `Token Verifier` errors:
163161
```output
164162
[2025-07-23T14:42:55Z WARN kbs_protocol::client::token_client] Authenticating with KBS failed. Get a new token from the token provider: ErrorInformation {
165163
error_type: "https://github.com/confidential-containers/kbs/errors/PolicyDeny",
@@ -194,7 +192,7 @@ The following command will use the `arc` tool to verify the cryptographic signat
194192

195193
{{% notice EAR expiry note %}}
196194
The EAR message produced by Trustee AS in this Learning Path demo is valid for 30 minutes.
197-
If you spend more time on anylising the message you will start seing errors from `arc verify` command:
195+
If you spend more time on analyzing the message you will start seeing errors from `arc verify` command:
198196

199197
``` output
200198
Using JWK key from JWT header
@@ -205,8 +203,8 @@ Please obtain a new EAR message by re-runing the attestation command.
205203
{{% /notice %}}
206204

207205

208-
`arc verify` command produces quite a lot of output.
209-
However, the main part is the CCA attestation token similar to the one you inspected in
206+
The `arc verify` command produces quite a lot of output.
207+
However, the main part is the CCA attestation token that is similar to the one you inspected in
210208
[Get Started with CCA Attestation and Veraison](/learning-paths/servers-and-cloud-computing/cca-veraison) Learning Path.
211209

212210
The most interesting part of the output is towards the bottom, and should look like this:
@@ -241,17 +239,17 @@ You can also check the status of the EAR:
241239
The warning status is the reason why the KBS chose not to grant access
242240
to the secret that you requested in the earlier step.
243241
It has not concluded that the realm is trustworthy.
244-
But this is simply because we have not supplied an expected reference measurement
242+
But this is simply because you have not supplied an expected reference measurement
245243
for the realm. You will do this in the next step.
246244

247245
### Endorse Realm Initial Measurement (RIM)
248246

249-
For a successful attestaion of your CCA real you need to provide
247+
For a successful attestation of your CCA real you need to provide
250248
the Trustee Reference Values Provider Service (RVPS) with a known good reference value.
251249

252250
In a production environment, the known good reference value is generated using a deployment-specific process,
253251
but for demonstration purposes and simplification, you will use the value which was calculated by `kbs-client`
254-
in the realm and included into EAT.
252+
in the realm and included into the EAT.
255253

256254
Get the RIM from the attestation token:
257255
```bash { output_lines = "2" }

0 commit comments

Comments
 (0)