Ir al contenido

Webinar: Regístrese para nuestro próximo seminario web

Regístrate Ahora

¿Qué tan seguros son los servicios de gestión de claves de Amazon (AWS KMS)?

AWS CloudHSM ofrece almacenamiento de claves de un solo inquilino, lo que permite a las organizaciones cumplir con la norma FIPS 140-2 Nivel 3. CloudHSM permite un control total de sus claves, incluyendo claves simétricas (AES), asimétricas (RSA), SHA-256, SHA 512, basadas en hash o firmas digitales (RSA). Por otro lado, AWS Key Management Service es un almacenamiento de claves multiinquilino, propiedad de AWS y administrado por esta. AWS KMS permite claves maestras de cliente para el cifrado de clave simétrica (AES-256-XTS) y claves asimétricas (RSA o de curva elíptica [ECC]).

AWS Proporciona numerosos servicios, como bases de datos, almacenamiento, redes y muchos más. El Servicio de Administración de Claves de AWS (KMS) es uno de los servicios más populares de AWS. Es un servicio útil que facilita el manejo de datos confidenciales y la gestión de claves criptográficas.

¿Qué es AWS Key Management Service (KMS)?

AWS KMS es un servicio que se integra con otros servicios de AWS. Permite crear, almacenar y controlar claves criptográficas para cifrar datos en su aplicación. Con AWS KMS, el usuario puede controlar el acceso a los datos cifrados. AWS KMS ofrece casi el 100 % de durabilidad de las claves criptográficas.

Las claves se almacenan en múltiples zonas de disponibilidad (AZ) que garantizan su alta disponibilidad. AWS KMS está integrado con CloudTrail, lo que permite a los usuarios auditar el propósito, el momento y la persona que utilizó la clave.

Algunos puntos importantes sobre AWS KMS

  • Las claves generadas en una región no se pueden enviar fuera de esa región.
  • KMS utiliza un módulo de seguridad de hardware (HSM) de AWS, que es FIPS 140-2 compatible, para almacenar claves.
  • AWS KMS permite controlar el acceso a llaves maestras.
  • Los usuarios pueden cifrar los datos almacenados en Amazon EBS, Amazon S3 y Amazon Redshift ya que AWS KMS está integrado con estos servicios.

¿Cómo funciona AWS KMS?

Para aprender el funcionamiento interno de AWS KMS, primero debemos aprender los términos y conceptos utilizados en AWS KMS.

Hay dos tipos de claves en AWS KMS:

  1. Llaves maestras del cliente
  2. Claves de datos

Claves maestras del cliente (CMK)

Una CMK es una representación lógica de la clave maestra. Contiene metadatos como el ID de la clave, la fecha de creación, el estado de la clave y la descripción de la clave y el material de clave utilizado. cifrado y desencriptación.

De forma predeterminada, AWS KMS crea el material de claves. Nadie puede modificarlo, administrarlo, verlo ni extraerlo. Tampoco se puede eliminar. Si un usuario desea eliminar el material de claves, debe eliminar la CMK. Los usuarios pueden importar su material de claves a una CMK o crear material de claves para las CMK en un clúster de AWS CloudHSM.

AWS CMK proporciona CMK simétricas y asimétricas. Las CMK simétricas utilizan una clave de 256 bits para el cifrado y descifrado. Por el contrario, las CMK asimétricas utilizan RSA Pares de claves para cifrado y descifrado, o firma y verificación. Una clave creada asimétricamente, denominada clave ECC, solo se puede utilizar para firma y verificación. Las CMK se crean en AWS KMS. Las CMK se pueden administrar mediante la Consola de administración de AWS o la API de AWS KMS. Todas las claves simétricas y asimétricas privadas nunca salen de AWS KMS sin cifrar. Para realizar cualquier operación criptográfica con CMK, el usuario debe usar la API de AWS KMS.

Hay tres tipos de CMK compatibles con AWS KMS:

  1. CMK gestionado por el cliente: Las CMK administradas por el cliente son aquellas CMK en la cuenta de usuario que el usuario puede crear, poseer y administrar. Los usuarios tienen control total sobre las claves administradas por el cliente, lo que les permite establecer y administrar sus políticas de claves, políticas de IAM, concesiones, rotación de material criptográfico, etc.
  2. CMK administrado por AWS: Las CMK de la cuenta de usuario, creadas y administradas por AWS en nombre del usuario, se conocen como CMK administradas por AWS. Estas CMK no se pueden usar directamente en operaciones criptográficas. Los usuarios no pueden administrar, rotar ni cambiar las políticas de claves de las CMK administradas por AWS. Sin embargo, pueden consultar las políticas de claves y auditar su uso en AWS CloudTrail (integrado con AWS KMS) desde su cuenta de AWS.
  3. CMK propiedad de AWS: La colección de CMK propiedad de AWS y administrada por AWS para su uso en múltiples nubes se conoce como CMK propiedad de AWS. Las CMK propiedad de AWS protegen los recursos de la cuenta de usuario. Estas CMK no se encuentran en la cuenta del usuario. Con las CMK propiedad de AWS, los usuarios no necesitan crear ni administrar CMK. No pueden verlas, usarlas, rastrearlas ni auditarlas.

Claves de datos

Las claves utilizadas para cifrar datos y otras claves de cifrado de datos son claves de datos. Estas claves se utilizan para cifrar grandes cantidades de datos, ya que las claves maestras de cliente (CMK) no pueden cifrar datos de más de 4 KB. Las claves de datos se utilizan y gestionan fuera de AWS KMS. AWS KMS no almacena, gestiona ni rastrea las claves de datos. AWS KMS no realiza ninguna operación criptográfica con las claves de datos; sin embargo, los usuarios pueden generar, cifrar y descifrar claves de datos con la ayuda de las claves maestras de cliente (CMK) de AWS KMS. Las claves de datos pueden cifrar y descifrar datos en otros servicios de AWS, como Amazon S3, EBS, EC2, etc.

  • Crear clave de datos
    AWS KMS utiliza CMKs especificadas por el usuario para generar una clave de datos. Una clave de datos se puede generar llamando a Generar clave de datos Operación. Esta operación devuelve dos copias de la clave de datos: una en texto plano y la otra cifrada con la CMK. Otra operación... Generar clave de datos sin texto plano, también se puede utilizar, que devuelve una única copia de la clave de datos que está cifrada bajo CMK.
    Antes de utilizar una clave de datos cifrada, solicite a AWS KMS que la descifre.
crear clave de datos
  • Cifrado de datos con una clave de datos
    Como se mencionó anteriormente, AWS KMS no utiliza claves de datos para realizar operaciones criptográficas. Para cifrar datos con una clave de datos, utilice una clave de datos de texto sin formato, cifre los datos fuera de AWS KMS, elimínelos de la memoria y, a continuación, almacene la clave de datos cifrada.
cifrar datos con clave de datos
  • Descifrar datos con una clave de datos
    Para descifrar datos fuera de AWS KMS con una clave de datos, el Decrypt La operación se utiliza para descifrar la clave de datos cifrada, lo que devuelve una copia en texto sin formato de la clave de datos.
    Ahora, los datos fuera de AWS KMS se pueden descifrar con una clave de datos de texto sin formato. El usuario debe eliminar la clave de datos de texto sin formato de la memoria después de usarla.
    El siguiente diagrama muestra cómo Decrypt Operación descifrar la clave de datos cifrados:
descifrar con clave de datos
  • Par de claves de datos
    Los usuarios pueden crear un par de claves de datos asimétrico compuesto por claves privadas y públicas matemáticamente relacionadas. Generalmente, estos pares de claves se utilizan para el cifrado y descifrado del lado del cliente o para el proceso de firma y verificación fuera de AWS KMS.
    La clave privada de cada clave de datos está protegida por AWS KMS mediante CMK simétricas especificadas por el usuario, pero los usuarios deben administrar y usar el par de claves de datos fuera de AWS KMS, ya que no rastrea, administra ni usa pares de claves de datos para realizar operaciones criptográficas.
    Los usuarios pueden generar los siguientes pares de claves de datos en AWS KMS:  
    • Par de claves RSA de 2048, 3076 y 4096 bits. Generalmente se utiliza para cifrado y descifrado.
    • Par de claves de curva elíptica: ECC_NIST_P256, ECC_NIST_P384, ECC_NIST_P512 y ECC_SECG_P256K1. Generalmente se utiliza para firma y verificación.
  • Creación de un par de claves de datos
    Para generar un par de claves de datos, el usuario debe llamar al Generar par de claves de datos or Generar par de claves de datos sin texto plano operación según el requisito y especificar una CMK simétrica que cifrará la clave privada.
    Generar par de claves de datos Las operaciones generan tres claves: una clave pública de texto plano, una clave privada de texto plano y una clave privada cifrada. Por el contrario, Generar par de claves de datos sin texto plano genera dos claves: una clave pública de texto simple y una clave privada cifrada.
Creación de un par de claves de datos
  • Cifrado de datos con un par de claves de datos
    La clave pública de un par de claves de datos se utiliza para cifrar los datos, y la clave privada del mismo par de claves de datos se utiliza para descifrar los datos.
Cifrar con par de claves de datos
  • Descifrado de datos con un par de claves de datos
    La clave privada de texto simple del mismo par de claves de datos cuya clave pública se utilizó para el cifrado se utiliza para descifrar los datos. Decrypt La operación se utiliza para descifrar la clave privada cifrada de un par de claves de datos y eliminar la clave privada de texto simple de la memoria después de usarla.
Descifrar con par de claves de datos
  • Firmar mensajes con un par de claves de datos
    La clave privada de texto simple de un par de claves de datos se utiliza para generar una firma criptográfica para un mensaje, y cualquiera con la clave pública del mismo par de claves de datos puede usarla para verificar la firma.
    Si la clave privada está cifrada con AWS CMK, Decrypt Se utiliza la operación , que devuelve la clave privada en texto plano utilizada para la firma. Como siempre, el usuario debe eliminar la clave privada en texto plano de la memoria después de usarla.
Firmar con clave privada
  • Verificar un mensaje con un par de claves de datos
    La clave pública del par de claves de datos se utiliza para la verificación. La clave pública debe pertenecer al mismo par de claves de datos cuya clave privada se utilizó para la firma. La verificación de la firma confirma que un usuario autorizado firmó el mensaje y que este no ha sido alterado.
Verificar firma
  • Alias
    Los usuarios pueden asignar un nombre descriptivo a una CMK, conocido como alias. Por ejemplo, si el nombre de la CMK es 9897aswd-34dw-1234-89hg-asdkal212012, el usuario puede asignarle el alias key-01. Con un alias, los usuarios pueden identificar fácilmente una CMK en las operaciones de AWS KMS.
  • Operaciones criptográficas
    Se requiere el SDK de AWS, las Herramientas de AWS para PowerShell o la Interfaz de Línea de Comandos de AWS (AWS CLI) para realizar operaciones criptográficas con las CMK, ya que estas permanecen dentro de AWS KMS. Los usuarios no pueden realizar operaciones criptográficas con las CMK en la consola de AWS KMS.

A continuación se muestra una tabla que resume las operaciones criptográficas de AWS KMS:

Operación Tipo de clave CMK Uso de la clave CMK
Decrypt Simétrico/AsimétricoENCRYPT_DECRYPT
EncryptSimétrico/AsimétricoENCRYPT_DECRYPT
Generar clave de datosSimétrico ENCRYPT_DECRYPT
Generar clave de datos sin texto planoSimétrico ENCRYPT_DECRYPT
Generar par de claves de datosAsimétricoENCRYPT_DECRYPT
Generar par de claves de datos sin texto planoAsimétricoENCRYPT_DECRYPT
ReencriptarSimétrico/AsimétricoENCRYPT_DECRYPT
FirmeAsimétricoFIRMAR_VERIFICAR
VerificarAsimétricoFIRMAR_VERIFICAR

Nota:   Generar par de claves de datos y Generar par de claves de datos sin texto plano Las operaciones generan un par de claves de datos asimétricos que las CMK simétricas protegen.

  • Cifrado de sobres
    Los usuarios pueden proteger sus datos de texto sin formato cifrándolos con una clave, pero ¿cómo protegen dicha clave? Esto introduce el concepto de cifrado de sobre, donde los datos de texto sin formato se cifran con las claves de datos, y estas se cifran con la clave maestra. AWS KMS es responsable de la seguridad de la clave maestra. AWS KMS almacena y administra las claves maestras y nunca salen del HSM sin cifrar.
    Beneficios del cifrado de sobres:
    • Protección de claves de datos: Las claves de datos están protegidas inherentemente mediante el cifrado con CMK. Por lo tanto, pueden almacenarse de forma segura junto con los datos cifrados.
    • Cifrado de la clave de datos con clave maestra: Cifrar grandes cantidades de datos con claves de datos, una y otra vez, puede ser un proceso lento. Por lo tanto, en lugar de cifrar los datos repetidamente, la clave de cifrado se puede cifrar con una clave maestra.
    • Combinando la fuerza de múltiples algoritmos: El cifrado de sobre le permite utilizar la potencia de los algoritmos simétricos y asimétricos.
  • Política clave
    Los usuarios pueden definir los permisos para la CMK en un documento denominado política de claves. Pueden agregar, eliminar o cambiar permisos para las claves administradas por el cliente en cualquier momento, pero no pueden editar la CMK administrada por AWS, ya que AWS la administra en nombre del usuario.
  • Grant
    Las concesiones son permisos temporales que los usuarios pueden crear, usar y eliminar sin modificar las políticas de claves ni de IAM. También se consideran con las políticas de IAM y de claves cuando los usuarios acceden a una CMK.
  • Auditoría del uso de CMK
    AWK KMS está integrado con CloudTrail, que permite auditar el uso de claves. CloudTrail crea archivos de registro para las llamadas a la API de AWS y los eventos relacionados en la cuenta. Estos archivos de registro contienen todas las solicitudes a la API de AWS desde el SDK de AWS, la Consola de administración de AWS o las herramientas de línea de comandos de AWS. Estos archivos de registro permiten obtener información importante, como cuándo se utilizó la CMK, qué operación se solicitó, la identidad del solicitante y la dirección IP de origen.

Servicios de gestión de claves en la nube a medida

Obtenga servicios de consultoría flexibles y personalizables que se alineen con sus requisitos de nube.

Creación de CMK simétricas gestionadas por el cliente

Un usuario debe seguir los siguientes pasos para crear una CMK simétrica administrada por el cliente mediante la consola de administración de AWS:

  1. Inicie sesión en la consola de administración de AWS y abra la consola AWS KMS.
  2. Puede cambiar la región de AWS desde la esquina superior derecha de la página.
  3. Seleccione la opción que administra las claves del cliente desde el panel de navegación.
  4. Seleccione crear clave.
  5. En Tipo de clave, seleccione el tipo de CMK, es decir, Simétrica.
  6. Haga clic en Siguiente.
  7. Crea un alias para la CMK.
  8. Escriba la descripción de la CMK. (Opcional)
  9. Haga clic en Siguiente.
  10. Escriba una clave y un valor de etiqueta. (Opcional)
  11. Haga clic en Siguiente.
  12. Seleccione usuarios y roles de IAM que puedan administrar la CMK.
  13. Desmarque la casilla "Permitir que los administradores de claves eliminen esta clave" si no desea permitir que los usuarios y roles de IAM eliminen esta clave. (Opcional)
  14. Haga clic en Siguiente.
  15. Seleccione usuarios y roles de IAM que puedan usar la CMK para realizar operaciones criptográficas.
  16. En la sección "Otras cuentas de AWS", haga clic en "Agregar otra cuenta de AWS" e ingrese el número de identificación de la cuenta de AWS para permitir que usen esta CMK para operaciones criptográficas. (Opcional)
  17. Haga clic en Siguiente.
  18. Revise la configuración de claves que ha realizado.
  19. Haga clic en Finalizar para crear la CMK.

Creación de CMK asimétricas gestionadas por el cliente

Un usuario debe seguir los siguientes pasos para crear una CMK simétrica administrada por el cliente mediante la consola de administración de AWS:

  1. Inicie sesión en la consola de administración de AWS y abra la consola AWS KMS.
  2. Puede cambiar la región de AWS desde la esquina superior derecha de la página.
  3. Seleccione la opción que administra las claves del cliente desde el panel de navegación.
  4. Seleccione crear clave.
  5. En Tipo de clave, seleccione el tipo de CMK, es decir, Asimétrica.
  6. En Uso de la clave, seleccione el propósito para el cual se crea la clave, es decir, Cifrar y descifrar o Firmar y verificar.
  7. Seleccione la especificación de su CMK asimétrico.
  8. Haga clic en Siguiente.
  9. Crea un alias para la CMK.
  10. Escriba la descripción de la CMK. (Opcional)
  11. Escriba una clave y un valor de etiqueta. (Opcional)
  12. Haga clic en Siguiente.
  13. Seleccione usuarios y roles de IAM que puedan administrar la CMK.
  14. Desmarque la casilla "Permitir que los administradores de claves eliminen esta clave" si no desea permitir que los usuarios y roles de IAM eliminen esta clave. (Opcional)
  15. Haga clic en Siguiente.
  16. Seleccione usuarios y roles de IAM que puedan usar la CMK para realizar operaciones criptográficas.
  17. En la sección "Otras cuentas de AWS", haga clic en "Agregar otra cuenta de AWS" e ingrese el número de identificación de la cuenta de AWS para permitir que usen esta CMK para operaciones criptográficas. (Opcional)
  18. Haga clic en Siguiente.
  19. Revise la configuración de claves que ha realizado.
  20. Haga clic en Finalizar para crear la CMK.

Beneficios de AWS KMS

  1. Totalmente gestionado: AWS KMS proporciona acceso con control total a los datos cifrados al aplicar los permisos definidos por el usuario para usar claves.
  2. Gestión centralizada de claves: AWS KMS proporciona un único punto de control para administrar y definir políticas de claves. Los usuarios pueden crear, importar, administrar, eliminar o rotar claves desde la consola de administración de claves de AWS o usar la CLI o el SDK de AWS.
  3. Firmar datos digitalmente: El usuario puede generar una clave asimétrica en AWS KMS y puede realizar operaciones de firma digital para mantener la integridad de los datos.
  4. Seguro: En AWS KMS, las claves se generan y protegen en Módulos de seguridad de hardware (HSM) Validadas según FIPS 140-2. Por seguridad, las claves solo se utilizan dentro de los HSM y nunca se pueden compartir fuera de la región de AWS donde se crearon.
  5. Auditoría incorporada: AWS KMS está integrado con CloudTrail para ayudar a monitorear el uso de claves para cumplir con las necesidades regulatorias y de cumplimiento.

A continuación se muestra la tabla que resume las propiedades criptográficas del servicio de administración de claves de AWS:

ArrendatarioMultiinquilino
EstándarFIPS 140-2 Nivel 2
Llaves maestras– Llave maestra propiedad del cliente
– Clave maestra administrada por AWS
– Clave maestra propiedad de AWS
Claves criptográficas– Simétrico
– Asimétrico
– AES solo en modo XTS
API criptográficaSDK/API de AWS para KMS
Autenticación/Política de accesoPolítica de IAM de AWS
Accesibilidad claveAccesible en múltiples regiones (las claves fuera de la región en la que se crearon no se pueden usar)
Alta disponibilidadServicio administrado de AWS
Capacidad de auditoría– CloudTrail
– Vigilancia de nubes

Servicios de gestión de claves en la nube a medida

Obtenga servicios de consultoría flexibles y personalizables que se alineen con sus requisitos de nube.

Nube de AWS HSM

AWS CloudHSM es un módulo de seguridad de hardware de AWS, propiedad del cliente y administrado por él. AWS CloudHSM actúa como un único inquilino en el hardware, impidiendo que se comparta con otros clientes y aplicaciones. Las organizaciones pueden utilizar AWS CloudHSM si desean usar HSM para administrar claves de cifrado, sin tener que preocuparse por la gestión del hardware de HSM en un centro de datos.
AWS CloudHSM permite que los clústeres HSM de un solo inquilino, validados por FIPS 140-2 Nivel 3, en su Amazon Virtual Private Cloud (VPC) almacenen y usen sus claves. Los usuarios cuyas claves se utilizan tienen control total mediante un mecanismo de autenticación independiente de AWS.

AWS CloudHSM admite múltiples casos de uso, incluidos los siguientes: administración de pares de claves públicas/privadas para Infraestructura de clave pública (PKI)Firma de código y documentos, o almacenamiento de claves privadas para diversos servicios como bases de datos, almacenamiento y aplicaciones web, así como para soluciones DRM. AWS CloudHSM permitirá a su organización cumplir con las normativas de... gestión de claves requisitos con el uso de Módulos de Seguridad de Hardware supervisados ​​por AWS con capacidad de incorporar múltiples plataformas para almacenar claves.

A continuación se muestra la tabla que resume las propiedades criptográficas de AWS Cloud HSM

ArrendatarioMultiinquilino
EstándarFIPS 140-2 Nivel 2
Llaves maestras– Llave maestra propiedad del cliente
– Clave maestra administrada por AWS
– Clave maestra propiedad de AWS
Claves criptográficas– Simétrico
– Asimétrico
– AES solo en modo XTS
API criptográficaSDK/API de AWS para KMS
Autenticación/Política de accesoPolítica de IAM de AWS
Accesibilidad claveAccesible en múltiples regiones (las claves fuera de la región en la que se crearon no se pueden usar)
Alta disponibilidadServicio administrado de AWS
Capacidad de auditoría– CloudTrail
– Vigilancia de nubes

Tienda de claves personalizadas

La función de almacenamiento de claves personalizadas de AWS KMS proporciona una manera de integrar fácilmente los clústeres de AWS CloudHSM con AWS KMS.

Los usuarios pueden configurar su clúster CloudHSM para almacenar claves en lugar del almacén de claves KMS predeterminado.

Los usuarios también pueden generar material de claves dentro del clúster de CloudHSM. Las claves maestras generadas en el almacén de claves del cliente nunca salen del Módulo de Seguridad de Hardware de AWS en el clúster de CloudHSM en formato de texto sin formato, y todas las operaciones criptográficas que requiere KMS se realizan dentro de los HSM.

Conclusión

AWS CloudHSM ofrece almacenamiento de claves para un solo inquilino, lo que permite a las organizaciones cumplir con la norma FIPS 140-2 Nivel 3. CloudHSM permite el control total de sus claves, incluyendo claves simétricas (AES), asimétricas (RSA), SHA-256, SHA 512, basadas en hash o firmas digitales (RSA). Por otro lado, AWS Key Management Service es un almacenamiento de claves multiinquilino, propiedad de AWS y administrado por esta. AWS KMS permite claves maestras de cliente para cifrado de clave simétrica (AES-256-XTS) y claves asimétricas (RSA o de curva elíptica [ECC]). Supongamos que la estrategia de gestión de claves de su organización para el cifrado consistirá en ejecutar un único proveedor de servicios en la nube por ahora y en el futuro próximo. En ese caso, AWS KMS proporcionará el entorno más sencillo para el mantenimiento de las claves. Sin embargo, supongamos que planea utilizar varios proveedores de servicios en la nube, pero no desea mantener los HSM. En ese caso, AWS CloudHSM puede ser la solución para su organización que permite separar las claves de cifrado de los datos de las otras plataformas que se están utilizando.