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

Prerrequisitos

  • Ha obtenido una cuenta y su contraseña para iniciar sesión en la consola de gestión.
  • Ha preparado materiales de clave para importar.

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 del CMK 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 clave

      Descripción

      Uso

      Symmetric key

      AES

      AES_256

      Clave simétrica de AES

      Cifra y descifra una pequeña cantidad de datos o claves de datos.

      Asymmetric key

      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 el NIST

      Firma digital

    • Usage: seleccione SIGN_VERIFY o ENCRYPT_DECRYPT.
      • Para una clave simétrica, el valor predeterminado es ENCRYPT_DECRYPT.
      • 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.

      The key usage can only be configured during key creation and cannot be modified afterwards.

    • (Opcional) Description es la descripción del CMK.
    • 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 al CMK según sea necesario e introduzca la clave de etiqueta y el valor de etiqueta.

    • Si se creó un CMK sin ninguna etiqueta, puede agregar una etiqueta al CMK más adelante según sea necesario. Haga clic en el alias del CMK, haga clic en la pestaña Tags y haga clic en Add Tag.
    • La misma etiqueta (incluyendo clave de etiqueta y valor de etiqueta) se puede usar para diferentes CMK. Sin embargo, bajo el mismo CMK, una clave de etiqueta puede tener solo un valor de etiqueta.
    • Se puede añadir un máximo de 20 etiquetas para cada CMK.
    • 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 un CMK 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 2.

    Tabla 2 Algoritmos de envoltura de claves

    Algoritmo

    Descripción

    Configuración

    RSAES_OAEP_SHA_256

    Algoritmo de encriptación RSA que utiliza OAEP y tiene la función hash SHA-256

    Elija un algoritmo en el cuadro de lista desplegable.

    Si los HSM soportan el algoritmo RSAES_OAEP_SHA_256, utilice RSAES_OAEP_SHA_256 para cifrar materiales de 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 del CMK requerido e importe material clave en el cuadro de diálogo que se muestra.

  10. Haga clic en Download. Se descargan los siguientes archivos: wrappingKey, importToken, y README, como se muestra en Figura 2.

    Figura 2 Descarga de archivos
    • wrappingKey_CMKID_DownloadTime es una clave de envoltura utilizada para cifrar materiales de clave.
    • importToken_CMKID_DownloadTime es un token utilizado para importar materiales clave a KMS.
    • README_CMKID_DownloadTime es un archivo de descripción que registra información tal como el número de serie de un CMK, algoritmo de envoltura, nombre de clave de envoltura, nombre de archivo de token, y el tiempo de caducidad del archivo de token y de la clave de envoltura.
    • wrappingKey_Key ID_Download_time está codificado en formato binario.
    • La clave de embalaje y el token de importación caducan en 24 horas. Si han caducado, descárguelo de nuevo.
    También puede obtener la clave de envoltorio y el token de importación a través de la API.
    1. Llame a la API get-parameters-for-import para obtener la clave de envoltorio y el token de importación.

      En el ejemplo siguiente se describe cómo obtener la clave de embalaje y el token de importación de un CMK (ID: 43f1ffd7-18fb-4568-9575-602e009b7ee8; algoritmo de encriptación: RSAES_OAEP_SHA_256).

      public_key: contenido de la clave de envoltura (codificación Base-64) devuelta después de la llamada a la API

      import_token: contenido del token de importación (codificación Base-64) devuelto después de la llamada a la API

      • Solicitud de ejemplo
        {      
            "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.

  11. Utilice el archivo wrappingKey para cifrar los materiales de clave que se van a importar.

    • 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 cifrar los materiales de clave.

      Si necesita ejecutar el comando openssl pkeyutl, la versión de OpenSSL debe ser 1.0.2 o posterior.

      En el ejemplo siguiente se describe cómo utilizar la clave de envoltura descargada para cifrar el material de clave generado (clave simétrica de 256 bits). Siga el siguiente procedimiento:
      1. Para generar un material de clave para una clave simétrica de 256 bits usando el algoritmo AES256, en el agente donde se ha instalado OpenSSL, ejecute el siguiente comando para generar el material de clave y guardarlo como PlaintextKeyMaterial.bin:

        openssl rand -out PlaintextKeyMaterial.bin 32

        Para generar un material de clave para una clave asimétrica RSA o ECC, realice las siguientes operaciones:

        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.

        Replace PublicKey.bin in the command with the name of the wrapping key wrappingKey_key ID_download time downloaded in Paso 10.

        Tabla 3 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. Para importar una clave asimétrica, genere una clave privada asimétrica y use un material de clave temporal para cifrar la clave privada.
        • Tome el algoritmo RSA4096 como ejemplo. Siga estos pasos:
          1. Generar una clave privada.

            openssl genrsa -out rsa_private_key.pem 4096

          2. Convertir la clave a formato DER.

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

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

  12. Haga clic en Next para ir al paso Import Key Material.

    Tabla 4 Parámetros para importar materiales de clave (para claves simétricas)

    Parámetro

    Descripción

    Key ID

    Random ID of a CMK generated during the CMK creation

    Key material

    Importar un material de clave.

    Tabla 5 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.

    Private key ciphertext

    Seleccionar texto cifrado de clave privada.

    Figura 3 Importación de materiales de clave

  13. Haga clic en Next para ir al paso Import Key Token. Configure los parámetros como se describe en Tabla 6.

    Tabla 6 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 descargado en Paso 10.

    Key material expiration mode

    • Key material will never expire: utilice esta opción para especificar que los materiales clave no caducarán después de la importación.
    • Key material will expire: Utilice esta opción para especificar el tiempo de caducidad de los materiales 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.

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