Importar o material de chave — etapa 3: Criptografar o material de chave - AWS Key Management Service

Importar o material de chave — etapa 3: Criptografar o material de chave

Depois de fazer download da chave pública e importar o token, use a chave pública para criptografar seu material de chaves. O material de chaves deve estar em formato binário.

Geralmente, você criptografa o material de chaves ao exportá-lo do HSM (módulo de segurança de hardware) ou do sistema de gerenciamento de chaves. Para obter informações sobre como exportar material de chaves em formato binário, consulte a documentação do HSM ou do sistema de gerenciamento de chaves. Você também pode consultar a seção a seguir, que fornece uma demonstração da prova de conceito usando OpenSSL.

Ao criptografar o material de chaves, use o esquema de criptografia com a opção de preenchimento que você especificou quando fez download da chave pública, e importe o token (RSAES_OAEP_SHA_256, RSAES_OAEP_SHA_1 ou RSAES_PKCS1_V1_5).

Exemplo: Criptografar material de chave com OpenSSL

O exemplo a seguir demonstra como usar o OpenSSL para gerar uma chave simétrica de 256 bits e, em seguida, criptografar esse material de chave a fim de importá-lo para uma chave do KMS.

Importante

Este exemplo é apenas uma demonstração da prova de conceito. Para sistemas de produção, use um método mais seguro (tal como um HSM ou sistema de gerenciamento de chaves comercial) para gerar e armazenar seu material de chaves.

O algoritmo de criptografia RSAES_OAEP_SHA_1 funciona melhor com este exemplo. Antes de executar o exemplo, certifique-se de ter usado RSAES_OAEP_SHA_1 para o algoritmo de empacotamento na Etapa 2. Se necessário, repita a etapa para fazer download, importe a chave pública e o token.

Para usar o OpenSSL para gerar material de chaves binário e criptografá-lo a fim de importá-lo para o AWS KMS

  1. Use o comando a seguir para gerar uma chave simétrica de 256 bits e salve-a em um arquivo chamado PlaintextKeyMaterial.bin.

    $ openssl rand -out PlaintextKeyMaterial.bin 32
  2. Use o comando a seguir para criptografar o material de chaves com a chave pública que você baixou anteriormente (consulte Baixar a chave pública e o token de importação (API do AWS KMS)) e salve-o em um arquivo chamado EncryptedKeyMaterial.bin. Substitua PublicKey.bin pelo nome do arquivo que contém a chave pública. Se você fez baixou a chave pública do console, esse arquivo se chama wrappingKey_KMS key_key_ID_timestamp (por exemplo, wrappingKey_f44c4e20-f83c-48f4-adc6-a1ef38829760_0809092909).

    $ openssl rsautl -encrypt \ -in PlaintextKeyMaterial.bin \ -oaep \ -inkey PublicKey.bin \ -keyform DER \ -pubin \ -out EncryptedKeyMaterial.bin

Vá para Etapa 4: Importar o material de chave.