Importar o material de chave — etapa 2: Fazer download da chave pública e do token de importação
Após criar uma AWS KMS key de criptografia simétrica sem material de chave, baixe uma chave pública e um token de importação para essa chave do KMS. Você pode fazer download de ambos os itens em uma só etapa usando o console do AWS KMS ou a API GetParametersForImport. A chave pública e o token de importação são válidos por 24 horas. Se você não usá-los para importar material de chaves em até 24 horas após o download, será necessário fazer download novamente.
Também é possível baixar esses itens ao reimportar o mesmo material de chave para uma chave do KMS. Você pode fazer isso para alterar o tempo de expiração do material de chaves ou para restaurar o material de chaves expirado ou excluído.
- Uso da chave pública
-
O download inclui uma chave pública, também chamada de chave de encapsulamento.
Antes de importar material de chaves, criptografe o material de chaves com a chave pública e, depois, faça upload do material de chaves criptografado para o AWS KMS. Quando o AWS KMS recebe o material de chaves criptografado, usa a chave privada correspondente para descriptografá-lo. A chave pública que o AWS KMS oferece é uma chave pública RSA de 2048 bits que é exclusiva da sua Conta da AWS.
- Uso do token de importação
-
O download inclui um token de importação que contém metadados para garantir que o seu material de chaves seja importado corretamente. Ao fazer upload do material de chaves criptografado para o AWS KMS, você deve fazer upload do mesmo token de importação obtido por download nesta etapa.
- Selecionar um algoritmo de empacotamento
-
Para proteger o material de chaves durante a importação, você o criptografa usando a chave pública baixada e um algoritmo de encapsulamento. Use a criptografia RSA PKCS #1 com uma das três opções de preenchimento, representado pelas opções a seguir. Essas opções estão listadas na ordem de preferência da AWS. Normalmente, você escolhe um algoritmo que é compatível com o módulo de segurança de hardware (HSM) ou com o sistema de gerenciamento de chaves que protege o material de chaves. Para obter detalhes técnicos sobre esses algoritmos, consulte a seção 7 do padrão PKCS #1 Versão 2.1
. Se o HSM ou o sistema de gerenciamento de chaves oferece suporte a isso, recomendamos o uso de
RSAES_OAEP_SHA_256
para criptografar o material de chaves. Se essa opção não estiver disponível, useRSAES_OAEP_SHA_1
. Se nenhuma das opções OAEP estiver disponível, useRSAES_PKCS1_V1_5
. Para informações sobre como criptografar o material de chaves, consulte a documentação do módulo de segurança de hardware ou do sistema de gerenciamento de chaves que protege o material de chaves.nota Para executar o exemplo de prova de conceito Criptografar material de chaves com OpenSSL na Etapa 3, use
RSAES_OAEP_SHA_1
.-
RSAES_OAEP_SHA_256
— O algoritmo de criptografia RSA com Preenchimento da criptografia assimétrica ideal (OAEP) e função de hash SHA-256. -
RSAES_OAEP_SHA_1
— O algoritmo de criptografia RSA com Preenchimento da criptografia assimétrica ideal (OAEP) e função de hash SHA-1. -
RSAES_PKCS1_V1_5
— O algoritmo de criptografia RSA com o formato de preenchimento definido no PKCS #1 Versão 1.5.
-
Tópicos
Para baixar a chave pública e o token de importação (console)
Você pode usar o console do AWS KMS para fazer download da chave pública e do token de importação.
-
Se você acabou de concluir as etapas para criar uma chave do KMS sem material de chave e está na página Download wrapping key and import token (Baixar chave de empacotamento e token de importação), vá para Passo 8.
-
Faça login no AWS Management Console e abra o console do AWS Key Management Service (AWS KMS) em https://console.aws.amazon.com/kms
. -
Para alterar a Região da AWS, use o Region selector (Seletor de regiões) no canto superior direito da página.
-
No painel de navegação, escolha Customer managed keys (Chaves gerenciadas pelo cliente).
dica Só é possível importar material de chave para uma chave do KMS de criptografia simétrica com uma Origin (Origem) do tipo EXTERNAL (EXTERNA). Isso indica que a chave do KMS foi criada sem material de chave. Para adicionar a coluna Origin (Origem) à tabela, no canto superior direito da página, selecione o ícone de configurações (
). Ative Origin (Origem) e escolha Confirm (Confirmar).
-
Escolha o alias ou o ID da chave do KMS com importação pendente.
-
Expanda a seção Cryptographic configuration (Configuração criptográfica) e visualize seus valores. As guias estão abaixo da seção General configuration (Configuração geral).
Só é possível importar material de chave em chaves do KMS com um Key type (Tipo de chave) Symmetric (Simétrica) e uma Origin (Origem) EXTERNAL (EXTERNA). Para obter informações sobre como criar chaves do KMS com material de chave importado, consulte Importar material de chaves em chaves do AWS KMS.
-
Expanda a seção Key material (Material de chave) e selecione Download wrapping key and import token (Baixar chave empacotada e token de importação).
A guia Key material (Material de chave) só é exibida para chaves do KMS de criptografia simétrica que têm um valor de Origin (Origem) de EXTERNAL (EXTERNA).
-
Para Select wrapping algorithm, escolha a opção que você usará para criptografar o material de chaves. Para obter mais informações sobre as opções, consulte Selecionar um algoritmo de empacotamento.
Se você pretende testar o exemplo de prova de conceito Criptografar material de chaves com OpenSSL na Etapa 3, escolha RSAES_OAEP_SHA_1.
-
Escolha Download wrapping key and import token e salve o arquivo.
Se houver a opção Next (Próximo), para continuar o processo agora, selecione Next (Próximo). Para continuar mais tarde, selecione Cancel (Cancelar). Caso contrário, para fechar a janela, escolha Cancel (Cancelar) ou clique no X.
-
Descompacte o arquivo
.zip
que você salvou na etapa anterior (ImportParameters.zip
).A pasta contém os seguintes arquivos:
-
Uma chave pública RSA de 2048 bits, em um arquivo chamado wrappingKey_
KMS key_key_ID
_timestamp
(por exemplo,wrappingKey_f44c4e20-f83c-48f4-adc6-a1ef38829760_0809092909
). -
Um token de importação, em um arquivo chamado importToken_
KMS key_key_ID
_timestamp
(por exemplo,importToken_f44c4e20-f83c-48f4-adc6-a1ef38829760_0809092909
). -
Um arquivo de texto chamado README_
KMS key_key_ID
_timestamp
.txt (por exemplo,README_f44c4e20-f83c-48f4-adc6-a1ef38829760_0809092909.txt
). Este arquivo contém informações sobre a chave pública, o algoritmo de encapsulamento a ser usado para criptografar o material de chaves e a data e hora em que a chave de encapsulamento (chave pública) e token de importação expiram.
-
-
Para continuar o processo, consulte criptografe o material de chaves.
Baixar a chave pública e o token de importação (API do AWS KMS)
Você pode usar a API GetParametersForImport para fazer download da chave pública e do token de importação. Especifique a chave do KMS que será associada ao material de chave importado. Essa chave do KMS deve ter um valor de Origem de EXTERNAL
.
Este exemplo especifica um valor de algoritmo de encapsulamento de RSAES_OAEP_SHA_1
. Para especificar uma opção diferente, substitua RSAES_OAEP_SHA_1
por RSAES_OAEP_SHA_256
ou RSAES_PKCS1_V1_5
. Substitua
pelo ID da chave do KMS para a qual baixar a chave pública e o token de importação. É possível usar o ID de chave ou o ARN da chave, mas não é possível usar um alias de nome ou ARN de alias para essa operação.1234abcd-12ab-34cd-56ef-1234567890ab
Para usar o exemplo de prova de conceito Criptografar material de chaves com OpenSSL na Etapa 3, especifique RSAES_OAEP_SHA_1.
$
aws kms get-parameters-for-import \ --key-id
1234abcd-12ab-34cd-56ef-1234567890ab
\ --wrapping-algorithmRSAES_OAEP_SHA_1
\ --wrapping-key-spec RSA_2048
Quando o comando é bem-sucedido, a saída é semelhante à seguinte:
{ "ParametersValidTo": 1568290320.0, "PublicKey": "
public key (base64 encoded)
", "KeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "ImportToken": "import token (base64 encoded)
" }
Para preparar os dados para a próxima etapa, o base64 decodifica a chave pública e o token de importação e salva os valores decodificados nos arquivos.
Para o base64 decodificar a chave pública e o token de importação:
-
Copie a chave pública codificada em base64 (representada pela
chave pública codificada em base64
no exemplo de saída), cole-os em um novo arquivo e salve o arquivo. Dê um nome descritivo ao arquivo, comoPublicKey.b64
. -
Use o OpenSSL
para decodificar o conteúdo do arquivo base64 e salve os dados decodificados em um novo arquivo. O exemplo a seguir decodifica os dados no arquivo que você salvou na etapa anterior ( PublicKey.b64
) e salva a saída em um novo arquivo chamadoPublicKey.bin
.$
openssl enc -d -base64 -A -in PublicKey.b64 -out PublicKey.bin
-
Copie o token de importação codificado em base64 (representado pelos
token de importação codificado em base64
no exemplo de saída), cole-os em um novo arquivo e salve o arquivo. Dê ao arquivo um nome descritivo, por exemploImportToken.b64
. -
Use o OpenSSL
para decodificar o conteúdo do arquivo base64 e salve os dados decodificados em um novo arquivo. O exemplo a seguir decodifica os dados no arquivo que você salvou na etapa anterior ( ImportToken.b64
) e salva a saída em um novo arquivo chamadoImportToken.bin
.$
openssl enc -d -base64 -A -in ImportToken.b64 -out ImportToken.bin
Vá para Etapa 3: Criptografar o material de chave.