AWS Nitro Enclaves

Función que crea máquinas virtuales aisladas dentro de instancias EC2, procesando datos sensibles de forma segura mediante atestación criptográfica e integración con KMS

Descripción general

AWS Nitro Enclaves es una función que separa una porción de la CPU y memoria de una instancia EC2 para crear una máquina virtual completamente aislada (Enclave). El Enclave no tiene interfaz de red ni almacenamiento, y la comunicación con la instancia padre se limita a vsock (virtual socket), impidiendo que incluso los administradores accedan directamente a los datos internos. Al utilizar documentos de atestación criptográfica como claves de condición de KMS, se pueden construir sistemas donde solo imágenes de Enclave específicas pueden obtener claves de descifrado, siendo adecuado para cargas de trabajo que requieren alta confidencialidad como procesamiento de PII y operaciones criptográficas de datos financieros.

Redefinición de límites de confianza mediante el modelo de aislamiento del Nitro Hypervisor

Los modelos de seguridad tradicionales se diseñaron bajo la premisa de que los administradores del SO y del hipervisor podían acceder a los datos en memoria. Nitro Enclaves invierte esta premisa proporcionando un entorno de ejecución aislado incluso del SO de la instancia padre. El Enclave es gestionado directamente por el Nitro Hypervisor, operando en un espacio de memoria independiente del kernel y drivers de la instancia padre. No existe conectividad de red externa alguna, y la única vía de comunicación con la instancia padre es vsock (Virtio Socket). Este diseño asegura que incluso si la instancia padre es comprometida, los datos dentro del Enclave permanecen protegidos. Azure ofrece Confidential Computing como función similar, pero Nitro Enclaves puede añadirse a instancias EC2 existentes sin adquirir hardware dedicado, reduciendo la barrera práctica de adopción. El inicio del Enclave utiliza la herramienta nitro-cli, con un flujo estándar de construir un Enclave Image File (EIF) desde una imagen Docker y ejecutarlo.

Descifrado de confianza cero mediante atestación y claves de condición KMS

El núcleo de Nitro Enclaves es la atestación criptográfica. Cuando un Enclave se inicia, el Nitro Hypervisor genera un documento de atestación firmado que contiene los valores PCR (Platform Configuration Register) de la imagen del Enclave. PCR0 representa el hash de la imagen, PCR1 el hash del kernel y PCR2 el hash de la aplicación, demostrando criptográficamente que estos valores no han sido alterados. Configurar claves de condición como kms:RecipientAttestation:PCR0 en las políticas de claves KMS permite que solo los Enclaves que coincidan con los valores PCR especificados puedan llamar a la API Decrypt. Esto logra un descifrado de confianza cero donde el descifrado solo se permite cuando código legítimo se ejecuta en un entorno legítimo. En la práctica, construir pipelines CI/CD que compilen EIFs y reflejen automáticamente sus valores PCR en las políticas KMS elimina la necesidad de actualizar manualmente las políticas con cada despliegue.

Patrones de implementación para procesamiento de PII y cargas financieras

Los casos de uso representativos de Nitro Enclaves son la tokenización de PII y las operaciones criptográficas de datos financieros. Para el procesamiento de PII, la instancia padre envía información personal cifrada al Enclave vía vsock, el Enclave obtiene la clave de descifrado de KMS para descifrar y procesar los datos, y luego devuelve solo el resultado tokenizado a la instancia padre. Este diseño asegura que la PII en texto plano nunca permanezca en la memoria o disco de la instancia padre. En finanzas, se utiliza como alternativa a HSMs (Hardware Security Modules) para operaciones de claves criptográficas. Usando ACM for Nitro Enclaves, se pueden operar servidores web con las claves privadas de certificados SSL/TLS confinadas dentro del Enclave, reduciendo significativamente el riesgo de filtración de claves privadas. La asignación de recursos del Enclave se toma de los núcleos de CPU y memoria de la instancia padre, por lo que el dimensionamiento debe considerar los recursos adicionales del Enclave. Nitro Enclaves está disponible sin cargo adicional en cualquier instancia basada en Nitro.

共有するXB!