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
- Faça logon no console de gerenciamento.
 - Clique em 
 no canto superior esquerdo do console de gerenciamento e selecione uma região ou projeto. - Clique em 
. Escolha . - Clique em Import Key. A caixa de diálogo Import Key é exibida.
 - 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.
 
       - Você pode usar projetos empresariais para gerenciar recursos de nuvem e membros do projeto. Para obter mais informações sobre projetos empresariais, consulte O que é o serviço de gerenciamento de projetos empresariais?
 - Para obter detalhes sobre como ativar a função do projeto empresarial, consulte Ativação da central empresarial.
 
 
 - Alias é o alias da chave a ser criada.
      
 - (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.
 
 - Clique em security and durability para entender a segurança e a durabilidade da chave importada.
 - Selecione I understand the security and durability of using an imported key e crie uma chave personalizada cujo material da chave esteja vazio.
 - 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.
 - Obtenha a chave de encapsulamento e importe o token. Se você já tem um material de chaves, pule esta etapa.
    
    
- Obtenha a chave de encapsulamento e importe o token.
      
- Método 1: clique em Download and Continue, como mostrado em Figura 3.
        
        
- 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.
        
- 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 } 
 - 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.
          
- Copie o conteúdo da chave de encapsulamento public_key, cole-o em um arquivo .txt e salve o arquivo como PublicKey.b64.
 - 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
 
 - 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.
 
 - Chame a API get-parameters-for-import para obter a chave de encapsulamento e importar o token.
          
 
 - Método 1: clique em Download and Continue, como mostrado em Figura 3.
        
        
 - 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.
- 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:
 
- 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:
 
 - 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
 - (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:
           
- Gere uma chave privada.
 - Converta o formato para PKCS8.
             
openssl pkcs8 -topk8 -inform PEM -in pkcs1_rsa_private_key.pem -outform pem -nocrypt -out rsa_private_key.pem
 - 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
 - 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.
 
 
 - Tome o algoritmo RSA4096 como um exemplo. Realize as operações a seguir:
           
 
 - Gere um material de chaves (chave simétrica de 256 bits) e salve-o como PlaintextKeyMaterial.bin.
         
 
 - Obtenha a chave de encapsulamento e importe o token.
      
 - 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
     - 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.
 
 - 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.
 
    
      