You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+27-11Lines changed: 27 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,41 +6,56 @@ This repository demonstrates a simple end-to-end flow against an AWS Nitro Encla
6
6
-**Parent VM**: An AWS EC2 instance (Ubuntu 24.04) with Nitro Enclaves enabled. Runs the Enclave and the vsock proxy.
7
7
-**Client**: Can run on any machine, but this README assumes you run it on the Parent VM (localhost).
8
8
9
-
## Tested environment (detailed)
9
+
## Tested environments
10
+
11
+
Tested on the Parent VM environments listed below. The Server (vsock proxy) runs on localhost on the Parent VM, and the Client also runs on the same Parent VM.
10
12
11
13
### Parent VM (AWS EC2)
12
14
15
+
#### Ubuntu 24.04 (x86_64)
16
+
13
17
-**Instance type**: `c5.xlarge`
14
18
- vCPUs: 4
15
19
- Memory: 8 GiB
16
-
- CPU arch: `x86_64`
20
+
- CPU arch: x86_64
17
21
-**AMI**: Ubuntu Server 24.04 LTS
18
22
- AMI ID: `ami-06e3c045d79fd65d9`
19
-
-**Storage**: 64 GiB `gp3`
23
+
-**Storage**: 64 GiB gp3
24
+
-**Kernel**: 6.14.0-1018-aws
25
+
-**Nitro Enclaves**: Enabled
26
+
-**Nitro Enclaves CLI / driver**: v1.4.4
27
+
28
+
#### Ubuntu 24.04 (AArch64)
29
+
30
+
-**Instance type**: `m6g.xlarge`
31
+
- vCPUs: 4
32
+
- Memory: 16 GiB
33
+
- CPU arch: AArch64
34
+
-**AMI**: Ubuntu Server 24.04 LTS
35
+
- AMI ID: `ami-01da1dbf9ea3a6ee6`
36
+
-**Storage**: 64 GiB gp3
20
37
-**Kernel**: 6.14.0-1018-aws
21
38
-**Nitro Enclaves**: Enabled
22
39
-**Nitro Enclaves CLI / driver**: v1.4.4
23
-
-**Rust toolchain**: v1.90.0
24
40
25
41
### Enclave
26
42
27
43
-**OS**: Ubuntu 24.04
28
44
-**Allocated vCPUs**: 2
29
45
-**Allocated Memory**: 512 MiB
30
-
-**OS**: Ubuntu 24.04
31
-
-**Rust toolchain**: v1.90.0
32
46
33
-
### Client
47
+
### Test configuration
34
48
35
-
- Ran on the same Parent VM (localhost).
49
+
-**Server (vsock proxy)**: Runs on localhost (`127.0.0.1`) on the Parent VM
50
+
-**Client**: Runs on the same Parent VM
36
51
37
52
## Architecture
38
53
39
54
-`enclave/`: Enclave application (listens on vsock `port=5000`)
40
55
-`proxy/`: **untrusted** HTTP → vsock proxy (listens on HTTP `ip:port`, forwards to vsock `port=5000`)
41
56
-`client/`: Client app (POSTs JSON to the proxy, verifies attestation, then calls the confidential computing API)
42
57
43
-
## Quick start (all on the Parent VM)
58
+
## Quick start
44
59
45
60
Clone the repository:
46
61
@@ -49,17 +64,18 @@ git clone <THIS_REPOSITORY>
49
64
cd<THIS_REPOSITORY>
50
65
```
51
66
52
-
### 1. Parent VM setup (Ubuntu 24.04)
67
+
### 1. Parent VM setup
53
68
54
69
```bash
55
70
make setup-docker
56
71
make setup-nitro-cli
57
72
```
58
73
59
-
### 2. Client setup (this README runs it on the Parent VM)
74
+
### 2. Client setup
60
75
61
76
```bash
62
77
make setup-client
78
+
make download-root-ca
63
79
```
64
80
65
81
### 3. Build the Enclave image and copy PCRs into `client-configs.json`
0 commit comments