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.