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 mesmo algoritmo de encapsulamento 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 de criptografia simétrica de 256 bits e, em seguida, criptografar esse material de chave a fim de importá-lo para uma chave do KMS.

Nas regiões da China, gere uma chave de criptografia simétrica de 128 bits.

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.

    (Somente regiões da China) Para gerar uma chave simétrica de 128 bits, altere o 32 no comando a seguir 16.

    $ 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 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 pkeyutl \ -in PlaintextKeyMaterial.bin \ -out EncryptedKeyMaterial.bin \ -inkey PublicKey.bin \ -keyform DER -pubin \ -encrypt \ -pkeyopt rsa_padding_mode:oaep \ -pkeyopt rsa_oaep_md:sha1

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