Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Atualizado em 2024-09-14 GMT+08:00

Importação de materiais de chave

Se você quiser usar seus próprios materiais de chave em vez dos materiais gerados pelo KMS, poderá usar o console para importar seus materiais de chave para o KMS. As CMKs criadas usando materiais importados e materiais gerados pelo KMS são gerenciadas em conjunto pelo KMS.

Esta seção descreve como importar materiais de chave no console do KMS.

Restrições

  • O algoritmo de chave HMAC não suporta a importação de materiais de chave.

Procedimento

  1. Faça logon no console de gerenciamento.
  2. Clique em no canto superior esquerdo do console de gerenciamento e selecione uma região ou projeto.
  3. Clique em . Escolha Security & Compliance > Data Encryption Workshop.
  4. Clique em Import Key. A caixa de diálogo Import Key é exibida.
  5. Configure os parâmetros de chaves.

    Figura 1 Criação de uma chave vazia
    • Alias é o alias da chave a ser criada.
      • Você pode inserir dígitos, letras, sublinhados (_), hifens (-), dois-pontos (:) e barras (/).
      • Você pode inserir até 255 caracteres.
    • Key Algorithm: selecione um algoritmo de chave. Para obter mais informações, consulte Tabela 1.
      Tabela 1 Algoritmos de chaves suportados pelo KMS

      Tipo de chave

      Tipo de algoritmo

      Especificações da chave

      Descrição

      Uso

      Chave simétrica

      AES

      AES_256

      Chave simétrica de AES

      Criptografa e descriptografa uma pequena quantidade de dados ou chaves de dados.

      Chave assimétrica

      RSA

      • RSA_2048
      • RSA_3072
      • RSA_4096

      Senha assimétrica de RSA

      Criptografa e descriptografa uma pequena quantidade de dados ou cria assinaturas digitais.

      ECC

      • EC_P256
      • EC_P384

      Curva elíptica recomendada pelo NIST

      Assinatura digital

    • Usage: selecione SIGN_VERIFY, ENCRYPT_DECRYPT ou GENERATE_VERIFY_MAC.
      • Para uma chave simétrica AES_256, o valor padrão é ENCRYPT_DECRYPT.
      • Para uma chave simétrica HMAC, o valor padrão é GENERATE_VERIFY_MAC.
      • Para chaves assimétricas RSA, selecione ENCRYPT_DECRYPT ou SIGN_VERIFY. O valor padrão é SIGN_VERIFY.
      • Para uma chave assimétrica ECC, o valor padrão é SIGN_VERIFY.

      O uso da chave só pode ser configurado durante a criação da chave e não pode ser modificado posteriormente.

    • (Opcional) Description é a descrição da chave personalizada.
    • O parâmetro Enterprise Project precisa ser definido apenas para usuários empresariais.

      Se você for um usuário empresarial e tiver criado um projeto empresarial, selecione o projeto empresarial necessário na lista suspensa. O projeto padrão é default.

      Se não houver opções de Enterprise Management exibidas, não será necessário configurá-lo.

  6. (Opcional) Adicione tags à chave personalizada conforme necessário e insira a chave da tag e o valor da tag.

    • Se uma chave personalizada tiver sido criada sem qualquer tag, você poderá adicionar uma tag à chave personalizada mais tarde, conforme necessário. Clique no alias da chave personalizada, clique na guia Tags e clique em Add Tag.
    • A mesma tag (incluindo chave de tag e valor de tag) pode ser usada para diferentes chaves personalizadas. No entanto, na mesma chave personalizada, uma chave de tag pode ter apenas um valor de tag.
    • Um máximo de 20 tags podem ser adicionadas para uma chave personalizada.
    • Se desejar excluir uma tag da lista de tags ao adicionar várias tags, você pode clicar em Delete na linha onde a tag a ser adicionada está localizada para excluir a tag.

  7. Clique em security and durability para entender a segurança e a durabilidade da chave importada.
  8. Selecione I understand the security and durability of using an imported key e crie uma chave personalizada cujo material da chave esteja vazio.
  9. Clique em Next para ir para a etapa Download the Import Items. Selecione um algoritmo de encapsulamento de chave com base em Tabela 2. Selecione um algoritmo de encapsulamento de chave com base em Table 4 Key wrapping algorithms.

    Figura 2 Obter a chave de encapsulamento e o token de importação
    Tabela 2 Algoritmos de encapsulamento de chaves

    Algoritmo

    Descrição

    Configuração

    RSAES_OAEP_SHA_256

    Algoritmo RSA que usa OAEP e tem a função de hash SHA-256

    Selecione um algoritmo baseado em suas funções de HSM.

    Se os HSMs oferecerem suporte ao algoritmo RSAES_OAEP_SHA_256, use RSAES_OAEP_SHA_256 para criptografar materiais de chaves.

    Se você interromper um processo de importação de material de chaves e quiser tentar novamente, clique em Import Key Material na linha da chave personalizada necessária e importe o material de chaves na caixa de diálogo exibida.

  10. Obtenha a chave de encapsulamento e importe o token. Se você já tem um material de chaves, pule esta etapa.

    1. Obtenha a chave de encapsulamento e importe o token.
      • Método 1: clique em Download and Continue, como mostrado em Figura 3.
        Figura 3 Arquivo baixado
        • wrappingKey_KeyID é a chave de encapsulamento. É codificada em formato binário e usada para criptografar a chave de encapsulamento do material da chave.
        • Token de importação: você não precisa baixá-lo. O assistente de importação transfere automaticamente o token de importação. Se você fechar o assistente antes de concluir a importação, o token se tornará automaticamente inválido.

        A chave de encapsulamento expira em 24 horas. Se a chave de encapsulamento for inválida, baixe-a novamente.

        O assistente de importação transfere automaticamente o token de importação. Se você fechar o assistente antes de concluir a importação, o token se tornará automaticamente inválido. Para tentar novamente a importação, abra o assistente de importação novamente.

      • Método 2: obtenha a chave de encapsulamento e importe o token chamando APIs.
        1. Chame a API get-parameters-for-import para obter a chave de encapsulamento e importar o token.
          • public_key: conteúdo da chave de encapsulamento (codificação Base-64) retornado após a chamada da API
          • import_token: conteúdo do token de importação (codificação Base-64) retornado após a chamada da API
          O exemplo a seguir descreve como obter a chave de encapsulamento e o token de importação de uma CMK (ID: 43f1ffd7-18fb-4568-9575-602e009b7ee8; algoritmo: RSAES_OAEP_SHA_256).
          • Exemplo de solicitação
            {      
                "key_id": "43f1ffd7-18fb-4568-9575-602e009b7ee8",
                "wrapping_algorithm":"RSAES_OAEP_SHA_256"
            }
          • Exemplo de resposta
            {
                "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. Salve a chave de encapsulamento e converta seu formato. Somente o material da chave criptografado usando a chave de encapsulamento convertida pode ser importado para o console de gerenciamento.
          1. Copie o conteúdo da chave de encapsulamento public_key, cole-o em um arquivo .txt e salve o arquivo como PublicKey.b64.
          2. Use OpenSSL para executar o seguinte comando para executar a codificação Base-64 no conteúdo do arquivo PublicKey.b64 para gerar dados binários e salvar o arquivo convertido como PublicKey.bin:

            openssl enc -d -base64 -A -in PublicKey.b64 -out PublicKey.bin

        3. Salve o token de importação, copie o conteúdo do token import_token, cole-o em um arquivo .txt e salve o arquivo como ImportToken.b64.
    2. Use a chave de encapsulamento para criptografar o material da chave.

      Depois de executar esta etapa, você obterá um dos seguintes arquivos:

      Cenário de chave simétrica: EncryptedKeyMaterial.bin (material da chave)

      Cenário de chave assimétrica: EncryptedKeyMaterial.bin (material de chave temporária) e out_rsa_private_key.der (texto cifrado de chave privada)

      Método 1: use a chave de encapsulamento baixada para criptografar materiais de chaves em seu HSM. Para obter detalhes, consulte o guia de operação do seu HSM.

      Método 2: use o OpenSSL para gerar um material de chaves e use a chave de encapsulamento baixada para criptografar o material de chaves.

      Se você precisar executar o comando openssl pkeyutl, certifique-se de que sua versão do OpenSSL seja 1.0.2 ou posterior.

      1. Gere um material de chaves (chave simétrica de 256 bits) e salve-o como PlaintextKeyMaterial.bin.
        • Se o algoritmo de chave simétrica AES256 for usado, execute o seguinte comando no cliente onde a ferramenta OpenSSL foi instalada:

          openssl rand -out PlaintextKeyMaterial.bin 32

        • Se os algoritmos de chave assimétrica RSA e ECC forem usados, execute o seguinte comando no cliente em que a ferramenta OpenSSL foi instalada:
          1. Gere uma chave AES256 hexadecimal.

            openssl rand -out 0xPlaintextKeyMaterial.bin -hex 32

          2. Converta a chave AES256 hexadecimal para o formato binário.

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

      2. Use a chave de encapsulamento baixada para criptografar o material da chave e salve o material da chave criptografada como EncryptedKeyMaterial.bin.

        Se a chave de encapsulamento foi baixada do console, substitua PublicKey.bin no comando a seguir pelo nome da chave de encapsulamento wrappingKey_keyID.

        Tabela 3 Criptografar o material da chave gerado usando a chave de encapsulamento baixada

        Algoritmo de chave de encapsulamento

        Criptografia de material de chaves

        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 uma chave assimétrica, gere uma chave privada assimétrica, use o material de chave temporária (EncryptedKeyMaterial.bin) para criptografar a chave privada e importe o arquivo criptografado como texto cifrado de chave privada.
        • Tome o algoritmo RSA4096 como um exemplo. Realize as operações a seguir:
          1. Gere uma chave privada.

            openssl genrsa -out pkcs1_rsa_private_key.pem 4096

          2. Converta o formato para PKCS8.

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

          3. Converta o formato PKCS8 para o formato DER.

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

          4. Use um material de chave temporária para criptografar a chave 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 padrão, o algoritmo -id-aes256-wrap-pad não está ativado no OpenSSL. Para encapsular uma chave, atualize o OpenSSL para a versão mais recente e corrija-o primeiro. Para obter detalhes, consulte Perguntas frequentes.

  11. Se você já tiver o material de chave, clique em Existing Key Material. A página Import Key Material é exibida.

    Tabela 4 Parâmetros para importar materiais de chave (para chaves simétricas)

    Parâmetro

    Descrição

    Key ID

    ID aleatório de uma CMK gerada durante a criação da CMK

    Key material

    Importar um material da chave.

    Por exemplo, use o arquivo EncryptedKeyMaterial.bin em 10.b.ii.

    Tabela 5 Parâmetros para importar materiais da chave (para chaves assimétricas)

    Parâmetro

    Descrição

    Key ID

    ID aleatório de uma CMK gerada durante a criação da CMK

    Temporary key material

    Importar um material de chave temporária.

    Por exemplo, selecione o arquivo EncryptedKeyMaterial.bin em 10.b.ii.

    Private key ciphertext

    Selecionar texto cifrado de chave privada.

    Por exemplo, selecione o arquivo out_rsa_private_key.der em 10.b.iii.

    Figura 4 Importação de materiais de chave

  12. Clique em Next para ir para a etapa Import Key Token. Configure os parâmetros conforme descrito em Tabela 6.

    Figura 5 Importação de um token de chave
    Tabela 6 Parâmetros para importar um token de chave

    Parâmetro

    Descrição

    Key ID

    ID aleatório de uma CMK gerada durante a criação da CMK

    Key import token

    Selecione o token de importação obtido via API em 12.b.

    Key material expiration mode

    • Key material will never expire: use esta opção para especificar que os materiais de chave não expirarão após a importação.
    • Key material will expire: use essa opção para especificar o tempo de expiração dos materiais de chaves. Por padrão, os materiais de chaves expiram em 24 horas após a importação.

      Depois que o material da chave expira, o sistema exclui automaticamente o material da chave dentro de 24 horas. Uma vez que o material da chave é excluído, a chave não pode ser usada e seu status muda para Pending import.

  13. Clique em OK. Quando a mensagem Key imported successfully é exibida no canto superior direito, os materiais são importados.

    Os materiais de chaves podem ser importados com sucesso quando correspondem ao ID da CMK e ao token correspondentes.

    Seus materiais importados são exibidos na lista de CMKs. O status padrão de uma CMK importada é Enabled.