A deep-dive into security risks when integrating AWS Nitro Enclaves with AWS Key Management Service (KMS). Covers passive and active attack classes against the enclave-KMS communication channel, including data swap attacks, replay attacks, CMK substitution, and side-channel leakage. Provides actionable checklists for passive and active attack prevention, KMS policy hardening, end-to-end verifiability challenges, and operational concerns like key rotation, backups, and billing risks. Also discloses vulnerabilities in the aws-nitro-enclaves-sdk-c library and recommends using the Rust NSM API and Python Boto3 KMS client as safer alternatives.
Table of contents
Intro to KMSEnclave-KMS communicationUse casesPassive attack preventionActive attack preventionKMS policiesKMS policy end-to-end verificationOperational concernsSoftware and SDKsFinal notesAppendix A152 Impressions