AWS Nitro Enclaves Specialized2020年〜
A service that creates isolated execution environments within EC2 instances for securely processing sensitive data
What It Does
AWS Nitro Enclaves is a service that creates fully isolated virtual machines (enclaves) within EC2 instances. Enclaves have no persistent storage, no network access, and no interactive access - communication with the parent instance is restricted to vsock (virtual socket) only. Integration with KMS enables encryption that can only be decrypted within the enclave.
Use Cases
Used for processing personally identifiable information (PII), secure management of encryption keys, processing financial transaction data, analyzing medical data, and multi-party computation.
Everyday Analogy
Think of it like a bank vault. The vault (enclave) is completely sealed off from external access, and the work inside (data processing) is invisible from outside. Entry and exit (vsock) is through a single strictly controlled passage only.
What Are Nitro Enclaves?
AWS Nitro Enclaves is a service that enables confidential computing. An enclave is created by isolating a portion of the parent EC2 instance's CPU and memory, and no one - including AWS administrators - can access the data inside the enclave. Cryptographic attestation verifies that the enclave has not been tampered with.
KMS Integration and Attestation
By specifying enclave PCR (Platform Configuration Register) values as conditions in KMS key policies, decryption is only permitted for specific enclave images. This ensures encrypted data is decrypted and processed only within the enclave, inaccessible to the parent instance or other processes. Attestation documents cryptographically verify the enclave's integrity. To broaden your knowledge of KMS integration and attestation, related books (Amazon) can also be useful.
Getting Started
Launch a Nitro Enclaves-enabled EC2 instance (enable enclaves at launch time) and build an enclave image (EIF) using the Nitro CLI. Start the EIF as an enclave and send/receive data from the parent instance via vsock.
Things to Watch Out For
- No additional charges for Nitro Enclaves itself. CPU and memory allocated to the enclave are deducted from the parent instance
- Enclaves have no network access, so external API calls must be made through the parent instance