Paso 2 de la importación de material de claves: descargar la clave pública de encapsulamiento y el token de importación - 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.

Paso 2 de la importación de material de claves: descargar la clave pública de encapsulamiento y el token de importación

Después de crear un material AWS KMS key sin clave, descargue una clave pública empaquetadora y un token de importación para esa clave de KMS mediante la AWS KMS consola o la GetParametersForImportAPI. La clave pública de encapsulamiento y el token de importación son un conjunto indivisible que deben usarse juntos.

Utilizará la clave pública de encapsulamiento para cifrar el material de claves para su transferencia. Antes de descargar un par de claves de empaquetado RSA, seleccione la longitud (especificación de clave) del par de claves de empaquetado RSA y el algoritmo de empaquetado que utilizará para cifrar el material clave importado para su transporte en el paso 3. AWS KMS también es compatible con la especificación de claves de empaquetado SM2 (solo para regiones de China).

Cada conjunto de claves públicas de encapsulamiento y token de importación es válido durante 24 horas. Si no los utiliza para importar material de claves en un plazo de 24 horas después de descargarlos, debe descargar un nuevo conjunto. Puede descargar nuevos conjuntos de claves públicas de encapsulamiento y tokens de importación en cualquier momento. Esto le permite cambiar la longitud de la clave de encapsulamiento RSA (“especificación de clave”) o sustituir un conjunto perdido.

También puede descargar un conjunto de claves públicas de encapsulamiento y un conjunto de tokens de importación para volver a importar el mismo material de claves en una clave de KMS. Puede hacerlo para establecer o cambiar el tiempo de vencimiento del material de claves o para restaurar el material de claves vencidas o eliminadas. Debe descargar y volver a cifrar el material clave cada vez que lo importe a. AWS KMS

Uso de la clave pública de encapsulamiento

La descarga incluye una clave pública exclusiva para usted Cuenta de AWS, también denominada clave pública empaquetadora.

Antes de importar el material clave, cifra el material clave con la clave de empaquetado pública y, a AWS KMS continuación, carga el material clave cifrado en. Cuando AWS KMS recibe el material clave cifrado, lo descifra con la clave privada correspondiente y, a continuación, lo vuelve a cifrar con una clave simétrica AES, todo ello dentro de un módulo de seguridad de AWS KMS hardware (HSM).

Uso del token de importación

La descarga incluye un token de importación que contiene metadatos para garantizar que el material de claves se importa correctamente. Al cargar el material de claves cifradas en AWS KMS, debe cargar el mismo token de importación que descargó en este paso.

Selección de una especificación de clave pública de encapsulamiento

Para proteger el material clave durante la importación, debes cifrarlo mediante la clave pública de empaquetado desde AWS KMS la que lo descargaste y un algoritmo de empaquetado compatible. Debe seleccionar una especificación de claves antes de descargar la clave pública de encapsulamiento y el token de importación. Todos los pares de claves de empaquetado se generan en módulos AWS KMS de seguridad de hardware (HSM). La clave privada nunca sale del HSM en texto sin formato.

Especificaciones clave del empaquetado RSA

La especificación de clave de la clave pública de encapsulamiento determina la longitud de las claves del par de claves RSA que protege el material de la clave durante su transferencia a AWS KMS. En general, se recomienda utilizar la clave pública de encapsulamiento más larga que resulte práctica. Ofrecemos varias especificaciones de encapsulamiento de claves públicas para admitir una variedad de HSM y administradores de claves.

AWS KMS admite las siguientes especificaciones clave para las claves de embalaje RSA que se utilizan para importar material clave de todo tipo, excepto cuando se indica lo contrario.

  • RSA_4096 (preferido)

  • RSA_3072

  • RSA_2048

    nota

    NO se admite la siguiente combinación: material de claves ECC_NIST_P521, la especificación de clave pública de encapsulamiento RSA_2048 y un algoritmo de encapsulamiento RSAES_OAEP_SHA_*.

    No se puede encapsular directamente el material de claves ECC_NIST_P521 con una clave pública de encapsulamiento RSA_2048. Utilice una clave de encapsulamiento más grande o un algoritmo de encapsulamiento RSA_AES_KEY_WRAP_SHA_*.

Especificaciones clave del embalaje SM2 (solo en las regiones de China)

AWS KMS admite las siguientes especificaciones clave para las claves de embalaje SM2 que se utilizan para importar material de clave asimétrico.

  • SM2

Seleccionar un algoritmo de encapsulamiento

Para proteger su material de claves durante la importación, deberá cifrarlo con la clave pública de encapsulamiento descargada y un algoritmo de encapsulamiento admitido.

AWS KMS admite varios algoritmos de empaquetado RSA estándar y un algoritmo de empaquetado híbrido de dos pasos. En general, se recomienda utilizar el algoritmo de encapsulamiento más seguro que sea compatible con el material de claves y la especificación de clave de encapsulamiento importados. Normalmente, se elige un algoritmo admitido por el módulo de seguridad de hardware (HSM) o el sistema de administración de claves que protege el material de claves.

En la siguiente tabla se muestran los algoritmos de encapsulamiento compatibles con cada tipo de material de claves y clave de KMS. Los algoritmos se muestran en el orden de preferencia.

Material de claves Algoritmo y especificaciones de encapsulamiento compatibles
Clave de cifrado simétrica

Clave AES de 256 bits

Clave SM4 de 128 bits (solo en las regiones de China)

Algoritmos de encapsulamiento:

RSAES_OAEP_SHA_256

RSAES_OAEP_SHA_1

Algoritmos de encapsulamiento obsoletos:

RSAES_PKCS1_V1

nota

A partir del 10 de octubre de 2023, AWS KMS no es compatible con el algoritmo de empaquetado RSAES_PKCS1_V1_5.

Especificaciones de claves de encapsulamiento:

RSA_2048

RSA_3072

RSA_4096

Clave privada RSA asimétrica
Algoritmos de encapsulamiento:

RSA_AES_KEY_WRAP_SHA_256

RSA_AES_KEY_WRAP_SHA_1

SM2PKE (solo para regiones de China)

Especificaciones de claves de encapsulamiento:

RSA_2048

RSA_3072

RSA_4096

SM2 (solo en regiones de China)

Clave privada de curva elíptica asimétrica (ECC)

No puede utilizar los algoritmos de encapsulamiento RSAES_OAEP_SHA_* con la especificación de clave de encapsulamiento RSA_2048 para encapsular el material de claves ECC_NIST_P521.

Algoritmos de encapsulamiento:

RSA_AES_KEY_WRAP_SHA_256

RSA_AES_KEY_WRAP_SHA_1

RSAES_OAEP_SHA_256

RSAES_OAEP_SHA_1

SM2PKE (solo regiones de China)

Especificaciones de claves de encapsulamiento:

RSA_2048

RSA_3072

RSA_4096

SM2 (solo en regiones de China)

Clave privada SM2 asimétrica (solo para regiones de China)
Algoritmos de encapsulamiento:

RSAES_OAEP_SHA_256

RSAES_OAEP_SHA_1

SM2PKE (solo para regiones de China)

Especificaciones de claves de encapsulamiento:

RSA_2048

RSA_3072

RSA_4096

SM2 (solo en regiones de China)

Clave HMAC
Algoritmos de encapsulamiento:

RSAES_OAEP_SHA_256

RSAES_OAEP_SHA_1

Especificaciones de claves de encapsulamiento:

RSA_2048

RSA_3072

RSA_4096

nota

Los algoritmos RSA_AES_KEY_WRAP_SHA_256 y RSA_AES_KEY_WRAP_SHA_1 empaquetado no son compatibles en las regiones de China.

  • RSA_AES_KEY_WRAP_SHA_256: un algoritmo de encapsulamiento híbrido de dos pasos que combina el cifrado del material de claves con una clave simétrica AES que el usuario genere con el cifrado posterior de la clave simétrica AES con la clave de encapsulamiento pública RSA descargada y el algoritmo de encapsulamiento RSAES_OAEP_SHA_256.

    Se requiere un algoritmo de RSA_AES_KEY_WRAP_SHA_* empaquetado para empaquetar el material de clave privada de RSA, excepto en las regiones de China, donde debe usarse el algoritmo de SM2PKE empaquetado.

  • RSA_AES_KEY_WRAP_SHA_1: un algoritmo de encapsulamiento híbrido de dos pasos que combina el cifrado del material de claves con una clave simétrica AES que el usuario genere con el cifrado posterior de la clave simétrica AES con la clave de encapsulamiento pública RSA descargada y el algoritmo de encapsulamiento RSAES_OAEP_SHA_1.

    Se requiere un algoritmo de RSA_AES_KEY_WRAP_SHA_* empaquetado para empaquetar el material de clave privada de RSA, excepto en las regiones de China, donde debe usarse el algoritmo de SM2PKE empaquetado.

  • RSAES_OAEP_SHA_256: algoritmo de cifrado RSA con relleno óptimo de cifrado asimétrico (OAEP) con la función hash SHA-256.

  • RSAES_OAEP_SHA_1: algoritmo de cifrado RSA con relleno óptimo de cifrado asimétrico (OAEP) con la función hash SHA-1.

  • RSAES_PKCS1_V1_5(En desuso; desde el 10 de octubre de 2023, AWS KMS no es compatible con el algoritmo de empaquetado RSAES_PKCS1_V1_5): el algoritmo de cifrado RSA con el formato de relleno definido en la versión 1.5 del PKCS #1.

  • SM2PKE(Solo para regiones de China): algoritmo de cifrado basado en curvas elípticas definido por la OSCCA en el documento GM/T 0003.4-2012.

Descarga de la clave pública de encapsulamiento y el token de importación (consola)

Puede usar la AWS KMS consola para descargar la clave pública de empaquetado y el token de importación.

  1. Si acaba de completar los pasos para crear una clave KMS sin material de claves y se encuentra en la página Download wrapping key and import token (Descargar la clave de encapsulamiento y el token de importación), pase a Paso 9.

  2. Inicie sesión en la consola AWS Key Management Service (AWS KMS) AWS Management Console y ábrala en https://console.aws.amazon.com/kms.

  3. Para cambiarla Región de AWS, usa el selector de regiones en la esquina superior derecha de la página.

  4. En el panel de navegación, elija Claves administradas por el cliente.

    sugerencia

    Solo puede importar el material de claves a una clave de KMS con un Origen de Externo (importar material de claves). Esto indica que la clave KMS se ha creado sin material de claves. Para agregar la columna Origin (Origen) a la tabla, en la esquina superior derecha de la página, elija el icono de configuración ( Gear or cog icon representing settings or configuration options. ). Active Origin (Origen) y, a continuación, elija Confirm (Confirmar).

  5. Elija el alias o el ID de clave de la clave KMS que está pendiente de importación.

  6. Elija la pestaña Cryptographic configuration (Configuración criptográfica) y vea sus valores. Las pestañas están debajo de la sección General configuration (Configuración general).

    Solo se puede importar material de claves a claves de KMS con un Origen de Externo (importar material de claves). Para obtener información acerca de cómo crear claves KMS con material de claves importado, consulte Importación de material clave para AWS KMS llaves.

  7. Elija la pestaña Material de claves y, a continuación, seleccione Importar material de claves.

    La pestaña Material de claves aparece solo para las claves de KMS con un Origen de Externo (importar material de claves).

  8. En Seleccionar especificación de la clave de encapsulamiento, elija la configuración de su clave de KMS. Después de crear esta clave, no puede cambiar las especificaciones de clave.

  9. En Select wrapping algorithm, elija la opción que usará para cifrar el material de claves. Para obtener más información acerca de estas opciones, consulte Seleccionar un algoritmo de encapsulamiento.

  10. Elija Descargar clave de encapsulamiento y token de importación y, a continuación, guarde el archivo.

    Si dispone de la opción Next (Siguiente) para continuar con el proceso ahora, elija Next (Siguiente). Para continuar más adelante, elija Cancel (Cancelar).

  11. Descomprima el archivo .zip que ha guardado en el paso anterior (Import_Parameters_<key_id>_<timestamp>).

    La carpeta contiene los siguientes archivos:

    • Una clave pública envolvente en un archivo llamado. WrappingPublicKey.bin

    • Un token de importación en un archivo llamado ImportToken.bin.

    • Un archivo de texto denominado README.txt. Este archivo contiene información sobre la clave pública de encapsulamiento, el algoritmo de encapsulamiento que se usará para cifrar el material de claves y la fecha y hora en que vencen la clave pública de encapsulamiento y el token de importación.

  12. Para continuar el proceso, consulte cifrar el material de claves.

Descargar la clave pública empaquetadora y el token de importación (AWS KMS API)

Para descargar la clave pública y el token de importación, usa la GetParametersForImportAPI. Especifique la clave de KMS que se asociará al material de claves importado. Esta clave de KMS debe tener un valor para Origin de EXTERNAL.

En este ejemplo se especifica el algoritmo de encapsulamiento RSA_AES_KEY_WRAP_SHA_256, la especificación de clave pública de encapsulamiento RSA_3072 y un ID de clave de ejemplo. Sustituya estos valores de ejemplo por valores válidos para la descarga. En el ID de la clave puede usar el ID de la clave o el ARN de la clave, pero no puede usar un nombre de alias ni un ARN de alias en esta operación.

$ aws kms get-parameters-for-import \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --wrapping-algorithm RSA_AES_KEY_WRAP_SHA_256 \ --wrapping-key-spec RSA_3072

Si el comando se ejecuta correctamente, verá un resultado parecido al siguiente:

{ "ParametersValidTo": 1568290320.0, "PublicKey": "public key (base64 encoded)", "KeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "ImportToken": "import token (base64 encoded)" }

Para preparar los datos para el siguiente paso, base64 decodifica la clave pública e importa el token y guarda los valores decodificados en los archivos.

Para decodificar en base64 la clave pública y el token de importación:

  1. Copie los datos codificados en base64 de la clave pública (representados por la clave pública [codificada en base64] en el resultado de ejemplo), péguelos en un archivo nuevo y, a continuación, guarde el archivo. Póngale al archivo un nombre descriptivo, como por ejemplo PublicKey.b64.

  2. Utilice OpenSSL para decodificar en base64 el contenido del archivo y guarde los datos descodificados en un nuevo archivo. El siguiente ejemplo descodifica los datos del archivo que ha guardado en el paso anterior (PublicKey.b64) y guarda el resultado en un nuevo archivo denominado WrappingPublicKey.bin.

    $ openssl enc -d -base64 -A -in PublicKey.b64 -out WrappingPublicKey.bin
  3. Copie el token importado codificado en base64 (representado por el token de importación [codificado en base64] en el resultado de ejemplo), péguelo en un archivo nuevo y, a continuación, guarde el archivo. Asigne un nombre descriptivo al archivo, por ejemplo, importtoken.b64.

  4. Utilice OpenSSL para decodificar en base64 el contenido del archivo y guarde los datos descodificados en un nuevo archivo. El siguiente ejemplo descodifica los datos del archivo que ha guardado en el paso anterior (ImportToken.b64) y guarda el resultado en un nuevo archivo denominado ImportToken.bin.

    $ openssl enc -d -base64 -A -in importtoken.b64 -out ImportToken.bin

Continúe en Paso 3: Cifrar el material de claves.