Características de AWS Key Management Service

Información general

AWS Key Management Service (KMS) le permite controlar las claves criptográficas que se utilizan para proteger los datos. AWS KMS le ofrece un control centralizado del ciclo de vida y los permisos de sus claves. Puede crear nuevas claves cuando lo desee y controlar quién puede administrarlas por separado y quién puede usarlas. El servicio está integrado con otros servicios de AWS, lo que facilita el cifrado de los datos que almacena en estos servicios y el control del acceso a las claves que los descifran. AWS KMS también está integrado con AWS CloudTrail para ayudarlo a realizar auditorías que detecten quién utilizó determinadas claves, en qué recursos y cuándo lo hizo. Con AWS KMS, los desarrolladores pueden agregar de manera más sencilla funcionalidades de cifrado y firma digital en el código de la aplicación, ya sea directamente o a través del SDK de AWS. El SDK de cifrado de AWS es compatible con AWS KMS como proveedor de claves para desarrolladores que necesiten cifrar o descifrar datos localmente en las aplicaciones.

Características clave

Si tiene habilitado AWS CloudTrail para su cuenta de AWS, cada solicitud que realice a AWS KMS se registrará en un archivo de registro. Este archivo de registro se entrega en el bucket de Amazon Simple Storage Service (Amazon S3) que especificó al habilitar AWS CloudTrail. La información registrada incluye los detalles del usuario, la hora, la fecha, la acción de API y, cuando corresponda, la clave utilizada.

AWS KMS es un servicio totalmente administrado. A medida que aumente el uso del cifrado, el servicio ajustará su escala automáticamente para satisfacer sus necesidades. Permite administrar miles de claves de KMS en la cuenta y utilizarlas cuando desee. Define los límites predeterminados para la cantidad de claves y para las tarifas de las solicitudes, pero usted puede solicitar un aumento de los límites si es necesario.

Las claves de KMS que crea o las que otro servicio de AWS crea por usted no se pueden exportar del servicio. Por lo tanto, AWS KMS asume la responsabilidad de la durabilidad de dichas claves. AWS KMS almacena varias copias de las versiones cifradas de las claves en sistemas diseñados para ofrecer una durabilidad del 99,999999999 %, a fin de garantizar que las claves y datos tengan una alta disponibilidad.

En el caso de los datos cifrados o los flujos de trabajo de firmas digitales que se desplazan entre regiones (recuperación de desastres, arquitecturas de alta disponibilidad de varias regiones, tablas globales de DynamoDB y firmas digitales coherentes distribuidas globalmente), puede crear claves de KMS para varias regiones. Las claves de KMS para varias regiones son un conjunto de claves interoperables con los mismos materiales de claves e ID de claves que se pueden replicar en varias regiones.

AWS KMS está diseñado para ser un servicio de alta disponibilidad con un punto de conexión de API regional. Como la mayoría de los servicios de AWS confían en AWS KMS para el cifrado y descifrado, AWS KMS está diseñado para ofrecer un nivel de disponibilidad. Esta disponibilidad es compatible con el resto de AWS y está respaldada por el Contrato de Nivel de Servicio de AWS KMS.

AWS KMS está diseñado para que nadie, ni siquiera los empleados de AWS, pueda recuperar sus claves de texto no cifrado del servicio. El servicio utiliza módulos de seguridad de hardware (HSM) que se validan continuamente en conformidad con el Programa de Validación de Módulos Criptográficos de los Estándares Federales de Procesamiento de la Información (FIPS) 140-2 del Instituto Nacional de Normas y Tecnología (NIST) para proteger la confidencialidad e integridad de sus claves. Los HSM de AWS KMS son la raíz criptográfica de confianza para proteger las claves de KMS. Crean un límite seguro protegido por equipos para todas las operaciones criptográficas que ocurren en KMS. Todo el material de claves para las claves de KMS generadas dentro de los HSM de AWS KMS y todas las operaciones que requieren material de claves de KMS descifrado se realizan estrictamente dentro del límite de nivel de seguridad 3 de FIPS 140-2 de estos HSM. Las actualizaciones de firmware del HSM de AWS KMS se controlan con el acceso de varios participantes que un grupo independiente dentro de Amazon audita y revisa. Según los requisitos de FIPS 140, todos los cambios de firmware en los HSM de KMS se envían a un laboratorio acreditado por NIST para su validación de conformidad con el nivel de seguridad 3 de FIPS 140-2.

Las claves de texto no cifrado jamás se graban en el disco y solo se utilizan en una memoria volátil del HSM durante el tiempo necesario para realizar la operación criptográfica que solicitó. Este proceso se realiza independientemente de si solicita a AWS KMS que cree claves por usted, las importa al servicio o las crea en un clúster de AWS CloudHSM mediante la característica de almacenamiento de claves personalizado. Puede elegir si desea crear claves de una sola región o de varias regiones. Las claves de región única nunca se transmiten fuera de la región de AWS en la que se crearon y solo se pueden utilizar en la región en la que se crearon.
 

Para obtener más información sobre la arquitectura de AWS KMS y la criptografía que utiliza para proteger sus claves, lea el documento técnico Introducción a los detalles criptográficos de AWS KMS.

* En la región de AWS China (Pekín), operada por Beijing Sinnet Technology Co., Ltd. ("Sinnet") y AWS China (Ningxia), operada por Ningxia Western Cloud Data Technology Co. Ltd. (“Sinnet”) Sinnet y la región de AWS China (Ningxia), operada por Ningxia Western Cloud Data Technology Co., Ltd. (“NWCD”) NWCD, los HSM están aprobados por el gobierno chino (no validados por FIPS 140-2), y no se aplica el documento técnico sobre detalles criptográficos mencionado anteriormente.  

AWS KMS ayuda a crear y utilizar claves de KMS asimétricas y pares de claves de datos. Puede designar una clave de KMS para utilizar como par de claves de firma, par de claves de cifrado o par de claves de acuerdo. Las operaciones criptográficas asimétricas y la generación de pares de claves mediante el uso de estas claves de KMS se realizan dentro de los HSM. Puede solicitar la sección pública de la clave de KMS asimétrica para utilizarla en aplicaciones locales, pero la sección privada jamás abandonará el servicio. Puede importar la parte privada de una clave asimétrica desde su propia infraestructura de administración de claves.

También puede solicitar al servicio que genere un par de claves de datos asimétricas. La operación devuelve una copia con texto plano de la clave pública, la clave privada, y una copia de la clave privada cifrada bajo una clave de KMS simétrica que usted especifique. Puede utilizar la clave privada o pública con texto plano en la aplicación local y almacenar la copia cifrada de la clave privada para una utilización futura.

** Los almacenes de claves personalizados no admiten las claves asimétricas.

Puede generar y verificar códigos de autenticación de mensajes basados en hash (HMAC) desde los HSM validados por FIPS 140-2 de AWS KMS. Los HMAC son un bloque de construcción criptográfica que incorpora material clave secreto dentro de una función hash para crear un código de autenticación de mensaje con clave única. Las claves de KMS para HMAC ofrecen una ventaja frente a los HMAC de software de aplicación, ya que el material de las claves se genera y usa por completo dentro de AWS KMS. También están sujetas a controles de acceso que se establecen en la clave. Las claves de KMS para HMAC y los algoritmos de HMAC que usa AWS KMS cumplen con los estándares de la industria definidos en RFC 2104. Las claves de KMS para HMAC se generan en módulos de seguridad de hardware de AWS KMS certificados según el programa de validación de módulos criptográficos FIPS 140-2, y nunca salen de AWS KMS sin cifrar. También puede importar su propia clave de HMAC desde su propia infraestructura de administración de claves.

* Los almacenes de claves personalizados no admiten claves de AWS KMS para HMAC.
** FIPS 140-2 no se aplica a AWS KMS en la región de AWS China (Pekín), a cargo de Sinnet, ni en la región de AWS China (Ningxia), a cargo de NWCD. Los HSM en las regiones de China cuentan con la aprobación de uso del gobierno chino.

Los controles de seguridad y calidad de AWS KMS están validados y certificados por los siguientes regímenes de conformidad:

  • Informes de Controles de Sistemas y Organizaciones (SOC) de AWS (SOC 1, SOC 2 y SOC 3). Puede descargar una copia de estos informes en AWS Artifact.
  • Catálogo de controles de conformidad de computación en la nube (C5). Obtenga más información sobre el esquema de certificación C5 respaldado por el Gobierno alemán.
  • Nivel 1 del estándar de seguridad de datos de la industria de tarjetas de pago (PCI DSS). Obtenga más información sobre los servicios en conformidad con PCI DSS en AWS en las preguntas frecuentes sobre PCI DSS.
  • Estándares Federales de Procesamiento de la Información (FIPS) 140-2. El módulo criptográfico de AWS KMS está validado en el nivel de seguridad 3 de FIPS 140-2 por el Instituto Nacional de Estándares y Tecnología (NIST) de EE. UU. Obtenga más información al consultar el certificado FIPS 140-2 para el HSM de AWS KMS junto con la política de seguridad asociada.
  • Programa Federal de Gestión de Riesgos y Autorizaciones (FedRAMP). Más información acerca de la conformidad de FedRAMP en AWS en Conformidad con FedRAMP.
  • Ley de Portabilidad y Responsabilidad de Seguros de Salud (HIPAA). Obtenga más información en la página web de Conformidad de HIPAA.

AWS KMS se ha validado y certificado frente a otros regímenes de conformidad enumerados aquí.

* FIPS 140-2 no se aplica a AWS KMS en la región de AWS China (Pekín), a cargo de Sinnet, ni en la región de AWS China (Ningxia), a cargo de NWCD. Los HSM en las regiones de China cuentan con la aprobación de uso del gobierno chino.

Los almacenes de claves personalizados combinan la cómoda y completa interfaz de administración de claves de AWS KMS con la capacidad de poseer y controlar los dispositivos donde se produce el material de claves y las operaciones criptográficas. Como resultado, usted asume más responsabilidad por la disponibilidad y durabilidad de las claves criptográficas y por el funcionamiento de los HSM. AWS KMS ofrece dos tipos de almacenes de claves personalizados:

Almacén de claves respaldado por CloudHSM

Puede crear una clave de KMS en un almacén de claves personalizado de AWS CloudHSM, donde todas las claves se generan y almacenan en un clúster de AWS CloudHSM de su propiedad y que usted administra. Cuando utiliza una clave de KMS en un almacén de claves personalizado, las operaciones criptográficas bajo esa clave se llevan a cabo únicamente en el clúster de AWS CloudHSM.

Utilizar un almacén de claves personalizado incluye el costo adicional del clúster de AWS CloudHSM y lo hace responsable de la disponibilidad del material de claves en dicho clúster. Para obtener más información sobre si los almacenes de claves personalizados son una buena opción para sus necesidades, lea este blog.

Almacén de claves externo

Si tiene una necesidad normativa de almacenar y utilizar claves de cifrado en las instalaciones o en la nube de AWS, puede crear una clave de KMS en un almacén de claves externo (XKS) de AWS KMS, donde todas las claves se generan y almacenan en un administrador de claves externo fuera de AWS de su propiedad y que usted administra. Cuando se utiliza un XKS, el material de claves nunca abandona el HSM.

A diferencia de las claves de KMS estándar o de una clave en un almacén de claves personalizado de CloudHSM, usted es responsable de la durabilidad, disponibilidad, latencia, rendimiento y seguridad del material de la clave y de las operaciones criptográficas de las claves externas cuando utilice un almacén de claves externo. El rendimiento y la disponibilidad de las operaciones de KMS pueden verse afectados por el hardware, el software o los componentes de red de la infraestructura de XKS que utilice. Para obtener más información sobre XKS, puede leer este blog de noticias de AWS.

* Los almacenes de claves personalizados no se encuentran disponibles en la región China (Pekín) de AWS, a cargo de Sinnet, ni en la región China (Ningxia) de AWS, a cargo de NWCD.
** Los almacenes de claves personalizados no se encuentran disponible para claves de KMS asimétricas.
*** CodeArtifact no admite claves de KMS en un XKS.

Puede utilizar AWS KMS con bibliotecas de cifrado del cliente para proteger los datos directamente dentro de su aplicación en AWS o en entornos híbridos y multinube. Puede utilizar estas bibliotecas para cifrar los datos antes de almacenarlos en los servicios de AWS o en cualquier otro medio de almacenamiento y servicios de terceros que desee. Estas bibliotecas están diseñadas para ayudarlo a cifrar y descifrar datos según los estándares y las mejores prácticas del sector. Las bibliotecas de cifrado le permiten centrarse en la funcionalidad principal de la aplicación en lugar de en cómo cifrar y descifrar los datos.

  • El SDK de cifrado de AWS proporciona una biblioteca de cifrado del cliente para implementar operaciones de cifrado y descifrado en todos los tipos de datos.
  • El SDK de cifrado de bases de datos de AWS es una biblioteca de cifrado que lo ayuda a proteger los datos confidenciales almacenados en su base de datos y proporciona características adicionales de búsqueda y consulta de datos cifrados.
  • El cliente de cifrado de Amazon S3 es una biblioteca de cifrado para cifrar y descifrar los objetos almacenados en su bucket de S3.

Para obtener más información, consulte la documentación de AWS Crypto Tools.

Integración con servicios de AWS

AWS KMS se integra con otros servicios de AWS para cifrar datos en reposo o para facilitar el inicio de sesión y la verificación mediante una clave de AWS KMS. Para proteger los datos en reposo, los servicios de AWS integrados utilizan el cifrado de sobres, en el cual una clave de datos se utiliza para el cifrado de datos y a su vez se cifra con una clave de KMS almacenada en AWS KMS. Para el inicio de sesión y la verificación, los servicios de AWS integrados utilizan cifrado RSA asimétrico o claves de KMS de curva elíptica de AWS KMS. Para obtener más información sobre cómo un servicio integrado utiliza AWS KMS, consulte la documentación del servicio de AWS.

Alexa for Business[1] Amazon FSx Amazon Rekognition AWS CodePipeline
Amazon AppFlow Amazon GuardDuty Amazon Relational Database Service (RDS) AWS Control Tower
Amazon Athena Amazon HealthLake Amazon Route 53 AWS Data Exchange
Amazon Aurora Amazon Inspector Amazon Simple Storage Service (Amazon S3)[3] AWS Database Migration Service
SDK de Amazon Chime Amazon Kendra Amazon SageMaker AWS DeepRacer
Registros de Amazon CloudWatch Amazon Keyspaces (para Apache Cassandra) Amazon Simple Email Service (SES)
Recuperación ante desastres de AWS Elastic
Amazon CloudWatch Synthetics Amazon Kinesis Data Streams Amazon Simple Notification Service (SNS) AWS Elemental MediaTailor
Amazon CodeGuru Amazon Kinesis Firehose Amazon Simple Queue Service (SQS) AWS Entity Resolution
Amazon CodeWhisperer Amazon Kinesis Video Streams Amazon Textract AWS GameLift
Amazon Comprehend Amazon Lex Amazon Timestream AWS Glue
Amazon Connect Amazon Lightsail[1] Amazon Transcribe AWS Glue DataBrew
Perfiles de clientes de Amazon Connect Amazon Location Service Amazon Translate AWS Ground Station
Amazon Connect Voice ID Amazon Lookout for Equipment Amazon WorkMail AWS IoT SiteWise
Amazon Q en Connect Amazon Lookout for Metrics Amazon WorkSpaces AWS Lambda
Amazon DocumentDB Amazon Lookout for Vision Cliente ligero de Amazon WorkSpaces AWS License Manager
Amazon DynamoDB Amazon Macie Amazon WorkSpaces Web Modernización de mainframe de AWS
Acelerador de Amazon DynamoDB (DAX)[1]
Amazon Managed Blockchain AWS AppConfig AWS Network Firewall
Amazon EBS Amazon Managed Service para
Prometheus
AWS AppFabric AWS Proton
Generador de imágenes de Amazon EC2 Amazon Managed Streaming para Kafka (MSK) AWS Application Cost Profiler AWS Secrets Manager
Amazon EFS Amazon Managed Workflows para Apache Airflow (MWAA) AWS Application Migration Service AWS Snowball 
Amazon Elastic Container Registry (ECR) Amazon MemoryDB AWS App Runner AWS Snowball Edge
Amazon Elastic Kubernetes Service (EKS) Amazon Monitron AWS Audit Manager AWS Snowcone
Amazon Elastic Transcoder Amazon MQ AWS Backup AWS Storage Gateway
Amazon ElastiCache Amazon Neptune AWS Certificate Manager[1] AWS Systems Manager
Amazon EMR Amazon Nimble Studio AWS Cloud9[1] AWS Supply Chain
Amazon EMR sin servidor Amazon OpenSearch AWS CloudHSM[2] Acceso verificado de AWS
Programador de Amazon EventBridge Amazon Omics AWS CloudTrail AWS X-Ray
Amazon FinSpace Amazon Personalize AWS CodeArtifact  
Amazon Forecast Amazon QLDB AWS CodeBuild  
Amazon Fraud Detector Amazon Redshift AWS CodeCommit[1]  

[1] Solo admite claves administradas de AWS.

[2] AWS KMS admite almacenes de claves personalizados respaldados por un clúster de AWS CloudHSM.

[3] S3 Express One Zone no está integrado con AWS KMS, pero admite el cifrado del lado del servidor con claves administradas de Amazon S3 (SSE-S3). Para obtener más información sobre el cifrado de objetos de S3 Express One Zone, visite Protección y cifrado de datos de S3 Express One Zone.

[4] Para consultar una lista de los servicios integrados en AWS KMS en la región de AWS China (Pekín), a cargo de Sinnet, y en la región de AWS China (Ningxia), a cargo de NWCD, visite Integración en el servicio AWS KMS en China.

Los servicios de AWS que no se mencionaron anteriormente cifran los datos del cliente con las claves que el servicio correspondiente posea y administre.