Creación de una clave KMS con material de claves importado - AWS Key Management Service

Creación de una clave KMS con material de claves importado

El material de claves importado le permite proteger sus recursos de AWS con las claves criptográficas que genere. En la siguiente información general se explica cómo importar el material de claves en AWS KMS. Para obtener más información sobre cada paso del proceso, consulte los temas correspondiente.

  1. Cree una clave de KMS sin material de claves: el origen debe ser EXTERNAL. Un origen de clave EXTERNAL indica que la clave está diseñada para material de clave importado y evita que AWS KMS genere material de claves para la clave de KMS. En un paso posterior importará su propio material de claves en esta clave KMS.

    El material de claves que importa debe ser compatible con la especificación de clave de la clave de AWS KMS asociada. Para obtener más información sobre la compatibilidad, consulte Requisitos para el material de claves importado.

  2. Descargar la clave pública de encapsulamiento y el token de importación: después de completar el paso 1, descargue una clave pública de encapsulamiento y un token de importación. Estos elementos protegen el material de claves mientras se importa a AWS KMS.

    En este paso, elige el tipo (“especificación de clave”) de la clave de encapsulamiento RSA y el algoritmo de encapsulamiento que utilizará para cifrar los datos en tránsito en AWS KMS. Puede elegir una especificación de clave de encapsulamiento y un algoritmo de clave de encapsulamiento diferentes cada vez que importe o vuelva a importar el mismo material de claves.

  3. Cifrar el material de claves: utilice la clave pública de encapsulamiento que ha descargado en el paso 2 para cifrar el material de claves que ha creado en su propio sistema.

  4. Importar el material de claves: cargue el material de claves cifrado que ha creado en el paso 3 y el token de importación que ha descargado en el paso 2.

    En esta etapa, puede establecer una fecha de vencimiento opcional. Cuando vence el material de claves importado, AWS KMS lo elimina y ya no se puede utilizar la clave de KMS. Para seguir usando la clave de KMS, debe volver a importar el mismo material de claves.

    Cuando la operación de importación se completa de manera correcta, el estado de la clave KMS cambia de PendingImport a Enabled. Ahora puede usar la clave KMS en operaciones criptográficas.

AWS KMS registra una entrada en su registro AWS CloudTrail cuando crea la clave de KMS, descarga la clave pública de encapsulamiento y el token de importación e importa el material de claves. AWS KMS también registra una entrada cuando elimina material de claves importado o cuando AWS KMS elimina el material de claves vencido.

Permisos para importar material de clave

Para crear y administrar claves KMS con material de claves importado, el usuario necesita permiso para las operaciones de este proceso. Puede proporcionar los permisos kms:GetParametersForImport, kms:ImportKeyMaterial, y kms:DeleteImportedKeyMaterial en la política de claves al crear la clave KMS. En la consola AWS KMS, estos permisos se agregan de manera automática para los administradores de claves al crear una clave con un origen material de clave externa.

Para crear claves KMS con material de claves importado, la entidad principal necesita los siguientes permisos.

  • kms:CreateKey (política de IAM)

    • Para limitar este permiso a claves KMS con material de claves importado, utilice la clave de condición kms:KeyOrigin con un valor de EXTERNAL.

      { "Sid": "CreateKMSKeysWithoutKeyMaterial", "Effect": "Allow", "Resource": "*", "Action": "kms:CreateKey", "Condition": { "StringEquals": { "kms:KeyOrigin": "EXTERNAL" } } }
  • kms:GetParametersForImport (política de clave o política de IAM)

    • Para limitar este permiso a las solicitudes que utilizan un algoritmo de ajuste concreto y una especificación de clave de ajuste, utilice las condiciones de política kms:WrappingAlgorithm y kms:WrappingKeySpec.

  • kms:ImportKeyMaterial (política de clave o política de IAM)

    • Para permitir o prohibir el material de claves que venza y controlar la fecha de vencimiento, utilice las condiciones de política kms:ExpirationModel y kms:ValidTo.

Para volver a importar el material de claves importado, la entidad principal necesita los permisos kms:GetParametersForImport y kms:ImportKeyMaterial.

Para eliminar el material de claves importado, las entidades principales necesitan el permiso kms:DeleteImportedKeyMaterial.

Por ejemplo, para dar permiso KMSAdminRole al ejemplo y que pueda administrar todos los aspectos de una clave KMS con material de claves importado, incluya una declaración de política clave como la siguiente en la política clave de la clave KMS.

{ "Sid": "Manage KMS keys with imported key material", "Effect": "Allow", "Resource": "*", "Principal": { "AWS": "arn:aws:iam::111122223333:role/KMSAdminRole" }, "Action": [ "kms:GetParametersForImport", "kms:ImportKeyMaterial", "kms:DeleteImportedKeyMaterial" ] }

Requisitos para el material de claves importado

El material de claves que importa debe ser compatible con la especificación de clave de la clave de KMS asociada. En el caso de los pares de claves asimétricas, importe solo la clave privada del par. AWS KMS deriva la clave pública a partir de la clave privada.

AWS KMS admite las siguientes especificaciones de claves para claves de KMS con material de claves importado.

  • Claves de cifrado simétricas

    • Especificación de la clave:

      • SYMMETRIC_DEFAULT.

    • Requisitos:

      • 256 bits (32 bytes) de datos binarios

      • En las regiones de China, debe ser un dato binario de 128 bits (16 bytes).

  • Claves HMAC

    • Especificaciones de la clave:

      • HMAC_224

      • HMAC_256

      • HMAC_384

      • HMAC_512

    • Requisitos:

      • El material de claves HMAC debe cumplir con la RFC 2104.

      • La longitud de la clave debe coincidir, como mínimo, con la longitud especificada en la especificación de la clave. La longitud máxima de la clave es de 1024 bits.

      • Si el material clave supera los 1024 bits, puede utilizar el hash del material clave e importar la salida del hash. El algoritmo de hash debe coincidir con la especificación de la clave de la clave KMS de HMAC que está creando.

    • Ejemplo:

      • Para importar 2048 bits de material de claves a una clave HMAC_256, primero se calcula el hash SHA-256 del material de claves de 2048 bits y, a continuación, se importa el resultado del hash de 256 bits a la clave de KMS.

    • Longitudes de clave válidas:

      • HMAC_224: 224 a 1024 bits

      • HMAC_256: 256 a 1024 bits

      • HMAC_384: 384 a 1024 bits

      • HMAC_512: 512 a 1024 bits

  • Clave privada asimétrica RSA

    • Especificaciones de la clave:

      • RSA_2048

      • RSA_3072

      • RSA_4096

    • Requisitos:

      • La clave privada asimétrica RSA que importe debe formar parte de un par de claves que cumpla con la RFC 3447.

      • Módulo: 2048 bits, 3072 bits o 4096 bits

      • Número de números primos: 2 (no se admiten claves RSA de varios números primos)

      • El material de claves asimétricas debe estar codificado en BER o DER en el formato #8 de los estándares de criptografía de clave pública (PKCS) que cumple con la RFC 5208.

  • Clave privada asimétrica de curva elíptica

    • Especificaciones de la clave:

      • ECC_NIST_P256 (secp256r1)

      • ECC_NIST_P384 (secp384r1)

      • ECC_NIST_P521 (secp521r1)

      • ECC_SECG_P256K1 (secp256k1)

    • Requisitos:

      • La clave privada asimétrica ECC que importe debe formar parte de un par de claves que cumpla con la RFC 5915.

      • Curva: NIST P-256, NIST P-384, NIST P-521 o Secp256k1.

      • Parámetros: solo curvas con nombre (se rechazan las claves de ECC con parámetros explícitos)

      • Coordenadas de puntos públicos: pueden estar comprimidas, descomprimidas o ser proyectivas

      • El material de claves asimétricas debe estar codificado en BER o DER en el formato #8 de los estándares de criptografía de clave pública (PKCS) que cumple con la RFC 5208.

  • Clave de ML-DSA

    • Especificaciones de la clave:

      • ML_DSA_44

      • ML_DSA_65

      • ML_DSA_87

    importante

    No se admite la importación de claves de ML-DSA.

  • Clave privada asimétrica SM2 (solo en las regiones de China)

    • Requisitos:

      • La clave privada asimétrica SM2 que importe debe formar parte de un par de claves que cumpla con la GM/T 0003.

      • Curva: SM2.

      • Parámetros: solo curva con nombre (se rechazan las claves de SM2 con parámetros explícitos)

      • Coordenadas de puntos públicos: pueden estar comprimidas, descomprimidas o ser proyectivas

      • El material de claves asimétricas debe estar codificado en BER o DER en el formato #8 de los estándares de criptografía de clave pública (PKCS) que cumple con la RFC 5208.