rights reserved. What is AWS Nitro Enclaves? • Isolated, highly constrained virtual machine • No administrator access • No persistent storage • No external networking • Communication over a secure local channel
rights reserved. Vsock socket • Local communication channel • Between Amazon EC2 instance and enclave • The only channel between enclave and outside world
rights reserved. Attestation document • Generated and signed by Nitro Secure Module (NSM) • Contains information about the enclave • Used to verify the enclave’s identity
rights reserved. Why do we need an attestation document? • We have a very secure Nitro Enclave application • We have a very secure database • How do we know the data is going to the real enclave application? Unauthorized user’s app
rights reserved. Why do we need an attestation document? • Send request with attestation document • Validate the attestation document (and its attributes) • Application cannot forge it Unauthorized user’s app
rights reserved. Create Amazon EC2 instance • Nitro-based instances with >=4 vCPUs Except Burstable (T2, T3, etc.), Arm (for example A1), Bare Metal • Enable Nitro Enclaves when creating instance • Graviton-based instances with >=2 vCPUs
rights reserved. Network proxy • Additional proxy inside enclave • Relay IP traffic to vsock • Compatible with most libraries that support TCP/HTTP connection • Higher latency
rights reserved. Attestation document • Generated and signed by NSM • CBOR-encoded and COSE-signed (just like JSON and JWT) • Use nsm-lib to make request from application (written in Rust)
rights reserved. Attestation document • Contains the unique PCRs of the enclave • Use X.509 certificate to validate root of trust • Optional fields for custom use cases: public key, user data, nonce
rights reserved. Use cases • Process sensitive data (for example, PII, healthcare, financial data) • Protect proprietary algorithm • Source code auditing • Integration with Amazon EKS “A Framework for Building Secure, Scalable, Networked Enclaves,” https://arxiv.org/pdf/2206.04123.pdf
rights reserved. Takeaways • Nitro Enclaves protects the data, not your application • Nitro Enclaves is not a datastore • Validate request with attestation document