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

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Importar o material de chave - etapa 2: Fazer download da chave pública de empacotamento e do token de importação

Depois de criar um material AWS KMS key sem chave, baixe uma chave pública de empacotamento e um token de importação para essa chave KMS usando o AWS KMS console ou a GetParametersForImportAPI. A chave pública de empacotamento e o token de importação são um conjunto indivisível que deve ser usado em conjunto.

Você usará a chave pública de empacotamento para criptografar seu material de chave para transporte. Antes de baixar um par de chaves de empacotamento RSA, você seleciona o comprimento (especificação de chave) do par de chaves de encapsulamento RSA e o algoritmo de empacotamento que você usará para criptografar seu material de chave importado para transporte na etapa 3. AWS KMS também suporta a especificação da chave de empacotamento SM2 (somente regiões da China).

Cada conjunto de chave pública de empacotamento e de token de importação é válido 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 de um novo conjunto. É possível fazer download de uma nova chave pública de empacotamento e de conjuntos de tokens de empacotamento a qualquer momento. Isso permitirá que você altere o comprimento da chave de empacotamento RSA (“especificação da chave”) ou substitua um conjunto perdido.

Também é possível baixar uma chave pública de empacotamento e o conjunto de tokens de importação para reimportar o mesmo material de chave para uma chave do KMS. É possível fazer isso para definir ou alterar o tempo de expiração do material de chaves ou para restaurar o material de chaves expirado ou excluído. Você deve baixar e recriptografar seu material de chave toda vez que importá-lo para o. AWS KMS

Uso da chave pública de empacotamento

O download inclui uma chave pública exclusiva para você Conta da AWS, também chamada de chave pública de empacotamento.

Antes de importar o material da chave, você criptografa o material da chave com a chave de empacotamento pública e, em seguida, carrega o material da chave criptografada para. AWS KMS Ao AWS KMS receber seu material de chave criptografada, ele descriptografa o material de chave com a chave privada correspondente e, em seguida, recriptografa o material de chave sob uma chave simétrica AES, tudo dentro de um módulo de segurança de AWS KMS hardware (HSM).

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 carregar seu material de chave criptografada para AWS KMS, você deve carregar o mesmo token de importação que você baixou nesta etapa.

Selecionar uma especificação de chave pública de empacotamento

Para proteger seu material de chaves durante a importação, você o criptografa usando uma chave pública de agrupamento da qual você baixa e um AWS KMS algoritmo de agrupamento compatível. Selecione uma especificação de chave antes de fazer download da chave pública de empacotamento e do token de importação. Todos os pares de chaves de empacotamento são gerados em módulos AWS KMS de segurança de hardware (HSMs). A chave privada nunca sai do HSM em texto simples.

Especificações principais de empacotamento RSA

A especificação de chave da chave pública de empacotamento determina o comprimento das chaves no par de chaves RSA que protege o material de chave durante o transporte para o AWS KMS. Em geral, recomendamos o uso da chave pública de empacotamento mais longa possível. Oferecemos várias especificações de chave pública de empacotamento para oferecer suporte a uma variedade de HSMs e gerenciadores de chaves.

AWS KMS suporta as seguintes especificações principais para as chaves de empacotamento RSA usadas para importar material de chaves de todos os tipos, exceto conforme indicado.

  • RSA_4096 (preferencial)

  • RSA_3072

  • RSA_2048

    nota

    A combinação a seguir NÃO é compatível: material de chave ECC_NIST_P521, especificação de chave de empacotamento pública RSA_2048 e um algoritmo de empacotamento RSAES_OAEP_SHA_*.

    Não é possível empacotar diretamente o material de chave ECC_NIST_P521 com uma chave de empacotamento pública RSA_2048. Use uma chave de empacotamento maior ou um algoritmo de empacotamento RSA_AES_KEY_WRAP_SHA_*.

Especificação da chave de embalagem SM2 (somente regiões da China)

AWS KMS suporta a seguinte especificação de chave para as chaves de empacotamento SM2 usadas para importar material de chave assimétrico.

  • SM2

Selecionar um algoritmo de empacotamento

Para proteger o material de chaves durante a importação, criptografe-o usando a chave pública de empacotamento baixada e um algoritmo de empacotamento.

AWS KMS suporta vários algoritmos de empacotamento RSA padrão e um algoritmo de empacotamento híbrido de duas etapas. Em geral, recomendamos usar o algoritmo de empacotamento mais seguro que seja compatível com o material da chave importada e com a especificação da chave 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.

A tabela a seguir mostra os algoritmos de empacotamento compatíveis com cada tipo de material de chave e chave do KMS. Os algoritmos estão listados em ordem de preferência.

Material de chave Algoritmo e especificação de empacotamento compatíveis
Chave de criptografia simétrica

Chave AES de 256 bits

Chave 128-bit SM4 (somente nas regiões da China)

Algoritmos de empacotamento:

RSAES_OAEP_SHA_256

RSAES_OAEP_SHA_1

Algoritmos de empacotamento obsoletos:

RAES_PKCS1_V1

nota

Em 10 de outubro de 2023, AWS KMS não oferece suporte ao algoritmo de encapsulamento RSAES_PKCS1_V1_5.

Especificações da chave de empacotamento:

RSA_2048

RSA_3072

RSA_4096

Chave privada RSA assimétrica
Algoritmos de empacotamento:

RSA_AES_KEY_WRAP_SHA_256

RSA_AES_KEY_WRAP_SHA_1

SM2PKE (somente regiões da China)

Especificações da chave de empacotamento:

RSA_2048

RSA_3072

RSA_4096

SM2 (somente nas regiões da China)

Chave privada assimétrica de curva elíptica (ECC)

Não é possível usar os algoritmos de empacotamento RSAES_OAEP_SHA_* com a especificação da chave de empacotamento RSA_2048 para empacotar o material da chave ECC_NIST_P521.

Algoritmos de empacotamento:

RSA_AES_KEY_WRAP_SHA_256

RSA_AES_KEY_WRAP_SHA_1

RSAES_OAEP_SHA_256

RSAES_OAEP_SHA_1

SM2PKE (somente regiões da China)

Especificações da chave de empacotamento:

RSA_2048

RSA_3072

RSA_4096

SM2 (somente nas regiões da China)

Chave privada SM2 assimétrica (somente regiões da China)
Algoritmos de empacotamento:

RSAES_OAEP_SHA_256

RSAES_OAEP_SHA_1

SM2PKE (somente regiões da China)

Especificações da chave de empacotamento:

RSA_2048

RSA_3072

RSA_4096

SM2 (somente nas regiões da China)

Chave de HMAC
Algoritmos de empacotamento:

RSAES_OAEP_SHA_256

RSAES_OAEP_SHA_1

Especificações da chave de empacotamento:

RSA_2048

RSA_3072

RSA_4096

nota

Os algoritmos de RSA_AES_KEY_WRAP_SHA_1 empacotamento RSA_AES_KEY_WRAP_SHA_256 e não são compatíveis com as regiões da China.

  • RSA_AES_KEY_WRAP_SHA_256 - Um algoritmo de empacotamento híbrido de duas etapas que combina a criptografia do seu material de chave com uma chave simétrica AES que você gera e, em seguida, criptografa a chave simétrica AES com a chave de empacotamento pública RSA baixada e o algoritmo de empacotamento RSAES_OAEP_SHA_256.

    É necessário um algoritmo RSA_AES_KEY_WRAP_SHA_* de empacotamento para empacotar material de chave privada RSA, exceto nas regiões da China, onde você deve usar o SM2PKE algoritmo de empacotamento.

  • RSA_AES_KEY_WRAP_SHA_1 - Um algoritmo de empacotamento híbrido de duas etapas que combina a criptografia do seu material de chave com uma chave simétrica AES que você gera e, em seguida, criptografa a chave simétrica AES com a chave pública de empacotamento RSA baixada e o algoritmo de empacotamento RSAES_OAEP_SHA_1.

    É necessário um algoritmo RSA_AES_KEY_WRAP_SHA_* de empacotamento para empacotar material de chave privada RSA, exceto nas regiões da China, onde você deve usar o SM2PKE algoritmo de empacotamento.

  • 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(Obsoleto; em 10 de outubro de 2023, AWS KMS não oferece suporte ao algoritmo de encapsulamento RSAES_PKCS1_V1_5) — O algoritmo de criptografia RSA com o formato de preenchimento definido no PKCS #1 Versão 1.5.

  • SM2PKE(Somente regiões da China) — Um algoritmo de criptografia baseado em curva elíptica definido pela OSCCA no GM/T 0003.4-2012.

Fazer download da chave pública de empacotamento e do token de importação (console)

Você pode usar o AWS KMS console para baixar a chave pública de empacotamento e o 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 9.

  2. Faça login no console AWS Management Console e abra o AWS Key Management Service (AWS KMS) em https://console.aws.amazon.com/kms.

  3. Para alterar o Região da AWS, use o seletor de região no canto superior direito da página.

  4. No painel de navegação, escolha Chaves gerenciadas pelo cliente.

    dica

    É possível importar material de chave somente para uma chave do KMS simétrica com uma Origin (Origem) de External (Import key material) (Externa [Importar material de chave]). 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 ( Gear or cog icon representing settings or configuration options. ). 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).

    É possível importar material de chave somente para uma chave do KMS com uma Origin (Origem) de External (Import key material) (Externa [Importar material de chave]). Para obter informações sobre como criar chaves do KMS com material de chave importado, consulte Importação de material chave para AWS KMS chaves.

  7. Escolha a guia Key material (Material de chaves) e, em seguida, Import key material (Importar material de chave).

    A guia Key material (Material de chave) aparece somente para chaves do KMS que tenham um valor Origin (Origem) de External (Import key material) (Externo (Importar material de chave)).

  8. Em Selecionar especificação da chave de empacotamento, escolha a configuração da sua chave do KMS. Após a criação dessa chave, não será possível alterar a especificação da chave.

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

  10. Escolha Download wrapping key and import token (fazer download da chave de empacotamento e token de importação) 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).

  11. Descompacte o arquivo .zip que você salvou na etapa anterior (Import_Parameters_<key_id>_<timestamp>).

    A pasta contém os seguintes arquivos:

    • Uma chave pública de empacotamento em um arquivo chamadoWrappingPublicKey.bin.

    • Um token de importação em um arquivo chamado ImportToken.bin.

    • Um arquivo de texto chamado README.txt. Este arquivo contém informações sobre a chave pública de empacotamento, o algoritmo de encapsulamento a ser usado para criptografar o material de chaves e a data e hora em que a chave pública de empacotamento e o token de importação expiram.

  12. Para continuar o processo, consulte criptografe o material de chaves.

Baixando a chave pública de empacotamento e o token de importação (AWS KMS API)

Para baixar a chave pública e o token de importação, use a GetParametersForImportAPI. 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 o algoritmo de empacotamento RSA_AES_KEY_WRAP_SHA_256, a especificação de chave pública de empacotamento RSA_3072 e um exemplo de ID de chave. Substitua esses valores de exemplo por valores válidos para download. Para o ID de chave, é 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 nessa operação.

$ aws kms get-parameters-for-import \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --wrapping-algorithm RSA_AES_KEY_WRAP_SHA_256 \ --wrapping-key-spec RSA_3072

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 WrappingPublicKey.bin.

    $ openssl enc -d -base64 -A -in PublicKey.b64 -out WrappingPublicKey.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.