Importación de materiales de clave
Si desea utilizar sus propios materiales de clave en lugar de los materiales generados por KMS, puede utilizar la consola para importar sus materiales clave a KMS. Los CMK creados con materiales importados y los materiales generados por KMS son gestionados conjuntamente por KMS.
En esta sección se describe cómo importar materiales de clave en la consola de KMS.
Restricciones
- El algoritmo de clave HMAC no admite la importación de materiales clave.
Procedimiento
- Inicie sesión en la consola de gestión.
- Haga clic en en la esquina superior izquierda de la consola de gestión y seleccione una región o proyecto.
- Haga clic en . Elija .
- Haga clic en Import Key. Aparece el cuadro de diálogo Import Key.
- Configurar parámetros de clave.
Figura 1 Creación de una clave vacía
- Alias es el alias de la clave que se va a crear.
- Puede introducir dígitos, letras, guiones bajos (_), guiones, dos puntos (:), y barras diagonales (/).
- Puede introducir hasta 255 caracteres.
- Key Algorithm: Seleccione un algoritmo de clave. Para obtener más información, consulte Tabla 1.
Tabla 1 Algoritmos de clave soportados por KMS Tipo de clave
Tipo de algoritmo
Especificaciones de clave
Descripción
Uso
Clave simétrica
AES
AES_256
Clave simétrica de AES
Cifra y descifra una pequeña cantidad de datos o claves de datos.
Clave asimétrica
RSA
- RSA_2048
- RSA_3072
- RSA_4096
Contraseña asimétrica de RSA
Cifra y descifra una pequeña cantidad de datos o crea firmas digitales.
ECC
- EC_P256
- EC_P384
Curva elíptica recomendada por NIST
Firma digital
- Usage: Seleccione SIGN_VERIFY, ENCRYPT_DECRYPT o GENERATE_VERIFY_MAC.
- Para una clave simétrica AES_256, el valor predeterminado es ENCRYPT_DECRYPT.
- Para una clave simétrica HMAC, el valor por defecto es GENERATE_VERIFY_MAC.
- Para claves asimétricas RSA, seleccione ENCRYPT_DECRYPT o SIGN_VERIFY. El valor predeterminado es SIGN_VERIFY.
- Para una clave asimétrica ECC, el valor predeterminado es SIGN_VERIFY.
El uso de la clave solo se puede configurar durante la creación de la clave y no se puede modificar posteriormente.
- (Opcional) Description es la descripción de la clave personalizada.
- El parámetro Enterprise Project debe establecerse solo para usuarios empresariales.
Si es un usuario de empresa y ha creado un proyecto de empresa, seleccione el proyecto de empresa necesario en la lista desplegable. El proyecto predeterminado es default.
Si no se muestran opciones de Enterprise Management, no es necesario configurarlas.
- Puede usar proyectos empresariales para gestionar recursos en la nube y miembros del proyecto. Para obtener más información sobre proyectos empresariales, consulte ¿Qué es Enterprise Project Management Service?
- Para obtener más información acerca de cómo habilitar la función de proyecto de empresa, consulte Habilitación de Centro de empresa.
- Alias es el alias de la clave que se va a crear.
- (Opcional) Agregue etiquetas a la clave personalizada según sea necesario e introduzca la clave de etiqueta y el valor de etiqueta.
- Si se ha creado una clave personalizada sin ninguna etiqueta, puede agregar una etiqueta a la clave personalizada más adelante según sea necesario. Haga clic en el alias de la clave personalizada, haga clic en la pestaña Tags y haga clic en Add Tag.
- La misma etiqueta (incluidas clave de etiqueta y valor de etiqueta) se puede utilizar para diferentes claves personalizadas. Sin embargo, bajo la misma clave personalizada, una clave de etiqueta puede tener solo un valor de etiqueta.
- Se puede añadir un máximo de 20 etiquetas para una clave personalizada.
- Si desea eliminar una etiqueta de la lista de etiquetas al agregar varias etiquetas, puede hacer clic en Delete en la fila donde se encuentra la etiqueta que se va a agregar para eliminarla.
- Haga clic en security and durability para comprender la seguridad y durabilidad de la clave importada.
- Seleccione I understand the security and durability of using an imported key y cree una clave personalizada cuyo material de clave esté vacío.
- Haga clic en Next para ir al paso Download the Import Items. Seleccione un algoritmo de ajuste de clave basado en Tabla 3. Seleccione un algoritmo de ajuste de claves basado en Tabla 2.
Figura 2 Obtención de la clave de embalaje y el token de importación
Tabla 2 Key wrapping algorithms Algorithm
Description
Configuration
RSAES_OAEP_SHA_256
RSA algorithm that uses OAEP and has the SHA-256 hash function
Select an algorithm based on your HSM functions.
- If the HSMs support the RSAES_OAEP_SHA_256 algorithm, use RSAES_OAEP_SHA_256 to encrypt key materials.
- If the HSMs do not support OAEP, use RSAES_PKCS1_V1_5 to encrypt key materials.
AVISO:The RSAES_OAEP_SHA_1 algorithm is no longer secure. Exercise caution when performing this operation.
RSAES_OAEP_SHA_1
RSA algorithm that uses Optimal Asymmetric Encryption Padding (OAEP) and has the SHA-1 hash function
Tabla 3 Algoritmos de envoltura de claves Algoritmo
Descripción
Configuración
RSAES_OAEP_SHA_256
Algoritmo RSA que utiliza OAEP y tiene la función hash SHA-256
Seleccione un algoritmo basado en sus funciones HSM.
Si los HSM admiten el algoritmo RSAES_OAEP_SHA_256, utilice RSAES_OAEP_SHA_256 para cifrar materiales clave.
Si detiene un proceso de importación de material clave y desea volver a intentarlo, haga clic en Import Key Material en la fila de la clave personalizada necesaria e importe el material clave en el cuadro de diálogo que se muestra.
- Obtenga la clave de ajuste y el token de importación. Si ya tiene un material clave, omita este paso.
- Obtenga la clave de ajuste y el token de importación.
- Método 1: Haga clic en Download and Continue, como se muestra en Figura 3.
- wrappingKey_KeyID es la clave de envoltura. Se codifica en formato binario y se utiliza para cifrar la clave de envoltura del material de clave.
- Import token: No es necesario descargarlo. El asistente de importación transfiere automáticamente el token de importación. Si cierra el asistente antes de completar la importación, el token no será válido automáticamente.
La clave de envoltura caduca en 24 horas. Si la clave de envoltura no es válida, descárguela de nuevo.
El asistente de importación transfiere automáticamente el token de importación. Si cierra el asistente antes de completar la importación, el token no será válido automáticamente. Para volver a intentar importar, vuelva a abrir el asistente de importación.
- Método 2: Obtener la clave de envoltura e importar el token invocando a las API.
- Llame a la API get-parameters-for-import para obtener la clave de envoltura y el token de importación.
- public_key: contenido de la clave de envoltura (codificación Base-64) devuelta después de la invocación a la API
- import_token: contenido del token de importación (codificación Base-64) devuelto después de la invocación a la API
En el siguiente ejemplo se describe cómo obtener la clave de ajuste y el token de importación de un CMK (ID: 43f1ffd7-18fb-4568-9575-602e009b7ee8; algoritmo: RSAES_OAEP_SHA_256).- Parámetros de respuesta
{ "key_id": "43f1ffd7-18fb-4568-9575-602e009b7ee8", "wrapping_algorithm":"RSAES_OAEP_SHA_256" }
- Ejemplo de respuesta
{ "key_id": "43f1ffd7-18fb-4568-9575-602e009b7ee8", "public_key":"public key base64 encoded data", "import_token":"import token base64 encoded data", "expiration_time":1501578672 }
- Guarde la clave de ajuste y convierta su formato. Solo el material de clave cifrado con la clave de ajuste convertida se puede importar a la consola de gestión.
- Copie el contenido de la clave de ajuste public_key, péguela en el archivo a .txt y guarde el archivo como PublicKey.b64.
- Utilice OpenSSL para ejecutar el siguiente comando para realizar la codificación Base-64 en el contenido del archivo PublicKey.b64 para generar datos binarios y guardar el archivo convertido como PublicKey.bin:
openssl enc -d -base64 -A -in PublicKey.b64 -out PublicKey.bin
- Guarde el token de importación, copie el contenido del token import_token, péguelo en un archivo .txt, y guarde el archivo como ImportToken.b64.
- Llame a la API get-parameters-for-import para obtener la clave de envoltura y el token de importación.
- Método 1: Haga clic en Download and Continue, como se muestra en Figura 3.
- Utilice la clave de ajuste para cifrar el material de la clave.
Después de realizar este paso, obtendrá cualquiera de los siguientes archivos:
Escenario clave simétrico: EncryptedKeyMaterial.bin (material de clave)
Escenario de clave asimétrica: EncryptedKeyMaterial.bin (clave de material temporal) y out_rsa_private_key.der (texto cifrado de clave privada)
Método 1: Utilice la clave de envoltura descargada para cifrar los materiales de clave en su HSM. Para obtener más información, consulte la guía de operación de su HSM.
Método 2: Utilice OpenSSL para generar un material de clave y utilice la clave de envoltura descargada para cifrar el material de clave.Si necesita ejecutar el comando openssl pkeyutl, asegúrese de que su versión de OpenSSL es 1.0.2 o posterior.
- Genere un material clave (clave simétrica de 256 bits) y guárdelo como PlaintextKeyMaterial.bin.
- Si se utiliza el algoritmo de clave simétrica AES256, ejecute el siguiente comando en el cliente donde se ha instalado la herramienta OpenSSL:
- Si se utilizan los algoritmos de clave asimétrica RSA y ECC, ejecute el siguiente comando en el cliente donde se ha instalado la herramienta OpenSSL:
- Utilice la clave de envoltura descargada para cifrar el material de la clave y guardar el material de la clave cifrada como EncryptedKeyMaterial.bin.
Si la clave de envoltura se descargó de la consola, reemplace PublicKey.bin en el siguiente comando con el nombre de clave de envoltura wrappingKey_keyID.
Tabla 4 Encriptación del material de clave generado usando la clave de envoltura descargada Algoritmo de clave de envoltura
Encriptación de material de clave
RSAES_OAEP_SHA_256
openssl pkeyutl
-in PlaintextKeyMaterial.bin
-inkey PublicKey.bin
-out EncryptedKeyMaterial.bin
-keyform der
-pubin -encrypt
-pkeyopt rsa_padding_mode:oaep -pkeyopt rsa_oaep_md:sha256
- (Opcional) Para importar una clave asimétrica, genere una clave privada asimétrica, use el material de clave temporal (EncryptedKeyMaterial.bin) para cifrar la clave privada e importe el archivo cifrado como el texto cifrado de clave privada.
- Tome el algoritmo RSA4096 como ejemplo. Realice las siguientes operaciones:
- Generar una clave privada.
- Convertir el formato a PKCS8.
openssl pkcs8 -topk8 -inform PEM -in pkcs1_rsa_private_key.pem -outform pem -nocrypt -out rsa_private_key.pem
- Convertir el formato PKCS8 al formato DER.
openssl pkcs8 -topk8 -inform PEM -outform DER -in rsa_private_key.pem -out rsa_private_key.der -nocrypt
- Utilizar un material de clave temporal para cifrar la clave privada.
openssl enc -id-aes256-wrap-pad -K $(cat 0xPlaintextKeyMaterial.bin) -iv A65959A6 -in rsa_private_key.der -out out_rsa_private_key.der
Por defecto, el algoritmo -id-aes256-wrap-pad no está habilitado en OpenSSL. Para envolver una clave, actualice OpenSSL a la versión más reciente y parchearlo primero. Para obtener más información, consulte las preguntas frecuentes.
- Tome el algoritmo RSA4096 como ejemplo. Realice las siguientes operaciones:
- Genere un material clave (clave simétrica de 256 bits) y guárdelo como PlaintextKeyMaterial.bin.
- Obtenga la clave de ajuste y el token de importación.
- Si ya tiene el material de clave, haga clic en Existing Key Material. Se muestra la página Import Key Material.
Tabla 5 Parámetros para importar materiales de clave (para claves simétricas) Parámetro
Descripción
Key ID
ID aleatorio de un CMK generado durante la creación del CMK
Key material
Importar un material de clave.
Por ejemplo, utilice el archivo EncryptedKeyMaterial.bin de 10.b.ii.
Tabla 6 Parámetros para importar materiales de clave (para claves asimétricas) Parámetro
Descripción
Key ID
ID aleatorio de un CMK generado durante la creación del CMK
Temporary key material
Importar un material de clave temporal.
Por ejemplo, seleccione el archivo EncryptedKeyMaterial.bin de 10.b.ii.
Private key ciphertext
Seleccionar texto cifrado de clave privada.
Por ejemplo, seleccione el archivo out_rsa_private_key.der de 10.b.iii.
Figura 4 Importación de materiales de clave
- Haga clic en Next para ir al paso Import Key Token. Configure los parámetros como se describe en el documento Tabla 7.
Figura 5 Importación de un token de clave
Tabla 7 Parámetros para importar un token de clave Parámetro
Descripción
Key ID
ID aleatorio de un CMK generado durante la creación del CMK
Key import token
Seleccione el token de importación obtenido a través de la API en 12.b.
Key material expiration mode
- Key material will never expire: Utiliza esta opción para especificar que los materiales clave no caducarán después de la importación.
- Key material will expire: Utiliza esta opción para especificar el tiempo de caducidad de los materiales de clave. De forma predeterminada, los materiales de clave caducan en 24 horas después de la importación.
Después de que el material de clave caduca, el sistema elimina automáticamente el material de clave en un plazo de 24 horas. Una vez que se elimina el material de la clave, la clave no se puede utilizar y su estado cambia a Pending import.
- Haga clic en OK. Cuando se muestra el mensaje Key imported successfully en la esquina superior derecha, se importan los materiales.
Los materiales de clave se pueden importar correctamente cuando coinciden con el ID de CMK y el token correspondientes.
Los materiales importados se muestran en la lista de CMK. El estado predeterminado de un CMK importado es Enabled.