Importar o material de chave — etapa 2: Fazer download da chave pública e do token de importação - AWS Key Management Service

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, use RSAES_OAEP_SHA_1. Se nenhuma das opções OAEP estiver disponível, use RSAES_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.

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.

  1. 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.

  2. 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.

  3. Para alterar a Região da AWS, use o Region selector (Seletor de regiões) no canto superior direito da página.

  4. 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).

  5. Escolha o alias ou o ID da chave do KMS com importação pendente.

  6. 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.

  7. 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).

  8. 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.

  9. 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.

  10. 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.

  11. 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 1234abcd-12ab-34cd-56ef-1234567890ab 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.

nota

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-algorithm RSAES_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:

  1. 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, como PublicKey.b64.

  2. 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 chamado PublicKey.bin.

    $ openssl enc -d -base64 -A -in PublicKey.b64 -out PublicKey.bin
  3. 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 exemplo ImportToken.b64.

  4. 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 chamado ImportToken.bin.

    $ openssl enc -d -base64 -A -in ImportToken.b64 -out ImportToken.bin

Vá para Etapa 3: Criptografar o material de chave.