Crear de una clave de KMS. - AWS Key Management Service

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Crear de una clave de KMS.

Puede crear AWS KMS keys en AWS Management Console, o mediante la CreateKeyoperación o el AWS::KMS::Key AWS CloudFormation recurso. Durante este proceso, establece la política de claves para la clave KMS, que puede cambiar en cualquier momento. También puede seleccionar los siguientes valores que definen el tipo de clave KMS que va a crear. No puede cambiar estas propiedades después de que se cree la clave de KMS.

Tipo de clave KMS

El tipo de clave es una propiedad que determina el tipo de clave criptográfica que se crea. AWS KMS ofrece tres tipos de claves para proteger los datos:

  • Claves simétricas del estándar de cifrado avanzado (AES)

    Claves de 256 bits que se utilizan en el modo de contador Galois (GCM) del AES para proporcionar el cifrado o descifrado autenticado de datos de un tamaño inferior a 4 KB. Este es el tipo de clave más común y se utiliza para proteger otras claves de cifrado de datos utilizadas en sus aplicaciones y, de Servicios de AWS ese modo, cifrar los datos en su nombre.

  • RSA, curva elíptica o claves asimétricas (solo para regiones de SM2 China)

    Estas claves están disponibles en varios tamaños y admiten muchos algoritmos. Se pueden usar para cifrar y descifrar, firmar y verificar u obtener operaciones de secretos compartidos según el algoritmo elegido.

  • Claves simétricas para realizar operaciones de códigos de autenticación de mensajes basados en hash (HMAC)

    Estas claves son claves de 256 bits que se utilizan para las operaciones de firma y verificación.

    Las claves KMS no se pueden exportar desde el servicio en texto sin formato. Las generan los módulos de seguridad de hardware (HSMs) utilizados por el servicio y solo se pueden usar dentro de ellos. Esta es la propiedad de seguridad fundamental AWS KMS para garantizar que las claves no se vean comprometidas.

Uso de clave

El uso de la clave es una propiedad que determina las operaciones criptográficas que esta admite. Las claves KMS pueden tener los siguientes usos de clave: ENCRYPT_DECRYPT, SIGN_VERIFY, GENERATE_VERIFY_MAC o KEY_AGREEMENT. Cada clave de KMS solo puede tener un uso. El uso de una clave KMS para más de un tipo de operaciones hace que el producto de ambas operaciones sea más vulnerable a ataques.

Especificación de clave

La especificación de clave es una propiedad que representa la configuración criptográfica de la clave. El significado de la especificación de clave difiere con el tipo de clave.

Para las claves KMS, la especificación de clave determina si la clave KMS es simétrica o asimétrica. También determina el tipo de su material de clave y los algoritmos que admite.

La especificación de clave predeterminada, SYMMETRIC_DEFAULT, representa una clave de cifrado simétrico de 256 bits. Para obtener una descripción detallada de todas las especificaciones de clave compatibles, consulte Referencia de especificaciones de clave.

Origen del material de claves

El origen del material de claves es una propiedad de la clave KMS que identifica el origen del material de claves en la clave KMS. Usted elija el origen del material de claves cuando crea la clave KMS y no se puede cambiar. La fuente del material de clave afecta a las características de seguridad, durabilidad, disponibilidad, latencia y rendimiento de la clave de KMS.

Cada clave KMS incluye una referencia al material de clave en los metadatos. El origen del material de claves de cifrado simétrico, las claves KMS pueden variar. Puede utilizar el material de claves que genera AWS KMS , el material de claves que se genera en un almacén de claves personalizado, o bien importar su propio material de claves.

De forma predeterminada, cada clave KMS tiene un material de claves único. Sin embargo, puede crear un conjunto de claves de varias regiones con el mismo material de claves.

Las claves KMS pueden tener uno de los siguientes valores de origen del material clave:AWS_KMS, EXTERNAL (material clave importado), AWS_CLOUDHSM (clave KMS en un almacén de AWS CloudHSM claves) o EXTERNAL_KEY_STORE (clave KMS en un almacén de claves externo).

Permisos para crear claves KMS

Para crear una clave KMS en la consola o mediante la APIs, debe tener el siguiente permiso en una política de IAM. Siempre que sea posible, use claves de condición para limitar los permisos. Por ejemplo, puede usar la clave de KeySpec condición kms: en una política de IAM para permitir que los principales creen solo claves de cifrado simétricas.

Para obtener un ejemplo de una política de IAM para las principales entidades que crean claves, consulte Permitir a un usuario crear claves KMS.

nota

Tenga cuidado al dar permiso a las entidades principales para administrar etiquetas y alias. El cambio de etiqueta o alias puede permitir o denegar permiso a la clave administrada por el cliente. Para obtener más información, consulte ABAC para AWS KMS.

El PutKeyPolicy permiso kms: no es necesario para crear la clave KMS. El permiso kms:CreateKey incluye permiso para establecer la política de clave inicial. Pero debe agregar este permiso a la política de clave mientras crea la clave KMS para asegurarse de que puede controlar el acceso a la clave KMS. La alternativa es utilizar el BypassLockoutSafetyCheckparámetro, lo cual no se recomienda.

Las claves KMS pertenecen a la AWS cuenta en la que se crearon. El usuario de IAM que crea una clave KMS no se considera el propietario de la clave y no tiene permiso automáticamente para usar o administrar la clave KMS que creó. Al igual que cualquier otra entidad principal, el creador de la clave necesita obtener permiso a través de una política de claves, una política de IAM o una concesión. Sin embargo, las entidades principales que tienen el permiso de kms:CreateKey pueden establecer la política de clave inicial y darse permiso a ellas mismas para usar o administrar la clave.

Elección del tipo de clave KMS que se va a crear

El tipo de clave KMS que crea varía en gran medida en función de cómo tiene previsto utilizar la clave KMS, los requisitos de seguridad y los requisitos de autorización. El tipo de clave y el uso de la clave de una clave KMS determinan qué operaciones criptográficas puede realizar dicha clave. Cada clave KMS tiene solo un uso de claves. El uso de una clave KMS para más de un tipo de operaciones hace que el producto de todas las operaciones sea más vulnerable a ataques.

Para permitir que los directores creen claves de KMS solo para un uso de clave determinado, utilice la clave de KeyUsage condición kms:. También puede utilizar la clave de condición kms:KeyUsage para permitir que las entidades principales llamen a las operaciones de la API para una clave KMS basada en su uso de claves. Por ejemplo, puede permitir un permiso que deshabilite una clave KMS solo si su uso de clave es SIGN_VERIFY.

Utilice las siguientes directrices para determinar qué tipo de clave KMS necesita en función de su caso de uso.

Cifrar y descifrar datos

Utilice una clave KMS simétrica para la mayoría de los casos de uso que requieren cifrar y descifrar datos. El algoritmo de cifrado simétrico que utiliza AWS KMS es rápido, eficaz y asegura la confidencialidad y la autenticidad de los datos. Admite el cifrado autenticado con datos autenticados adicionales (AAD), definidos como un contexto de cifrado. Este tipo de clave KMS requiere que tanto el remitente como el destinatario de los datos cifrados dispongan de AWS credenciales válidas para realizar llamadas AWS KMS.

Si su caso de uso requiere que los usuarios que no pueden llamar AWS los cifren fuera o no AWS KMS, las claves KMS asimétricas son una buena opción. Puede distribuir la parte pública de la clave KMS asimétrica para permitir que estos usuarios cifren los datos. Las aplicaciones que necesitan descifrar estos datos pueden utilizar la parte privada de la clave KMS asimétrica en AWS KMS.

Firmar mensajes y verificar firmas

Para firmar mensajes y verificar firmas, tiene que utilizar una clave KMS asimétrica. Puede usar una clave KMS con una especificación de clave que represente un par de claves RSA, un par de claves de curva elíptica (ECC) o un par de claves (solo para las SM2 regiones de China). La especificación de clave que seleccione la determina el algoritmo de firma que desea utilizar. Se recomiendan los algoritmos de firma ECDSA que admiten los pares de claves ECC en lugar de los algoritmos de firma RSA. Sin embargo, es posible que necesites usar una especificación clave y un algoritmo de firma específicos para ayudar a los usuarios a verificar las firmas fuera de ellos. AWS

Cifrado con pares de claves asimétricas

Para cifrar los datos con un par de claves asimétricas, debe usar una clave KMS asimétrica con una especificación de clave RSA o una especificación de clave (solo para regiones de SM2 China). Para cifrar los datos de AWS KMS con la clave pública de un par de claves KMS, utilice la operación Encrypt (Cifrar). También puede descargar la clave pública y compartirla con las partes que necesiten cifrar los datos fuera de ella. AWS KMS

Cuando descarga la clave pública de una clave KMS asimétrica, puede utilizarla fuera de AWS KMS. Sin embargo, ya no está sujeta a los controles de seguridad que protegen la clave KMS. AWS KMS Por ejemplo, no puede usar políticas o concesiones AWS KMS clave para controlar el uso de la clave pública. Tampoco puede controlar si la clave se utiliza únicamente para el cifrado y el descifrado mediante los algoritmos de cifrado AWS KMS compatibles. Para obtener más información, consulte Consideraciones especiales para la descarga de claves públicas.

Para descifrar los datos que se cifraron con la clave pública externa AWS KMS, ejecute la operación de descifrado. La operación Decrypt falla si los datos se cifran con una clave pública de una clave KMS con un uso de la clave de SIGN_VERIFY. También se producirá un error si se cifró mediante un algoritmo que AWS KMS no sea compatible con la especificación de clave que ha seleccionado. Para obtener más información sobre las especificaciones de claves y los algoritmos compatibles, consulte Referencia de especificaciones de clave.

Para evitar estos errores, cualquier persona que utilice una clave pública fuera de ella AWS KMS debe almacenar la configuración de la clave. La AWS KMS consola y la GetPublicKeyrespuesta proporcionan la información que debe incluir al compartir la clave pública.

Obtención de secretos compartidos

Para obtener secretos compartidos, utilice una clave KMS con material clave de curva elíptica recomendado por el NIST o (solo para regiones de SM2China). AWS KMS utiliza el cofactor criptográfico de curva elíptica Diffie-Hellman Primitive (ECDH) para establecer un acuerdo de claves entre dos pares mediante la obtención de un secreto compartido a partir de sus pares de claves público-privadas de curva elíptica. Puede utilizar el secreto compartido sin procesar que devuelve la DeriveSharedSecretoperación para obtener una clave simétrica que pueda cifrar y descifrar los datos que se envían entre dos partes, o generarlos y verificarlos. HMACs AWS KMS recomienda que siga las recomendaciones del NIST para la derivación de claves cuando utilice el secreto compartido sin procesar para obtener una clave simétrica.

Generación y verificación de códigos HMAC

Para generar y verificar códigos de autenticación de mensajes basados en hash, utilice una clave KMS HMAC. Al crear una clave HMAC AWS KMS, AWS KMS crea y protege el material de la clave y se asegura de utilizar los algoritmos MAC correctos para la clave. Los códigos HMAC también se pueden utilizar como números pseudoaleatorios y, en ciertos escenarios, para la firma simétrica y la tokenización.

Las claves KMS HMAC son claves simétricas. Al crear una clave KMS HMAC en la consola de AWS KMS , elija el tipo de clave Symmetric.

Úselo con servicios AWS

Para crear una clave KMS para usarla con un AWS servicio integrado AWS KMS, consulte la documentación del servicio. AWS los servicios que cifran los datos requieren una clave KMS de cifrado simétrico.

Además de estas consideraciones, las operaciones criptográficas en las claves KMS con diferentes especificaciones de clave tienen diferentes precios y diferentes cuotas de solicitud. Para obtener información sobre precios de AWS KMS , consulte AWS Key Management Service precios. Para obtener más información acerca de las cuotas de solicitud, consulte Cuotas de solicitudes.