Criar chaves do KMS assimétricas - AWS Key Management Service

Criar chaves do KMS assimétricas

Você pode criar chaves do KMS assimétricas no console do AWS KMS com a API CreateKey ou usando um modelo do AWS CloudFormation. Uma chave do KMS assimétrica representa um par de chaves pública e privada que pode ser usado para criptografia ou assinatura. A chave privada permanece no AWS KMS. Para baixar a chave pública para uso fora do AWS KMS, consulte Fazer download de chaves públicas.

Ao criar uma chave do KMS para criptografar dados que você armazena ou gerencia em um serviço da AWS, use uma chave do KMS de criptografia simétrica. Os serviços da AWS que têm integração com o AWS KMS não são compatíveis com chaves do KMS assimétricas. Para ajudar a decidir se você vai criar uma chave do KMS simétrica ou assimétrica, consulte Escolha de um tipo de chave do KMS.

Para obter informações sobre as permissões necessárias para criar chaves do KMS, consulte Permissões para criar chaves do KMS.

Criar chaves do KMS assimétricas (console)

É possível usar o AWS Management Console para criar AWS KMS keys (chaves do KMS) assimétricas. Cada chave do KMS assimétrica representa um par de chaves pública e privada.

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

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

  3. No painel de navegação, escolha Customer managed keys (Chaves gerenciadas pelo cliente).

  4. Escolha Create key (Criar chave).

  5. Para criar uma chave do KMS assimétrica, em Key type (Tipo de chave), selecione Asymmetric (Assimétrica).

    Para obter informações sobre como criar uma chave do KMS de criptografia simétrica no console do AWS KMS, consulte Criar chaves do KMS de criptografia simétrica (console).

  6. Para criar uma chave do KMS assimétrica para assinar mensagens e verificar assinaturas, em Key usage (Uso de chaves), selecione Encrypt and decrypt (Criptografar e descriptografar). Ou, para criar uma chave do KMS assimétrica para assinar mensagens e verificar assinaturas, em Key usage (Uso de chave), selecione Sign and verify (Assinar e verificar).

    Para ajudar a escolher um valor de uso de chave, consulte Selecionar o uso de chave.

  7. Escolha uma especificação (Especificação da chave) para a chave do KMS assimétrica.

    Geralmente a especificação de chave escolhida é determinada por requisitos regulatórios, de segurança ou de negócios. Ela também pode ser influenciada pelo tamanho das mensagens que você precisa criptografar ou assinar. Em geral, chaves de criptografia maiores são mais resistentes a ataques de força bruta.

    Para ajudar para escolher uma especificação de chave, consulte Selecionar a especificação de chave.

  8. Escolha Next (Próximo).

  9. Digite um alias para a chave do KMS. O nome do alias não pode começar com aws/. O prefixo aws/ é reservado pela Amazon Web Services para representar as Chaves gerenciadas pela AWS na sua conta.

    Um alias é um nome amigável que você pode usar para identificar a chave do KMS no console e em algumas APIs do AWS KMS. Recomendamos que você escolha um alias que indique o tipo de dados que pretende proteger ou a aplicação a ser usada com a chave do KMS.

    Aliases são necessários ao criar uma chave do KMS no AWS Management Console. Não é possível especificar um alias ao usar a operação CreateKey, mas você pode usar o console ou a operação CreateAlias para criar um alias para uma chave do KMS existente. Para obter mais detalhes, consulte Usar aliases.

  10. (Opcional) Digite uma descrição para a chave do KMS.

    Insira uma descrição que explique o tipo de dados que você planeja proteger ou a aplicação que planeja usar com a chave do KMS.

    Você pode adicionar uma descrição agora ou atualizá-la a qualquer momento, a não ser que o estado da chave seja Pending Deletion ou Pending Replica Deletion. Para adicionar, alterar ou excluir a descrição de uma chave gerenciada pelo cliente existente, edite a descrição na operação AWS Management Console ou use a operação UpdateKeyDescription.

  11. (Opcional) Digite uma chave de tag e um valor de tag opcional. Para adicionar mais de uma etiqueta à chave do KMS, selecione Add tag (Adicionar etiqueta).

    Ao adicionar tags aos recursos da AWS, a AWS gera um relatório de alocação de custos com utilização e custos agrupados por tags. Etiquetas também podem ser utilizadas para controlar o acesso a uma chave do KMS. Para informações sobre marcação de chaves do KMS, consulte Marcar chaves e ABAC para AWS KMS.

  12. Escolha Next (Próximo).

  13. Selecione os usuários e as funções do IAM que podem administrar a chave do KMS.

    nota

    Esta política de chave concede controle total dessa chave do KMS à Conta da AWS. Ela permite que os administradores de conta usem políticas do IAM para conceder a outras entidades principais a permissão para gerenciar a chave do KMS. Para obter mais detalhes, consulte Política de chaves padrão.

  14. (Opcional) Para evitar que os usuários e funções do IAM selecionados excluam essa chave do KMS, na seção Key deletion (Exclusão de chaves) na parte inferior da página, desmarque a caixa de seleção Allow key administrators to delete this key (Permitir que os administradores de chaves excluam essa chave).

  15. Escolha Next (Próximo).

  16. Selecione os usuários e as funções do IAM que podem usar a chave do KMS para operações de criptografia.

    nota

    Esta política de chave concede controle total dessa chave do KMS à Conta da AWS. Ela permite que os administradores de conta usem políticas do IAM para conceder a outras entidades principais a permissão para usar a chave do KMS em operações de criptografia. Para obter mais detalhes, consulte Política de chaves padrão.

  17. (Opcional) Você pode permitir que outras Contas da AWS usem essa chave do KMS para operações de criptografia. Para fazer isso, na parte inferior da página na seção Other Contas da AWS (Outras Contas da AWS), escolha Add another Conta da AWS (Adicionar outra Conta da AWS) e insira o número de identificação da Conta da AWS de uma conta externa. Para adicionar várias contas externas, repita essa etapa.

    nota

    Para permitir que as entidades principais de contas externas usem a chave do KMS, os administradores da conta externa devem criar políticas do IAM que forneçam essas permissões. Para mais informações, consulte Permitir que usuários de outras contas usem uma chave do KMS.

  18. Escolha Next (Próximo).

  19. Revise as configurações que você escolheu. Ainda é possível voltar e alterar todas as configurações.

  20. Selecione Finish (Concluir) para criar a chave do KMS.

Criar chaves do KMS assimétricas (API do AWS KMS)

É possível usar a operação CreateKey para criar uma AWS KMS key assimétrica. Estes exemplos usam a AWS Command Line Interface (AWS CLI), mas você pode usar qualquer linguagem de programação compatível.

Ao criar uma chave do KMS assimétrica, você deve especificar o parâmetro KeySpec, que determina o tipo de chaves que criado. Além disso, é necessário especificar um valor KeyUsage de ENCRYPT_DECRYPT ou SIGN_VERIFY. Não é possível alterar essas propriedades depois que a chave do KMS é criada.

A operação CreateKey não permite que você especifique um alias, mas você pode usar a operação CreateAlias para criar um alias para sua nova chave do KMS.

O exemplo a seguir usa a operação CreateKey para criar uma chave do KMS assimétrica de chaves RSA de 4.096 bits projetada para criptografia de chave pública.

$ aws kms create-key --key-spec RSA_4096 --key-usage ENCRYPT_DECRYPT { "KeyMetadata": { "KeyState": "Enabled", "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "KeyManager": "CUSTOMER", "Description": "", "Arn": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "CreationDate": 1569973196.214, "MultiRegion": false, "KeySpec": "RSA_4096", "CustomerMasterKeySpec": "RSA_4096", "KeyUsage": "ENCRYPT_DECRYPT", "EncryptionAlgorithms": [ "RSAES_OAEP_SHA_1", "RSAES_OAEP_SHA_256" ], "AWSAccountId": "111122223333", "Origin": "AWS_KMS", "Enabled": true } }

O comando de exemplo a seguir cria uma chave KMS assimétrica que representa um par de chaves ECDSA usado para assinatura e verificação. Não é possível criar um par de chaves de curva elíptica para criptografia e descriptografia.

$ aws kms create-key --key-spec ECC_NIST_P521 --key-usage SIGN_VERIFY { "KeyMetadata": { "KeyState": "Enabled", "KeyId": "0987dcba-09fe-87dc-65ba-ab0987654321", "CreationDate": 1570824817.837, "Origin": "AWS_KMS", "SigningAlgorithms": [ "ECDSA_SHA_512" ], "Arn": "arn:aws:kms:us-west-2:111122223333:key/0987dcba-09fe-87dc-65ba-ab0987654321", "AWSAccountId": "111122223333", "KeySpec": "ECC_NIST_P521", "CustomerMasterKeySpec": "ECC_NIST_P521", "KeyManager": "CUSTOMER", "Description": "", "Enabled": true, "MultiRegion": false, "KeyUsage": "SIGN_VERIFY" } }