Remote attestation
As a best practice, your application should use remote attestation to prove its authenticity to clients.
As described in Attestation with Anjuna for AWS Nitro Enclaves, an attestation report proves that a specific application is running in a secure enclave. This prevents an attacker from impersonating your application and gaining unauthorized access to sensitive data.
There are two ways to use remote attestation with the Anjuna Nitro Runtime: boot-time secrets, and the enclave’s internal attestation endpoint.
Boot-time secrets
The Anjuna Nitro Runtime integrates with AWS KMS and (optionally) AWS S3 to securely provide secrets to Anjuna Nitro Enclaves at boot time. For example, your application may need access to database credentials or a TLS certificate. The boot-time secrets functionality can automatically retrieve these secrets by using remote attestation to authenticate to KMS. This ensures that no one else can access those secrets.
For more information, see Providing secrets to the AWS Nitro Enclave.
Attestation endpoint
The Anjuna Nitro Runtime exposes an internal HTTP endpoint, only accessible from within an Anjuna Nitro Enclave, for generating attestation reports. This can be used to prove that a specific application is running in a secure enclave before releasing sensitive data, including with AWS KMS. It can also be used to authenticate that a trusted Anjuna Nitro Enclave produced certain data.
You can use the attestation endpoint to build your own remote attestation workflow. For instructions, see Using the Anjuna Nitro Attestation Endpoint.