Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Actualización más reciente 2024-09-14 GMT+08:00

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

  1. Inicie sesión en la consola de gestión.
  2. Haga clic en en la esquina superior izquierda de la consola de gestión y seleccione una región o proyecto.
  3. Haga clic en . Elija Security & Compliance > Data Encryption Workshop.
  4. Haga clic en Import Key. Aparece el cuadro de diálogo Import Key.
  5. 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.

  6. (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.

  7. Haga clic en security and durability para comprender la seguridad y durabilidad de la clave importada.
  8. Seleccione I understand the security and durability of using an imported key y cree una clave personalizada cuyo material de clave esté vacío.
  9. 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.

    1. If the HSMs support the RSAES_OAEP_SHA_256 algorithm, use RSAES_OAEP_SHA_256 to encrypt key materials.
    2. 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.

  10. Obtenga la clave de ajuste y el token de importación. Si ya tiene un material clave, omita este paso.

    1. 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.
        Figura 3 Archivo descargado
        • 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.
        1. 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
            }
        2. 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.
          1. Copie el contenido de la clave de ajuste public_key, péguela en el archivo a .txt y guarde el archivo como PublicKey.b64.
          2. 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

        3. 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.
    2. 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.

      1. 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:

          openssl rand -out PlaintextKeyMaterial.bin 32

        • 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:
          1. Generar una clave hexadecimal AES256.

            openssl rand -out 0xPlaintextKeyMaterial.bin -hex 32

          2. Convierta la clave hexadecimal AES256 al formato binario.

            cat 0xPlaintextKeyMaterial.bin | xxd -r -ps > PlaintextKeyMaterial.bin

      2. 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

      3. (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:
          1. Generar una clave privada.

            openssl genrsa -out pkcs1_rsa_private_key.pem 4096

          2. Convertir el formato a PKCS8.

            openssl pkcs8 -topk8 -inform PEM -in pkcs1_rsa_private_key.pem -outform pem -nocrypt -out rsa_private_key.pem

          3. 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

          4. 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.

  11. 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

  12. 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.

  13. 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.