AWS CloudHSM
Servicio para usar de forma dedicada módulos de seguridad de hardware con certificación FIPS 140-2 Level 3 y ejecutar en la nube la generación / el almacenamiento de claves criptográficas y las operaciones criptográficas
Descripción general
AWS CloudHSM es un servicio que proporciona módulos de seguridad de hardware (HSM) dedicados en la nube. Coloca dentro de la VPC appliances HSM fabricados por Cavium/Marvell con certificación FIPS 140-2 Level 3 o FIPS 140-3 Level 3, y completa dentro del hardware la generación y el almacenamiento de claves criptográficas, la firma y el cifrado/descifrado. El material de claves no puede extraerse del hardware resistente a manipulaciones del HSM, y nadie, incluida AWS, puede acceder al material de claves. Es compatible con las interfaces estándar PKCS#11, JCE (Java Cryptography Extension) y Microsoft CNG, y permite integrar el código de las aplicaciones existentes con cambios mínimos.
Diferencias fundamentales con KMS y criterios de selección
Tanto CloudHSM como KMS pueden usarse para gestionar claves criptográficas, pero difieren fundamentalmente en el modelo de control y en los requisitos de cumplimiento. KMS funciona sobre una infraestructura HSM compartida multi-tenant, y AWS se encarga por usted de la gestión del ciclo de vida de las claves. La API es propia de AWS, y las operaciones de cifrado/descifrado/firma se ejecutan a través de la API de KMS. El precio es de pago por uso basado en una tarifa mensual de almacenamiento por clave y en el número de llamadas a la API; consulte los precios unitarios más recientes en la página oficial de precios de AWS. CloudHSM proporciona HSM dedicados single-tenant, y toda la responsabilidad de la gestión de las claves recae en el usuario. AWS solo se encarga de la operación del hardware de los HSM y no puede acceder en absoluto al material de claves. Como usa PKCS#11, JCE y otras interfaces estándar del sector, la migración desde HSM on-premises es fácil. CloudHSM debe elegirse cuando los requisitos normativos exigen explícitamente el uso dedicado (single-tenant) de un HSM con certificación Level 3 de FIPS 140-2 o FIPS 140-3, o cuando necesita un control exclusivo completo de las claves. También debe elegirse cuando migra aplicaciones existentes que usan PKCS#11 o JCE, o cuando realiza la descarga de SSL/TLS en el HSM. En los demás casos, KMS es razonable tanto por la carga operativa como por el coste.
Configuración de clústeres y diseño de alta disponibilidad
CloudHSM se gestiona por clústeres, y puede colocar varios HSM en un clúster (el límite del número de HSM figura en la documentación oficial de AWS). La alta disponibilidad se garantiza colocando 1 o más HSM en cada una de al menos 2 AZ. Los HSM del clúster sincronizan las claves automáticamente, por lo que, aunque falle un HSM, los demás HSM pueden continuar con el procesamiento. El SDK de cliente distribuye las solicitudes entre los HSM por round robin y, cuando detecta un fallo, conmuta automáticamente por error a un HSM en buen estado. En la configuración inicial, es sumamente importante guardar de forma segura las credenciales del Crypto Officer (CO) generadas al inicializar el clúster. Si pierde estas credenciales, ya no habrá ningún medio para acceder a las claves del HSM. AWS no conserva estas credenciales, por lo que la recuperación es imposible. CloudHSM obtiene las copias de seguridad automáticamente, y las copias de seguridad se almacenan cifradas en S3. A partir de una copia de seguridad, puede crear un clúster nuevo y restaurar los datos; consulte en la documentación oficial de AWS el tratamiento entre regiones y sus restricciones. El precio es por horas, basado en el tiempo de funcionamiento de cada HSM (a fecha de septiembre de 2026). En una configuración con varios HSM para la alta disponibilidad, se cobra por cada HSM (a fecha de septiembre de 2026 / consulte los precios unitarios más recientes en la página oficial de precios de AWS).
Implementación de la descarga de SSL/TLS y el cifrado de bases de datos
Uno de los casos de uso representativos de CloudHSM es la descarga de SSL/TLS. La clave privada del servidor web (Nginx, Apache) se almacena en CloudHSM, y el procesamiento de firma del handshake TLS se ejecuta dentro del HSM. Como la clave privada no existe en la memoria ni en el disco del servidor, aunque el servidor se vea comprometido, es posible contener el riesgo de filtración de la propia clave privada. La integración con el servidor web se realiza a través del motor de OpenSSL o de un proveedor PKCS#11. En la práctica también se usa un patrón que se integra con Oracle TDE (Transparent Data Encryption) o con EKM (Extensible Key Management) de Microsoft SQL Server y gestiona en CloudHSM las claves de cifrado de las bases de datos. En Oracle TDE, la clave de cifrado maestra se almacena en CloudHSM, y las claves de cifrado de los tablespaces se cifran con la clave maestra y se guardan dentro de la base de datos. De este modo, aunque se filtre una copia de seguridad de la base de datos, los datos no pueden descifrarse sin la clave maestra que está en CloudHSM. Con la función de almacén de claves personalizado de KMS, también es posible usar CloudHSM como destino de almacenamiento de las claves manteniendo la comodidad de la API de KMS. Es una configuración en la que, al llamar al cifrado/descifrado con la API de KMS, CloudHSM ejecuta las operaciones criptográficas por detrás, y permite compaginar la facilidad de uso de KMS con el nivel de seguridad de CloudHSM.
Referencias (recursos oficiales de AWS)
Las fuentes primarias de esta página son el sitio web y la documentación oficiales de AWS. Consulta las páginas oficiales siguientes para conocer las especificaciones y los precios más recientes.
- AWS KMS (página oficial)
- AWS Secrets Manager (página oficial)
- AWS Certificate Manager (página oficial)
- Documentación de AWS (oficial)
Si esta página y la documentación oficial difieren, prevalece la documentación oficial.