Creación 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.

Creación de una clave de KMS

Puede crear AWS KMS keys en AWS Management Console, o mediante la CreateKeyoperación o el AWS CloudFormation recursoAWS::KMS: :Key. Durante este proceso, estableces la política de claves para la KMS clave, que puedes cambiar en cualquier momento. También selecciona los siguientes valores que definen el tipo de KMS clave que se crea. No puede cambiar estas propiedades una vez creada la KMS clave.

KMStipo de clave

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 Galois Counter Mode (GCM) AES para proporcionar un cifrado/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 este modo, cifrar los datos en su nombre. Servicios de AWS

  • RSA, curva elíptica o claves asimétricas SM2 (solo en las regiones de 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 con códigos de autenticación de mensajes basadas en hash () HMAC

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

    KMSlas claves 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 claves es una propiedad que determina las operaciones criptográficas que admite la clave. KMSlas claves pueden tener un uso de clave deENCRYPT_DECRYPT, SIGN_VERIFYGENERATE_VERIFY_MAC, oKEY_AGREEMENT. Cada KMS clave solo puede tener un uso de clave. El uso de una KMS clave para más de un tipo de operación hace que el producto de ambas operaciones sea más vulnerable a los 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.

En el caso de KMS las claves, la especificación de la clave determina si la KMS clave 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étrica 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 la clave es una propiedad de la KMS clave que identifica el origen del material de la clave en la clave. KMS El origen del material clave se elige al crear la KMS clave y no se puede cambiar. El origen del material clave afecta a las características de seguridad, durabilidad, disponibilidad, latencia y rendimiento de la KMS clave.

Cada KMS clave incluye una referencia a su material clave en sus metadatos. El origen del material clave de las KMS claves de cifrado simétricas puede 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 KMS clave tiene un material clave único. Sin embargo, puede crear un conjunto de claves de varias regiones con el mismo material de claves.

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

Permisos para crear KMS claves

Para crear una KMS clave en la consola o mediante laAPIs, debe tener el siguiente permiso en una IAM política. 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 IAM política para permitir que los principales creen solo claves de cifrado simétricas.

Para ver un ejemplo de una IAM política para los directores que crean claves, consulte. Permita que un usuario cree KMS claves

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 KMS clave. El permiso kms:CreateKey incluye permiso para establecer la política de clave inicial. Sin embargo, debe añadir este permiso a la política de claves al crear la KMS clave para asegurarse de que puede controlar el acceso a la KMS clave. La alternativa es utilizar el BypassLockoutSafetyCheckparámetro, lo cual no se recomienda.

KMSlas claves pertenecen a la AWS cuenta en la que se crearon. El IAM usuario que crea una KMS clave no se considera el propietario de la clave y no tiene automáticamente permiso para usar o administrar la KMS clave que creó. Como cualquier otro director, el creador de la clave debe obtener el permiso mediante una política, IAM política o concesión de claves. 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.

Elegir qué tipo de KMS clave crear

El tipo de KMS clave que cree depende en gran medida de cómo vaya a utilizarla, de KMS sus requisitos de seguridad y de sus requisitos de autorización. El tipo de clave y el uso de una KMS clave determinan qué operaciones criptográficas puede realizar la clave. Cada KMS clave solo tiene un uso de clave. El uso de una KMS clave para más de un tipo de operación hace que el producto de todas las operaciones sea más vulnerable a los ataques.

Para permitir que los directores creen KMS claves solo para un uso de clave determinado, utilice la clave de KeyUsage condición kms:. También puede usar la clave kms:KeyUsage condicionada para permitir que los directores llamen a API las operaciones de una KMS clave en función del uso de la clave. Por ejemplo, puedes conceder permiso para deshabilitar una KMS clave solo si su uso de clave es SIGN _VERIFY.

Usa las siguientes instrucciones para determinar qué tipo de KMS clave necesitas en función de tu caso de uso.

Cifrar y descifrar datos

Utilice una KMSclave simétrica para la mayoría de los casos de uso que requieran 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 KMS clave requiere que tanto el remitente como el destinatario de los datos cifrados tengan AWS credenciales válidas para llamar. AWS KMS

Si su caso de uso requiere que los usuarios que no pueden llamar AWS los cifren fuera o no AWS KMS, KMSlas claves asimétricas son una buena opción. Puede distribuir la clave pública de la clave asimétrica KMS para que estos usuarios puedan cifrar los datos. Y las aplicaciones que necesiten descifrar esos datos pueden utilizar la clave privada de la clave asimétrica KMS que contiene. AWS KMS

Firmar mensajes y verificar firmas

Para firmar los mensajes y verificar las firmas, debe usar una clave asimétrica KMS. Puede utilizar una KMS clave con una especificación clave que represente un par de RSA claves, un par de claves de curva elíptica (ECC) o un par de SM2 claves (solo regiones de China). La especificación de clave que seleccione la determina el algoritmo de firma que desea utilizar. Se recomiendan los algoritmos de ECDSA firma compatibles con los pares de ECC claves en lugar de los algoritmos de RSA firma. 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 AWS ellos.

Cifrado con pares de claves asimétricas

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

Al descargar la clave pública de una clave asimétricaKMS, puede utilizarla fuera de ella. AWS KMS Pero ya no está sujeta a los controles de seguridad que protegen la KMS clave. AWS KMS Por ejemplo, no puede utilizar 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 Decrypt operación falla si los datos se cifraron con una clave pública a partir de una clave con un KMS uso de clave igual a. 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 los secretos compartidos, utilice una KMS clave con una curva elíptica NIST recomendada o material clave (solo para las regiones de SM2China). AWS KMS utiliza el cofactor criptográfico de curva elíptica Diffie-Hellman Primitive (ECDH) para establecer un acuerdo clave entre dos pares al derivar 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 NISTlas recomendaciones de derivación de claves cuando utilice el secreto compartido sin procesar para obtener una clave simétrica.

Genera y verifica códigos HMAC

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

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

Úselo con AWS servicios

Para crear una KMS clave 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 de cifrado KMS simétrica.

Además de estas consideraciones, las operaciones criptográficas con KMS claves con diferentes especificaciones de clave tienen precios y cuotas de solicitud diferentes. 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.