Criar uma chave do KMS assimétrica
Você pode criar chaves do KMS assimétricas no console do AWS KMS usando a API CreateKey ou usando o modelo AWS::KMS::Key do AWS CloudFormation. Uma chave do KMS assimétrica representa um par de chaves pública e privada que pode ser usado para criptografia, assinatura ou derivação de segredos compartilhados. A chave privada permanece no AWS KMS. Para baixar a chave pública para uso fora do AWS KMS, consulte Fazer download de chave pública.
Ao criar uma chave do KMS assimétrica, é necessário selecionar sua especificação de chave. 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 obter uma descrição detalhada de todas as especificações de chave compatíveis, consulte Referência de especificação de chave.
Os serviços da AWS com integração ao AWS KMS não são compatíveis com chaves do KMS assimétricas. Se você quiser criar uma chave do KMS que criptografe dados que você armazena ou gerencia em um serviço da AWS, crie uma chave do KMS de criptografia simétrica.
Para obter informações sobre as permissões necessárias para criar chaves do KMS, consulte Permissões para criar chaves do KMS.
É 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.
Importante
Não inclua informações confidenciais ou sigilosas no alias, na descrição ou nas tags. Esses campos podem aparecer em texto simples nos logs do CloudTrail e em outras saídas.
-
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
. -
Para alterar a Região da AWS, use o seletor de regiões no canto superior direito da página.
-
No painel de navegação, escolha Customer managed keys (Chaves gerenciadas pelo cliente).
-
Escolha Create key (Criar chave).
-
Para criar uma chave do KMS assimétrica, em Key type (Tipo de chave), selecione Asymmetric (Assimétrica).
-
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).
Para criar uma chave do KMS assimétrica para assinar mensagens e verificar assinaturas, em Uso de chave, selecione Assinar e verificar.
Para criar uma chave do KMS assimétrica para derivar segredos compartilhados, em Uso da chave, escolha Acordo de chave.
Para ajudar a escolher um valor de uso de chave, consulte Escolher qual tipo de chave do KMS criar.
-
Escolha uma especificação (Especificação da chave) para a chave do KMS assimétrica.
-
Escolha Próximo.
-
Digite um alias para a chave do KMS. O nome do alias não pode começar com
aws/
. O prefixoaws/
é 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 detalhes, consulte Aliases no AWS KMS.
-
(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
ouPending Replica Deletion
. Para adicionar, alterar ou excluir a descrição de uma chave gerenciada pelo cliente existente, edite a descrição na página de detalhes da chave do KMS no AWS Management Console ou use a operação UpdateKeyDescription. -
(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 Etiquetas no AWS KMS e ABAC para AWS KMS.
-
Escolha Próximo.
-
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 detalhes, consulte Política de chaves padrão.
As práticas recomendadas do IAM não encorajam o uso de usuários do IAM com credenciais de longo prazo. Sempre que possível, use os perfis do IAM, por fornecerem credenciais temporárias. Para obter detalhes, consulte Práticas recomendadas de segurança no IAM no Guia do usuário do IAM.
-
(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).
-
Escolha Próximo.
-
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 detalhes, consulte Política de chaves padrão.
As práticas recomendadas do IAM não encorajam o uso de usuários do IAM com credenciais de longo prazo. Sempre que possível, use os perfis do IAM, por fornecerem credenciais temporárias. Para obter detalhes, consulte Práticas recomendadas de segurança no IAM no Guia do usuário do IAM.
-
(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 ), escolha Add another Conta da AWS (Adicionar outra ) 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 ter mais informações, consulte Permitir que usuários de outras contas usem uma chave do KMS.
-
Escolha Próximo.
-
Revise as configurações que você escolheu. Ainda é possível voltar e alterar todas as configurações.
-
Selecione Finish (Concluir) para criar a chave do 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)
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, SIGN_VERIFY ou KEY_AGREEMENT. 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.
Importante
Não inclua informações confidenciais ou sigilosas nos campos Description
ou Tags
. Esses campos podem aparecer em texto simples nos logs do CloudTrail e em outras saídas.
Criar um par de chaves do KMS assimétricas para criptografia pública
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 } }
Criar um par de chaves do KMS assimétricas para assinatura e verificação
O exemplo de comando a seguir cria uma chave do KMS assimétrica que representa um par de chaves ECC 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" } }
Criar um par de chaves do KMS assimétricas para derivar segredos compartilhados
O exemplo de comando a seguir cria uma chave do KMS assimétrica que representa um par de chaves ECDH usado para derivar segredos compartilhados. 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_P256 --key-usage KEY_AGREEMENT
{ "KeyMetadata": { "AWSAccountId": "111122223333", "KeyId": "0987dcba-09fe-87dc-65ba-ab0987654321", "Arn": "arn:aws:kms:us-west-2:111122223333:key/0987dcba-09fe-87dc-65ba-ab0987654321", "CreationDate": "2023-12-27T19:10:15.063000+00:00", "Enabled": true, "Description": "", "KeyUsage": "KEY_AGREEMENT", "KeyState": "Enabled", "Origin": "AWS_KMS", "KeyManager": "CUSTOMER", "CustomerMasterKeySpec": "ECC_NIST_P256", "KeySpec": "ECC_NIST_P256", "KeyAgreementAlgorithms": [ "ECDH" ], "MultiRegion": false } }