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.
Pré-requisitos
- Você obteve uma conta e sua senha para fazer logon no console de gerenciamento.
- Você preparou os materiais de chave a serem importados.
Procedimento
- Faça logon no console de gerenciamento.
- Clique em no canto superior esquerdo do console de gerenciamento e selecione uma região ou um projeto.
- Clicar em . Escolha .
- Clique em Import Key. A caixa de diálogo Import Key é exibida.
- Configure os parâmetros de chave.
Figura 1 Criar uma chave vazia
- Alias é o alias da CMK 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 chave suportados pelo KMS Tipo de chave
Tipo de algoritmo
Especificações de chave
Descrição
Utilização
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 ou ENCRYPT_DECRYPT.
- Para uma chave simétrica, o valor padrão é ENCRYPT_DECRYPT.
- 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 CMK.
- O parâmetro Enterprise Project precisa ser definido apenas para usuários corporativos.
Se você for um usuário corporativo e tiver criado um projeto corporativo, selecione o projeto corporativo necessário na lista suspensa. O projeto padrão é default.
Se não houver opções do Enterprise Management exibidas, não será necessário configurá-lo.
- Você pode usar projetos corporativos para gerenciar recursos de nuvem e membros do projeto. Para obter mais informações sobre projetos corporativos, consulte Guia de usuário do Enterprise Management.
- Para obter detalhes sobre como ativar a função de projeto da empresa, consulte Ativação da central empresarial
- Alias é o alias da CMK a ser criada.
- (Opcional) Adicione tags à CMK conforme necessário e insira a chave da tag e o valor da tag.
- Se uma CMK foi criada sem nenhuma tag, você pode adicionar uma tag à CMK mais tarde, conforme necessário. Clique no alias da CMK, 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 CMKs. No entanto, na mesma CMK, uma chave de tag pode ter apenas um valor de tag.
- Um máximo de 20 tags podem ser adicionadas para cada CMK.
- 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 CMK 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.
Tabela 2 Algoritmos de encapsulamento de chave Algoritmo
Descrição
Configuração
RSAES_OAEP_SHA_256
Algoritmo de criptografia de RSA que usa OAEP e tem a função de hash SHA-256
Escolha um algoritmo na caixa de listagem suspensa.
Se os HSMs oferecerem suporte ao algoritmo RSAES_OAEP_SHA_256, use RSAES_OAEP_SHA_256 para criptografar materiais de chave.
Se você interromper um processo de importação de material de chave e quiser tentar novamente, clique em Import Key Material na linha da CMK necessária e importe o material de chave na caixa de diálogo exibida.
- Clique em Download. Os seguintes arquivos são baixados: wrappingKey, importToken e README, como mostrado na Figura 2.
- wrappingKey_CMKID_DownloadTime é uma chave de encapsulamento usada para criptografar materiais de chave.
- importToken_CMKID_DownloadTime é um token usado para importar materiais de chave para o KMS.
- README_CMKID_DownloadTime é um arquivo de descrição que registra informações como o número de série de uma CMK, o algoritmo de encapsulamento, o nome da chave de encapsulamento, o nome do arquivo de token e o tempo de expiração do arquivo de token e da chave de encapsulamento.
- wrappingKey_Key ID_Download_time é codificado em formato binário.
- A chave de encapsulamento e o token de importação expiram em 24 horas. Se tiverem expirado, baixe-os novamente.
Você também pode obter a chave de encapsulamento e importar o token via API.- Chame a API get-parameters-for-import para obter a chave de encapsulamento e importar o token.
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 de criptografia: RSAES_OAEP_SHA_256).
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
- 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 }
- Exemplo de solicitação
- 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 public_key, cole-a 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.
- Use o arquivo wrappingKey para criptografar os materiais de chave a serem importados.
- Método 1: use a chave de encapsulamento baixada para criptografar materiais de chave em seu HSM. Para obter detalhes, consulte o guia de operação do seu HSM.
- Método 2: use o OpenSSL para criptografar os materiais de chave.
Se você precisar executar o comando openssl pkeyutl, a versão do OpenSSL deve ser 1.0.2 ou posterior.
O exemplo a seguir descreve como usar a chave de encapsulamento baixada para criptografar o material da chave gerada (chave simétrica de 256-bit). O procedimento é o seguinte:- Para gerar um material de chave para uma chave simétrica de 256-bit usando o algoritmo AES256, no agente em que o OpenSSL foi instalado, execute o seguinte comando para gerar o material de chave e salve-o como PlaintextKeyMaterial.bin:
openssl rand -out PlaintextKeyMaterial.bin 32
Para gerar um material de chave para uma chave assimétrica RSA ou ECC, execute as seguintes operações:
- Use a chave de encapsulamento baixada para criptografar o material da chave e salve o material da chave criptografada como EncryptedKeyMaterial.bin.
Substitua PublicKey.bin no comando com o nome da chave de encapsulamento wrappingKey_key ID_download time baixado em Passo 10.
Tabela 3 Criptografar o material de chave gerado usando a chave de encapsulamento baixada Algoritmo de chave de encapsulamento
Criptografia de material de chave
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
- Para importar uma chave assimétrica, gere uma chave privada assimétrica e use um material de chave temporária para criptografar a chave privada.
- Tome o algoritmo RSA4096 como um exemplo. Realize as operações a seguir:
- Gere uma chave privada.
- Converta a chave 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á habilitado no OpenSSL. Para envolver uma chave, atualize o OpenSSL para a versão mais recente e corrija-a primeiro. Para obter detalhes, consulte Perguntas frequentes.
- Tome o algoritmo RSA4096 como um exemplo. Realize as operações a seguir:
- Para gerar um material de chave para uma chave simétrica de 256-bit usando o algoritmo AES256, no agente em que o OpenSSL foi instalado, execute o seguinte comando para gerar o material de chave e salve-o como PlaintextKeyMaterial.bin:
- Clique em Next para ir para a etapa Import Key Material.
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 de chave.
Tabela 5 Parâmetros para importar materiais de chave (para chaves assimétricas) Parâmetro
Descrição
Key ID
ID aleatório de uma CMK gerada durante a criação da CMK
Material de chave temporária
Importar um material de chave temporária.
Texto cifrado de chave privada
Selecione texto cifrado de chave privada.
Figura 3 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.
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
Token de importação de chave
Selecione o token baixado em Passo 10.
Modo de expiração do material de chave
- O material de chave nunca expirará: utilize esta opção para especificar que os materiais de chave não expirarão após a importação.
- O material de chave expirará: use essa opção para especificar o tempo de expiração dos materiais de chave. Por padrão, os materiais de chave 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 chave podem ser importados com sucesso quando correspondem ao ID da CMK e ao token correspondentes.
Os materiais importados são exibidos na lista de CMKs. O status padrão de uma CMK importada é Enabled.