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

Depois de criar uma AWS KMS key simétrica sem material de chave, baixe uma chave pública e o token de importação para essa chave do KMS. Você precisa desses itens para importar seu material de chaves. Você pode fazer download de ambos os itens em uma só etapa usando o recurso AWS Management Console ou a API do AWS KMS.

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

Ao importar o material de chaves, não faça upload do material de chaves bruto para o AWS KMS. Primeiro, criptografe o material de chaves com a chave pública da qual você fizer download nesta etapa 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 você recebe do AWS KMS é uma chave pública RSA de 2048 bits e é sempre exclusiva da sua Conta da AWS.

Uso do token de importação

O token de importação 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 uma chave de empacotamento e um algoritmo de empacotamento. 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. Use o esquema de 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. Os detalhes técnicos dos esquemas representados por essas opções são explicados na seção 7 do padrão PKCS # 1 Versão 2.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.

nota

Se você pretende testar o exemplo de prova de conceito Criptografar material de chaves com OpenSSL na Etapa 3, use o RSAES_OAEP_SHA_1.

Se o HSM ou o sistema de gerenciamento de chaves oferece suporte a isso, recomendamos o uso do RSAES_OAEP_SHA_256 para criptografar o material de chave. Se essa opção não estiver disponível, use o RSAES_OAEP_SHA_1. Se nenhuma das opções OAEP estiver disponível, use o 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.

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.

Você pode usar o AWS Management Console ou a API do AWS KMS para fazer download da chave pública e do token de importação. É possível usar a API diretamente, fazendo solicitações HTTP ou usando AWS SDKs, o AWS Command Line Interface ou o AWS Tools for PowerShell.

Ao fazer download da chave pública e importar o token, uma entrada GetParametersForImport é adicionada ao log do AWS CloudTrail para registrar a operação GetParametersForImport. A entrada do CloudTrail é a mesma, quer você use o console do AWS KMS ou a API do AWS KMS.

Para baixar a chave pública e o token de importação (console)

Você pode usar o AWS Management Console 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 de cliente).

    dica

    É possível importar material de chave somente em uma chave do KMS simétrica com uma Origin (Origem) 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 seção Key material (Material de chave) é exibida somente para chaves do KMS simétricas 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:

    • A chave de empacotamento (chave pública), em um arquivo chamado wrappingKey_KMS key_key_ID_timestamp (por exemplo, wrappingKey_f44c4e20-f83c-48f4-adc6-a1ef38829760_0809092909). Esta é uma chave pública RSA 2048 bits.

    • O 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 de encapsulamento (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)

Para usar a API do AWS KMS para baixar a chave pública e o token de importação, envie uma solicitação GetParametersForImport que especifica a chave do KMS para a qual você está baixando esses itens. O exemplo a seguir mostra como fazer isso com a AWS CLI.

Este exemplo especifica RSAES_OAEP_SHA_1 como a opção de criptografia. 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 Amazon Resource Name (ARN) da chave do KMS, mas não é possível usar um alias para essa operação.

nota

Se você pretende testar 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 data", "KeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "ImportToken": "import token base64 encoded data" }

Quando você receber essa saída, salve a chave pública e o token de importação codificados com base64 em arquivos separados. Decodifique cada arquivo base64 em dados binários e salve os dados binários em novos arquivos. Assim, esses itens são preparados para as etapas posteriores. Veja o exemplo a seguir.

Para preparar a chave pública e o token de importação para as etapas posteriores

  1. Copie os dados codificados em base64 da chave pública (representados pelos dados codificados em base64 da chave pública no exemplo de saída), cole-os em um novo arquivo e salve o arquivo. Dê ao arquivo um nome descritivo, por exemplo 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

Repita essas duas etapas para o token de importação e vá para Etapa 3: Criptografar o material de chave.