Llaves para fines especiales - 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.

Llaves para fines especiales

AWS Key Management Service (AWS KMS) admite varios tipos de claves diferentes para diferentes usos.

Cuando crea una AWS KMS key, de forma predeterminada, obtiene una clave de KMS de cifrado simétrica. En AWS KMS, una clave KMS de cifrado simétrico representa una clave de cifrado AES-GCM de 256 bits, excepto en las regiones de China, donde representa una clave de cifrado de 128 bits que utiliza cifrado SM4. El material de claves simétrica nunca deja AWS KMS sin cifrar. A menos que la tarea requiera de forma explícita un cifrado asimétrico o claves HMAC, las claves KMS de cifrado simétricas, que nunca dejan AWS KMS sin cifrar, son una buena opción. Además, los servicios de AWS que se integran con AWS KMS utilizan solo claves KMS de cifrado simétricas para cifrar sus datos. Estos servicios no admiten cifrado con claves de KMS asimétricas.

Puede utilizar una clave KMS de cifrado simétrica en AWS KMS para cifrar, descifrar y volver a cifrar datos, generar claves de datos y pares de claves de datos y generar cadenas de bytes aleatorias. Puede importar su propio material de claves en una clave KMS de cifrado simétrica y crear claves KMS de cifrado simétricas en almacenes de claves personalizadas. Para obtener una tabla en la que se comparan las operaciones que puede realizar en las claves KMS simétricas y asimétricas, consulte Referencia de tipos de claves.

AWS KMS también admite los siguientes tipos de claves KMS para fines especiales:

Elección de un tipo de clave KMS

AWS KMS admite varios tipos de claves KMS: claves de cifrado simétricas, claves HMAC simétricas, claves de cifrado asimétricas y claves de firma asimétricas.

Las claves KMS difieren porque contienen material de claves criptográfico diferente.

  • Clave de KMS de cifrado simétrica: representa una única clave de cifrado AES-GCM de 256 bits, excepto en las regiones de China, donde representa una clave de cifrado SM4 de 128 bits. El material de claves simétrica nunca deja AWS KMS sin cifrar. Para utilizar la clave KMS de cifrado simétrica, debe llamar a AWS KMS.

    Las claves de cifrado simétricas, que son las claves KMS predeterminadas, son ideales para la mayoría de los usos. Si necesita una clave KMS para proteger sus datos en un Servicio de AWS, utilice una clave de cifrado simétrica a menos que se le indique que utilice otro tipo de clave.

  • Clave KMS asimétrica: representa un par de claves privadas y públicas relacionadas de forma matemática que puede utilizar para cifrar y descifrar o para firmar y verificar, pero no para ambas acciones. La clave privada nunca deja AWS KMS sin cifrar. Puede utilizar la clave pública en AWS KMS llamando a las operaciones de la API de AWS KMS o al descargar la clave pública y utilizarla fuera de AWS KMS.

  • Clave KMS HMAC (simétrica): representa una clave simétrica de longitud variable que se utiliza para generar y verificar códigos de autenticación de mensajes basados en hash. El material de claves en una clave KMS HMAC nunca deja AWS KMS sin cifrar. Para utilizar su clave KMS HMAC, tiene que llamar a AWS KMS.

El tipo de clave KMS que crea varía en gran medida en función de cómo tiene pensado utilizar la clave KMS, los requisitos de seguridad y los requisitos de autorización. Al crear su clave KMS, recuerde que la configuración criptográfica de la clave KMS, incluido el uso de la clave y la especificación de la clave, se establecen cuando crea la clave KMS y no se puede cambiar.

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 tengan las credenciales válidas de AWS para llamar a AWS KMS.

Si su caso de uso requiere que los usuarios que no pueden llamar a AWS KMS realicen el cifrado fuera de AWS, 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 utilizar una clave KMS con una especificación de clave que representa un par de claves de RSA, un par de claves de curva elíptica (ECC) o un par de claves SM2 (solo en las 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 necesite utilizar una especificación clave y un algoritmo de firma específicos para ayudar a los usuarios a verificar las firmas fuera de AWS.

Realizar el cifrado de clave pública

Para realizar el cifrado de clave pública, tiene que utilizar una clave KMS asimétrica con una especificación de clave de RSA, o una especificación de clave SM2 (solo en las regiones de 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 necesitan cifrar los datos fuera de AWS KMS.

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

Para descifrar los datos que se han cifrado con la clave pública fuera de AWS KMS, llame a la operación Decrypt (Descifrar). 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 fallará si se cifran mediante un algoritmo que AWS KMS no admite para las especificaciones de clave que se seleccionaron. Para obtener más información sobre las especificaciones de claves y los algoritmos compatibles, consulte Especificaciones de claves asimétricas.

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

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 en AWS KMS, AWS KMS crea y protege el material clave y se asegura de que se utilicen los algoritmos MAC correctos para su 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.

Uso con servicios de AWS

Para crear una clave KMS para utilizarla con un servicios de AWS que está integrado con AWS KMS, consulte la documentación correspondiente al servicio. Los servicios de AWS que cifran sus datos requieren una clave KMS de cifrado simétrica..

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 más información acerca de los precios de AWS KMS, consulte Precios de AWS Key Management Service. Para obtener más información acerca de las cuotas de solicitud, consulte Cuotas de solicitudes.

Seleccionar el uso de la clave

El uso de la clave de una clave KMS determina si la clave KMS se utiliza para el cifrado y el descifrado o para la firma y la verificación de firmas, o para la generación y la verificación de etiquetas HMAC. 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.

Como se muestra en la siguiente tabla, las claves KMS de cifrado simétricas se pueden utilizar solo para cifrar y descifrar. Las claves KMS HMAC solo se pueden utilizar para generar y verificar códigos HMAC. Las claves KMS de curva elíptica (ECC) se pueden utilizar únicamente para firmar y verificar. Tiene que tomar una decisión de uso de claves solo para las claves KMS RSA.

Usos de la clave válidos para los tipos de claves KMS
Tipo de clave KMS Cifrar y descifrar

ENCRYPT_DECRYPT

Firmar y verificar

SIGN_VERIFY

Generar y verificar MAC

GENERATE_VERIFY_MAC

Claves KMS de cifrado simétricas
Claves KMS HMAC (simétricas)
Claves KMS asimétricas con pares de claves de RSA
Claves KMS asimétricas con pares de claves de ECC
Claves de KMS asimétricas con pares de claves SM2 (solo en regiones de China)

En la consola de AWS KMS, primero debe seleccionar el tipo de clave (simétrica o asimétrica) y luego el uso de la clave. El tipo de clave que elija determina qué opciones de uso de clave se muestran. El uso de la clave que elija determina qué especificaciones de clave se muestran, si hay alguno.

Para seleccionar el uso de la clave en la consola de AWS KMS:

  • Para las claves KMS de cifrado simétricas (predeterminada), elija Cifrado y descifrado.

  • Para las claves KMS HMAC, elija Generate and verify MAC (Generar y verificar MAC).

  • Para las claves KMS asimétricas con el material de claves de curva elíptica (ECC), elija Sign and verify (Firmar y verificar).

  • Para las claves KMS asimétricas con el material de claves de RSA, elija Encrypt and decrypt (Cifrar y descifrar) o Sign and verify (Firmar y verificar).

  • Para las claves KMS asimétricas con el material de claves SM2, elija Encrypt and decrypt (Cifrar y descifrar) o Sign and verify (Firmar y verificar). La especificación de clave SM2 solo está disponible en las regiones de China.

Para permitir que los principales 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.

Seleccionar la especificación de clave

Cuando crea una clave KMS asimétrica o una clave KMS HMAC, seleccione su especificación de clave. La especificación de clave, que es una propiedad de cada AWS KMS key, representa la configuración criptográfica de su clave KMS. Se selecciona la especificación de clave al crear la clave KMS y no se puede cambiar. Si ha seleccionado una especificación de clave errónea, elimine la clave KMS y cree una nueva.

nota

La especificación de clave para una clave KMS se conocía como “especificación de clave maestra del cliente”. El CustomerMasterKeySpec parámetro de la CreateKeyoperación está obsoleto. En su lugar, utilice el parámetro KeySpec. La respuesta de las DescribeKeyoperaciones CreateKey y incluye un CustomerMasterKeySpec elemento KeySpec and con el mismo valor.

La especificación de clave determina si la clave KMS es simétrica o asimétrica, el tipo de material de claves de la clave KMS y los algoritmos de cifrado, algoritmos de firma o algoritmos de código de autenticación de mensajes (MAC) que AWS KMS admite para la clave KMS. La especificación de clave que seleccione suele estar determinada por el caso de uso y los requisitos normativos. Sin embargo, las operaciones criptográficas en las claves KMS con diferentes especificaciones de clave tienen un precio diferente y están sujetas a diferentes cuotas de solicitud. Para obtener más información sobre precios, consulte precios de AWS Key Management Service. Para obtener más información acerca de las cuotas de solicitud, consulte Cuotas de solicitudes.

Para determinar las especificaciones clave que los directores de tu cuenta pueden usar para las claves de KMS, usa la clave de KeySpec condición kms:.

AWS KMS admite las siguientes especificaciones de clave para las claves KMS:

Especificaciones de la clave de cifrado simétricas (predeterminado)
  • SYMMETRIC_DEFAULT

Especificaciones de la clave HMAC
  • HMAC_224

  • HMAC_256

  • HMAC_384

  • HMAC_512

Especificaciones de clave de RSA (cifrado y descifrado o firma y verificación)
  • RSA_2048

  • RSA_3072

  • RSA_4096

Especificaciones de clave de curva elíptica
  • Pares de claves de curva elíptica asimétricas recomendadas por NIST (firma y verificación)

    • ECC_NIST_P256 (secp256r1)

    • ECC_NIST_P384 (secp384r1)

    • ECC_NIST_P521 (secp521r1)

  • Otros pares de claves de curva elíptica asimétricas (firma y verificación)

    • ECC_SECG_P256K1 (secp256k1), que se suele utilizar para las criptomonedas.

Especificaciones de clave SM2 (cifrado y descifrado o firma y verificación)
  • SM2 (solo en regiones de China)