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á.
AWS KMS conceitos
Aprenda os termos e conceitos básicos usados em AWS Key Management Service (AWS KMS) e como eles funcionam juntos para ajudar a proteger seus dados.
Tópicos
- AWS KMS keys
- Chaves e AWS chaves do cliente
- Chaves do KMS de criptografia simétrica
- Chaves do KMS assimétricas
- Chaves do KMS de HMAC
- Chaves de dados
- Pares de chaves de dados
- Aliases
- Armazenamentos de chaves personalizados
- Operações criptográficas
- Identificadores-chave () KeyId
- Material de chave
- Origem do material de chave
- Especificação da chave
- Uso da chave
- Criptografia de envelope
- Contexto de criptografia
- Política de chaves
- Concessão
- Auditar o uso de chaves do KMS
- Infraestrutura de gerenciamento de chaves
AWS KMS keys
AWS KMS keys (chaves KMS) são o principal recurso em AWS KMS. É possível usar uma chave do KMS para criptografar, descriptografar e recriptografar dados. Ele também pode gerar chaves de dados que você pode usar fora do AWS KMS. Normalmente, você usará chaves do KMS de criptografia simétrica, mas pode criar e usar chaves do KMS assimétricas para criptografia ou assinatura, além de criar e usar chaves do KMS de Hash-based message authentication code (HMAC – Código de autenticação de mensagem por hash) para gerar e verificar tags de HMAC.
nota
AWS KMS está substituindo o termo chave mestra do cliente (CMK) por uma AWS KMS keychave KMS. O conceito não mudou. Para evitar alterações significativas, AWS KMS está mantendo algumas variações desse termo.
Uma AWS KMS key é uma representação lógica de uma chave criptográfica. Uma chave do KMS contém metadados, como o ID da chave, especificação de chave, uso da chave, data de criação, descrição e estado da chave. O mais importante é que ela contém uma referência ao material de chave que é usado quando você realiza operações de criptografia com a chave do KMS.
Você pode criar uma chave KMS com material de chave criptográfica gerado em módulos de segurança de hardware validados pelo AWS KMS FIPS
Por padrão, AWS KMS cria o material de chave para uma chave KMS. Você não pode extrair, exportar, visualizar ou gerenciar esse material de chaves. A única exceção é a chave pública de um par de chaves assimétricas, que você pode exportar para uso fora da AWS. Além disso, não é possível excluir esse material de chave. Você deve excluir a chave do KMS. No entanto, você pode importar seu próprio material de chaves para uma chave KMS ou usar um armazenamento de chaves personalizado para criar chaves KMS que usem material de chaves em seu AWS CloudHSM cluster ou material de chaves em um gerenciador de chaves externo que você possui e gerencia fora dele. AWS
AWS KMS também oferece suporte a chaves multirregionais, que permitem criptografar dados em uma Região da AWS e descriptografá-los em outra. Região da AWS
Para obter mais informações sobre como criar e gerenciar chaves do KMS, consulte Gerenciar chaves do . Para obter mais informações sobre como usar chaves do KMS, consulte a Referência de APIs do AWS Key Management Service.
Chaves e AWS chaves do cliente
As chaves do KMS que você cria são chaves gerenciadas pelo cliente. Os serviços da AWS que usam chaves do KMS para criptografar seus recursos dos serviços geralmente criam chaves para você. As chaves KMS serviços da AWS criadas em sua AWS conta são Chaves gerenciadas pela AWS. As chaves KMS serviços da AWS criadas em uma conta de serviço são Chaves pertencentes à AWS.
Tipo de chave do KMS | Pode visualizar metadados da chave do KMS | Pode gerenciar a chave do KMS | Usado apenas para o meu Conta da AWS | Rotação automática | Definição de preço |
---|---|---|---|---|---|
Chave gerenciada pelo cliente | Sim | Sim | Sim | Opcional. A cada ano (aproximadamente 365 dias) | Tarifa mensal (proporcional por hora) Tarifa por uso |
Chave gerenciada pela AWS | Sim | Não | Sim | Obrigatório. A cada ano (aproximadamente 365 dias) | Nenhuma tarifa mensal Taxa por uso (alguns serviços da AWS pagam essa taxa para você) |
Chave pertencente à AWS | Não | Não | Não | Varia | Nenhuma tarifa |
AWS os serviços que se integram AWS KMS diferem em seu suporte às chaves KMS. Alguns AWS serviços criptografam seus dados por padrão com um Chave pertencente à AWS ou um Chave gerenciada pela AWS. Alguns AWS serviços oferecem suporte a chaves gerenciadas pelo cliente. Outros AWS serviços oferecem suporte a todos os tipos de chaves KMS para permitir a facilidade Chave pertencente à AWS, a visibilidade de uma Chave gerenciada pela AWS chave ou o controle de uma chave gerenciada pelo cliente. Para obter informações detalhadas sobre as opções de criptografia que um AWS serviço oferece, consulte o tópico Criptografia em repouso no guia do usuário ou no guia do desenvolvedor do serviço.
Chaves gerenciadas pelo cliente
As chaves do KMS que você cria são chaves gerenciadas pelo cliente. As chaves gerenciadas pelo cliente são chaves KMS Conta da AWS que você cria, possui e gerencia. Você tem controle total sobre essas chaves do KMS, incluindo estabelecer e manter suas políticas de chaves, políticas do IAM e concessões, além de habilitá-las e desabilitá-las, alternar seu material criptográfico, adicionar etiquetas, criar aliases que fazem referência às chaves do KMS e programar a exclusão de chaves do KMS.
Chaves gerenciadas pelo cliente são exibidas na página Customer managed keys (Chaves gerenciadas pelo cliente) do AWS Management Console
para o AWS KMS. Para identificar definitivamente uma chave gerenciada pelo cliente, use a DescribeKeyoperação. Para chaves gerenciadas pelo cliente, o valor do campo KeyManager
da resposta DescribeKey
é CUSTOMER
.
Você pode usar suas chaves gerenciadas pelo cliente em operações de criptografia e auditar o uso em logs do AWS CloudTrail . Além disso, muitos serviços da AWS que se integram com o AWS KMS permitem que você especifique uma chave gerenciada pelo cliente para proteger os dados armazenados e gerenciados.
Chaves gerenciadas pelo cliente geram uma taxa mensal e uma taxa para uso que excede o nível gratuito. Eles são contabilizados nas AWS KMS cotas da sua conta. Para obter mais detalhes, consulte AWS Key Management Service Definição de preço
Chaves gerenciadas pela AWS
Chaves gerenciadas pela AWSsão chaves KMS em sua conta que são criadas, gerenciadas e usadas em seu nome por um AWS serviço integrado a. AWS KMS
Alguns AWS serviços permitem que você escolha uma chave gerenciada pelo cliente Chave gerenciada pela AWS ou uma chave gerenciada pelo cliente para proteger seus recursos nesse serviço. Em geral, a menos que você precise controlar a chave de criptografia que protege seus recursos, uma Chave gerenciada pela AWS é uma boa escolha. Você não precisa criar ou manter a chave ou sua política de chave, e nenhuma tarifa mensal é necessária para uma Chave gerenciada pela AWS.
Você tem permissão para visualizá-los Chaves gerenciadas pela AWS em sua conta, visualizar suas principais políticas e auditar seu uso nos AWS CloudTrail registros. No entanto, você não pode alterar nenhuma propriedade Chaves gerenciadas pela AWS, alterná-las, alterar suas políticas de chaves ou programá-las para exclusão. E você não pode usar diretamente Chaves gerenciadas pela AWS em operações criptográficas; o serviço que as cria as usa em seu nome.
Chaves gerenciadas pela AWS aparecem na Chaves gerenciadas pela AWSpágina do AWS Management Console formulário AWS KMS. Você também pode se identificar Chaves gerenciadas pela AWS por seus aliases, que têm o formatoaws/
, comoservice-name
aws/redshift
. Para identificar definitivamente um Chaves gerenciadas pela AWS, use a DescribeKeyoperação. Para Chaves gerenciadas pela AWS, o valor do campo KeyManager
da resposta DescribeKey
é AWS
.
Todos Chaves gerenciadas pela AWS são alternados automaticamente todos os anos. alternarNão é possível alterar essa programação de rotação.
nota
Em maio de 2022, AWS KMS alterou o cronograma de rotação Chaves gerenciadas pela AWS de três em três anos (aproximadamente 1.095 dias) para todos os anos (aproximadamente 365 dias).
Chaves gerenciadas pela AWS Os novos são alternados automaticamente um ano após serem criados e aproximadamente a cada ano a partir de então.
Chaves gerenciadas pela AWS Os existentes são alternados automaticamente um ano após a rotação mais recente e todos os anos a partir de então.
Não há taxa mensal para Chaves gerenciadas pela AWS. Eles podem estar sujeitos a taxas de uso além do nível gratuito, mas alguns AWS serviços cobrem esses custos para você. Para obter detalhes, consulte o tópico Criptografia em repouso, no manual do usuário ou no guia do desenvolvedor do serviço. Para obter mais informações, consulte Definição de preço do AWS Key Management Service
Chaves gerenciadas pela AWS não conte com as cotas de recursos o número de chaves KMS em cada região da sua conta. No entanto, quando usadas em nome de uma entidade principal na sua conta, essas chaves do KMS contam para as cotas de solicitações. Para obter detalhes, consulte Cotas.
Chaves pertencentes à AWS
Chaves pertencentes à AWSsão uma coleção de chaves KMS que um AWS serviço possui e gerencia para uso em várias Contas da AWS. Embora não Chaves pertencentes à AWS estejam na sua Conta da AWS, um AWS serviço pode usar um Chave pertencente à AWS para proteger os recursos da sua conta.
Alguns AWS serviços permitem que você escolha uma chave Chave pertencente à AWS ou uma chave gerenciada pelo cliente. Em geral, a menos que você precise auditar ou controlar a chave de criptografia que protege seus recursos, uma Chave pertencente à AWS é uma boa escolha. Chaves pertencentes à AWS são totalmente gratuitos (sem taxas mensais ou taxas de uso), não contam nas AWS KMS cotas da sua conta e são fáceis de usar. Você não precisa criar ou manter a chave ou sua política de chave.
A rotação de Chaves pertencentes à AWS varia entre os serviços. Para obter informações sobre a rotação de um determinado serviço Chave pertencente à AWS, consulte o tópico Criptografia em repouso no guia do usuário ou no guia do desenvolvedor do serviço.
Chaves do KMS de criptografia simétrica
Ao criar um AWS KMS key, por padrão, você obtém uma chave KMS para criptografia simétrica. Esse é o tipo básico e mais comumente usado de chave do KMS.
Em AWS KMS, uma chave KMS de criptografia simétrica representa uma chave de criptografia AES-GCM de 256 bits, exceto nas regiões da China, onde representa uma chave de criptografia SM4 de 128 bits. O material de chave simétrica nunca sai AWS KMS sem criptografia. Para usar uma chave KMS de criptografia simétrica, você deve ligar. AWS KMS As chaves de criptografia simétrica são usadas na criptografia simétrica, na qual a mesma chave é usada para criptografia e descriptografia. A menos que sua tarefa exija explicitamente criptografia assimétrica, as chaves do KMS de criptografia simétrica, que nunca deixam o AWS KMS descriptografadas, são uma boa opção.
AWS os serviços integrados AWS KMS
Tecnicamente, a especificação da chave para uma chave simétrica é SYMMETRIC_DEFAULT, o uso da chave é ENCRYPT_DECRYPT e o algoritmo de criptografia é SYMMETRIC_DEFAULT. Para obter detalhes, consulte Especificação da chave SYMMETRIC_DEFAULT.
Você pode usar uma chave KMS de criptografia simétrica AWS KMS para criptografar, descriptografar e recriptografar dados e gerar chaves de dados e pares de chaves de dados. Você pode criar chaves do KMS de criptografia simétrica de várias regiões, importar seu próprio material de chaves para uma chave do KMS de criptografia simétrica e criar chaves do KMS de criptografia simétrica em armazenamentos personalizados de chaves. Para obter uma tabela comparando as operações que podem ser realizadas em chaves do KMS de diferentes tipos, consulte Referência de tipos de chaves.
Chaves do KMS assimétricas
É possível criar chaves do KMS assimétricas no AWS KMS. Uma chave do KMS assimétrica representa um par de chave pública e chave privada matematicamente relacionadas. A chave privada nunca sai AWS KMS sem criptografia. Para usar a chave privada, você deve ligar AWS KMS. Você pode usar a chave pública interna AWS KMS chamando as operações da AWS KMS API ou pode baixar a chave pública e usá-la fora dela AWS KMS. Você também pode criar chaves do KMS assimétricas de várias regiões.
Você pode criar chaves KMS assimétricas que representem pares de chaves RSA, pares de chaves de curva elíptica ou pares de chaves SM2 (somente regiões da China). As chaves KMS com pares de chaves RSA podem ser usadas para criptografar ou descriptografar dados ou assinar e verificar mensagens (mas não ambas). As chaves KMS com pares de chaves de curva elíptica recomendados pelo NIST podem ser usadas para assinar e verificar mensagens ou derivar segredos compartilhados (mas não ambos). As chaves KMS com pares de ECC_SECG_P256K1
chaves só podem ser usadas para assinar e verificar mensagens. As chaves KMS com pares de chaves SM2 (somente regiões da China) podem ser usadas para criptografar e descriptografar dados, assinar e verificar mensagens ou derivar segredos compartilhados (você deve escolher um tipo de uso da chave).
Para saber mais sobre como criar e usar chaves do KMS assimétricas, consulte Chaves assimétricas em AWS KMS.
Chaves do KMS de HMAC
Uma chave do KMS de HMAC representa uma chave simétrica de comprimento variável que é usada para gerar e verificar códigos de autenticação de mensagens por hash (HMAC). O material chave de uma chave HMAC nunca sai AWS KMS sem criptografia. Para usar uma chave de HMAC, chame as operações de API GenerateMac
ou VerifyMac
.
Você também pode criar chaves do KMS de HMAC de várias regiões.
Para obter mais informações sobre como criar e usar chaves do KMS de HMAC, consulte Chaves de HMAC no AWS KMS.
Chaves de dados
Chaves de dados são chaves simétricas que você pode usar para criptografar dados, inclusive grandes quantidades de dados e outras chaves de criptografia dos dados. Ao contrário das chaves KMS simétricas, que não podem ser baixadas, as chaves de dados são devolvidas a você para uso fora do. AWS KMS
Quando AWS KMS gera chaves de dados, ele retorna uma chave de dados em texto simples para uso imediato (opcional) e uma cópia criptografada da chave de dados que você pode armazenar com segurança com os dados. Quando estiver pronto para descriptografar os dados, primeiro solicite a descriptografia da chave AWS KMS de dados criptografada.
AWS KMS gera, criptografa e descriptografa chaves de dados. No entanto, AWS KMS não armazena, gerencia ou rastreia suas chaves de dados nem executa operações criptográficas com chaves de dados. Você deve usar e gerenciar chaves de dados fora do AWS KMS. Para obter ajuda para usar as chaves de dados de forma segura, consulte a AWS Encryption SDK.
Criação de uma chave de dados
Para criar uma chave de dados, chame a GenerateDataKeyoperação. AWS KMS gera a chave de dados. Em seguida, ele criptografa uma cópia da chave de dados em uma chave do KMS de criptografia simétrica especificada por você. A operação retorna uma cópia em texto simples da chave de dados e a cópia da chave de dados criptografada de acordo com a chave do KMS. A imagem a seguir mostra essa operação.
AWS KMS também suporta a GenerateDataKeyWithoutPlaintextoperação, que retorna somente uma chave de dados criptografada. Quando precisar usar a chave de dados, peça AWS KMS para descriptografá-la.
Criptografia de dados com uma chave de dados
AWS KMS não é possível usar uma chave de dados para criptografar dados. No entanto, você pode usar a chave de dados fora do AWS KMS, como ao usar OpenSSL ou uma biblioteca de criptografia, como AWS Encryption SDK.
Depois de usar a chave de dados de texto simples para criptografar dados e remova-a da memória assim que possível. Você pode armazenar seguramente as chaves de dados criptografadas com os dados criptografados para que estejam disponíveis para descriptografar os dados.
Descriptografia dos dados com uma chave de dados
Para descriptografar seus dados, passe a chave de dados criptografada para a operação Decrypt. AWS KMS usa sua chave KMS para descriptografar a chave de dados e, em seguida, retorna a chave de dados em texto simples. Use a chave de dados de texto simples para descriptografar seus dados e remove-a da memória assim que possível.
O diagrama a seguir mostra como usar a operação Decrypt
para descriptografar uma chave de dados criptografada.
Como as chaves do KMS inutilizáveis afetam as chaves de dados
Quando uma chave do KMS torna-se inutilizável, o efeito é quase imediato (sujeito a consistência posterior). O estado de chave da chave do KMS é alterado para refletir sua nova condição, e todas as solicitações para usar a chave do KMS em operações de criptografia falham.
No entanto, o efeito nas chaves de dados criptografadas pela chave do KMS e nos dados criptografados pela chave de dados é adiado até que a chave do KMS seja usada novamente, por exemplo, para descriptografar a chave de dados.
As chaves do KMS podem se tornar inutilizáveis por vários motivos, inclusive pelas ações a seguir que você pode executar.
-
Excluir o material de chaves de uma chave do KMS com material de chaves importado ou permitir que o material de chaves importado expire.
-
Desconectar o armazenamento de AWS CloudHSM chaves que hospeda a chave KMS ou excluir a chave do AWS CloudHSM cluster que serve como material de chave para a chave KMS.
-
Desconectar o armazenamento de chaves externas que hospeda a chave do KMS ou qualquer outra ação que interfira nas solicitações de criptografia e descriptografia do proxy de armazenamento de chaves externas, inclusive excluir a chave externa do gerenciador de chaves externas.
Esse efeito é particularmente importante para muitos serviços da AWS que usam chaves de dados para proteger os recursos que o serviço gerencia. O exemplo abaixo usa o Amazon Elastic Block Store (Amazon EBS) e o Amazon Elastic Compute Cloud (Amazon EC2). Diferentes serviços da AWS usam chaves de dados de maneiras diferentes. Para obter detalhes, consulte a seção de proteção de dados do capítulo de segurança do serviço da AWS.
Por exemplo, considere este cenário:
-
Crie um volume do EBS criptografado e especifique uma chave do KMS para protegê-lo. O Amazon EBS solicita AWS KMS o uso da sua chave KMS para gerar uma chave de dados criptografada para o volume. O Amazon EBS armazena a chave de dados criptografada com os metadados do volume.
-
Quando você anexa o volume do EBS a uma instância do EC2, o Amazon EC2 solicita usa a chave do KMS para descriptografar a chave de dados criptografada do volume do EBS. O Amazon EC2 usa a chave de dados no hardware Nitro, que é responsável por criptografar toda a E/S do disco no volume do EBS. A chave de dados persiste no hardware do Nitro, enquanto o volume do EBS está conectado à instância do EC2.
-
Você executa uma ação que torna a chave do KMS inutilizável. Isso não tem efeito imediato na instância de EC2 ou no volume do EBS. O Amazon EC2 usa a chave de dados (e não a chave do KMS) para criptografar toda a E/S de disco enquanto o volume está anexado à instância.
-
No entanto, quando o volume criptografado do EBS é desanexado da instância do EC2, o Amazon EBS remove a chave de dados do hardware do Nitro. Da próxima vez que o volume do EBS for anexado à instância do EC2, a anexação falhará porque o Amazon EBS não consegue usar a chave do KMS para descriptografar a chave de dados criptografada do volume. Para usar o volume do EBS novamente, é necessário tornar a chave do KMS utilizável novamente.
Pares de chaves de dados
Pares de chaves de dados são chaves de dados assimétricas que consistem em uma chave pública e uma chave privada matematicamente relacionadas. Eles são projetados para uso em criptografia e decodificação do lado do cliente ou assinatura e verificação fora do. AWS KMS
Ao contrário dos pares de chaves de dados que ferramentas como o OpenSSL geram AWS KMS , protege a chave privada em cada par de chaves de dados sob uma chave KMS de criptografia simétrica especificada por você. AWS KMS No entanto, AWS KMS não armazena, gerencia nem rastreia seus pares de chaves de dados nem executa operações criptográficas com pares de chaves de dados. É necessário usar e gerenciar pares de chaves fora do AWS KMS.
AWS KMS suporta os seguintes tipos de pares de chaves de dados:
-
Pares de chaves RSA: RSA_2048, RSA_3072 e RSA_4096
-
Pares de chaves de curva elíptica: ECC_NIST_P256, ECC_NIST_P384, ECC_NIST_P521 e ECC_SECG_P256K1
-
Pares de chaves SM (somente nas regiões da China): SM2
O tipo de par de chaves de dados selecionado geralmente depende do caso de uso ou dos requisitos regulatórios. A maioria dos certificados exige chaves RSA. As teclas de curva elíptica são frequentemente usadas para assinaturas digitais ou para derivar segredos compartilhados. As chaves ECC_SECG_P256K1 são comumente usadas para criptomoedas. AWS KMS recomenda que você use pares de chaves ECC para assinatura e use pares de chaves RSA para criptografia ou assinatura, mas não ambas. No entanto, AWS KMS não é possível impor nenhuma restrição ao uso de pares de chaves de dados fora do AWS KMS.
Criar um par de chaves de dados
Para criar um par de chaves de dados, chame as GenerateDataKeyPairWithoutPlaintextoperações GenerateDataKeyPairou. Especifique a chave do KMS de criptografia simétrica que você deseja usar para criptografar a chave privada.
GenerateDataKeyPair
retorna uma chave pública de texto não criptografado, uma chave privada de texto não criptografado e uma chave privada criptografada. use essa operação quando precisar imediatamente de uma chave privada de texto não criptografado, como para gerar uma assinatura digital.
GenerateDataKeyPairWithoutPlaintext
retorna uma chave pública de texto não criptografado e uma chave privada criptografada, mas não uma chave privada de texto não criptografado. Use essa operação quando não precisar imediatamente de uma chave privada de texto não criptografado, como quando você está criptografando uma chave pública. Posteriormente, quando precisar de uma chave privada de texto não criptografado para descriptografar os dados, poderá chamar a operação Decrypt.
A imagem a seguir mostra a operação GenerateDataKeyPair
. A operação GenerateDataKeyPairWithoutPlaintext
omite a chave privada de texto não criptografado.
Criptografar dados com um par de chaves de dados
Ao criptografar com um par de chaves de dados, você usa a chave pública do par para criptografar os dados e a chave privada do mesmo par para descriptografar os dados. Normalmente, pares de chaves de dados são usados quando muitos usuários precisam criptografar dados que só o usuário que tem a chave privada pode descriptografar.
As partes com a chave pública usam essa chave para criptografar dados, conforme mostrado no diagrama a seguir.
Descriptografar dados com um par de chaves de dados
Para descriptografar seus dados, use a chave privada no par de chaves de dados. Para que a operação seja bem-sucedida, as chaves pública e privada devem ser do mesmo par de chaves de dados e você deve usar o mesmo algoritmo de criptografia.
Para descriptografar a chave privada criptografada, transmita-a para a operação Decrypt. Use a chave privada de texto não criptografado para descriptografar os dados. Depois, remova a chave privada de texto não criptografado da memória assim que possível.
O diagrama a seguir mostra como usar a chave privada em um par de chaves de dados para descriptografar texto cifrado.
Assinar mensagens com um par de chaves de dados
Para gerar uma assinatura criptográfica para uma mensagem, use a chave privada no par de chaves de dados. Qualquer pessoa com a chave pública pode usá-la para verificar se a mensagem foi assinada com a chave privada e se ela não foi alterada desde que foi assinada.
Se você criptografar sua chave privada, passe a chave privada criptografada para a operação Decrypt. AWS KMS usa sua chave KMS para descriptografar a chave de dados e, em seguida, retorna a chave privada em texto simples. Use a chave privada de texto não criptografado para gerar a assinatura. Depois, remova a chave privada de texto não criptografado da memória assim que possível.
Para assinar uma mensagem, crie um resumo de mensagens usando uma função de hash criptográfica, como o comando dgst
O diagrama a seguir mostra como usar a chave privada em um par de chaves para assinar a mensagem.
Verificar uma assinatura com um par de chaves de dados
Qualquer pessoa que tenha a chave pública no par de chaves de dados pode usá-la para verificar a assinatura gerada com sua chave privada. A verificação confirma que um usuário autorizado assinou a mensagem com a chave privada e o algoritmo de assinatura especificados, e que a mensagem não foi alterada desde que foi assinada.
Para ser bem-sucedida, a parte que está verificando a assinatura deve gerar o mesmo tipo de resumo, usar o mesmo algoritmo e usar a chave pública que corresponde à chave privada usada para assinar a mensagem.
O diagrama a seguir mostra como usar a chave pública em um par de chaves para verificar a assinatura de uma mensagem.
Derive um segredo compartilhado com pares de chaves de dados
O acordo de chaves permite que dois pares, cada um com um par de chaves pública-privada de curva elíptica, estabeleçam um segredo compartilhado em um canal inseguro. Para obter um segredo compartilhado, os dois pares devem trocar suas chaves públicas pelo canal de comunicação inseguro (como a Internet). Em seguida, cada parte usa sua chave privada e a chave pública de seus pares para calcular o mesmo segredo compartilhado usando um algoritmo de acordo de chave. Você pode usar o valor do segredo compartilhado para derivar uma chave simétrica que possa criptografar e descriptografar dados enviados entre os dois pares ou que possa gerar e verificar HMACs.
nota
AWS KMS é altamente recomendável verificar se a chave pública que você recebe veio da parte esperada antes de usá-la para derivar um segredo compartilhado.
Aliases
Use um alias como um nome amigável para uma chave do KMS. Por exemplo, você pode fazer referência a uma chave do KMS como test-key em vez de 1234abcd-12ab-34cd-56ef-1234567890ab.
Aliases facilitam a identificação de uma chave do KMS no AWS Management Console. Você pode usar um alias para identificar uma chave KMS em algumas AWS KMS operações, incluindo operações criptográficas. Nos aplicativos, você pode usar um único alias para se referir a diferentes chaves KMS em cada um. Região da AWS
Também é possível pode permitir e negar acesso a chaves do KMS com base em aliases sem precisar editar políticas ou gerenciar concessões. Esse recurso faz parte do AWS KMS suporte ao controle de acesso baseado em atributos (ABAC). Para obter detalhes, consulte ABAC para AWS KMS.
Em AWS KMS, os aliases são recursos independentes, não propriedades de uma chave KMS. Dessa forma, você pode adicionar, alterar e excluir um alias sem afetar a chave do KMS associada.
Importante
Não inclua informações confidenciais ou sigilosas no nome do alias. Os aliases podem aparecer em texto simples em CloudTrail registros e outras saídas.
Saiba mais:
-
Para obter informações detalhadas sobre aliases, consulte Usar aliases.
-
Para obter informações sobre os formatos de identificadores de chave, incluindo aliases, consulte Identificadores-chave () KeyId.
-
Para obter ajuda para localizar os aliases associados a uma chave do KMS, consulte Encontrar o nome e o ARN do alias
-
Para obter exemplos de criação e gerenciamento de aliases em várias linguagens de programação, consulte Trabalhar com aliases.
Armazenamentos de chaves personalizados
Um armazenamento de chaves personalizadas é um AWS KMS recurso apoiado por um gerenciador de chaves externo ao AWS KMS que você possui e gerencia. Quando você usa uma chave do KMS em um armazenamento de chaves personalizado para uma operação de criptografia, a operação de criptografia é executada no gerenciador de chaves usando as respectivas chaves de criptografia.
AWS KMS suporta armazenamentos de AWS CloudHSM chaves apoiados por um AWS CloudHSM cluster e armazenamentos de chaves externos que são apoiados por um gerenciador de chaves externo externo AWS.
Para ter mais informações, consulte Armazenamentos de chaves personalizados.
Operações criptográficas
Em AWS KMS, as operações criptográficas são operações de API que usam chaves KMS para proteger dados. Como as chaves KMS permanecem dentro AWS KMS, você deve ligar AWS KMS para usar uma chave KMS em uma operação criptográfica.
Para realizar operações criptográficas com chaves KMS, use os AWS SDKs, AWS Command Line Interface (AWS CLI) ou o. AWS Tools for PowerShell Não é possível executar operações de criptografia no console do AWS KMS . Para obter exemplos de chamadas de operações de criptografia em várias linguagens de programação, consulte Programação da API do AWS KMS.
A tabela a seguir lista as operações AWS KMS criptográficas. Ela também mostra os requisitos de tipo de chave e uso de chave para chaves do KMS usadas na operação.
Operation | Tipo de chave | Uso da chave |
---|---|---|
Decrypt | Simétrico ou assimétrico | ENCRYPT_DECRYPT |
DeriveSharedSecret | Assimétrica | KEY_AGREEMENT |
Encrypt | Simétrico ou assimétrico | ENCRYPT_DECRYPT |
GenerateDataKey | Simétrica | ENCRYPT_DECRYPT |
GenerateDataKeyPair | Simétrica [1] Não é compatível com chaves do KMS em armazenamentos de chaves personalizados. |
ENCRYPT_DECRYPT |
GenerateDataKeyPairWithoutPlaintext | Simétrica [1] Não é compatível com chaves do KMS em armazenamentos de chaves personalizados. |
ENCRYPT_DECRYPT |
GenerateDataKeyWithoutPlaintext | Simétrica | ENCRYPT_DECRYPT |
GenerateMac | HMAC | GENERATE_VERIFY_MAC |
GenerateRandom | N/D. Essa operação não usa uma chave do KMS. | N/D |
ReEncrypt | Simétrico ou assimétrico | ENCRYPT_DECRYPT |
Sign | Assimétrica | SIGN_VERIFY |
Verificar | Assimétrica | SIGN_VERIFY |
VerifyMac | HMAC | GENERATE_VERIFY_MAC |
[1] Gera um par de chaves de dados assimétricas que é protegido por uma chave do KMS de criptografia simétrica.
Para obter informações sobre as permissões para operações de criptografia, consulte a AWS KMS permissões.
Para tornar AWS KMS responsivo e altamente funcional para todos os usuários, AWS KMS estabelece cotas no número de operações criptográficas chamadas em cada segundo. Para obter detalhes, consulte Cotas compartilhadas para operações de criptografia.
Identificadores-chave () KeyId
Identificadores de chave atuam como nomes para suas chaves do KMS. Eles ajudam a reconhecer suas chaves do KMS no console. Você poderá usá-las para indicar quais chaves do KMS deseja usar em operações de API do AWS KMS , políticas do IAM e concessões. Os valores do identificador de chave não estão completamente relacionados ao material de chaves associado à chave KMS.
AWS KMS define vários identificadores-chave. Quando você cria uma chave KMS, AWS KMS gera um ARN e ID da chave, que são propriedades da chave KMS. Quando você cria um alias, AWS KMS gera um ARN de alias com base no nome do alias que você define. Você pode ver os identificadores de chave e alias na AWS Management Console e na AWS KMS API.
No AWS KMS console, você pode visualizar e filtrar as chaves KMS pelo ARN da chave, ID da chave ou nome do alias e classificar por ID da chave e nome do alias. Para obter ajuda para encontrar os identificadores de chave no console, consulte Como encontrar o ID e o ARN da chave.
Na AWS KMS API, os parâmetros que você usa para identificar uma chave KMS são nomeados KeyId
ou uma variação, como TargetKeyId
ouDestinationKeyId
. No entanto, os valores desses parâmetros não estão limitados a IDs de chave. Alguns podem usar qualquer identificador de chave válido. Para obter informações sobre os valores de cada parâmetro, consulte a descrição do parâmetro na Referência da AWS Key Management Service API.
nota
Ao usar a AWS KMS API, tenha cuidado com o identificador de chave que você usa. APIs diferentes requerem identificadores de chave diferentes. Em geral, use o identificador de chave mais completo e prático para a sua tarefa.
AWS KMS suporta os seguintes identificadores-chave.
- ARN de chave
-
O ARN de chave é o Amazon Resource Name (ARN) de uma chave do KMS. É um identificador exclusivo e totalmente qualificado para a chave do KMS. O ARN da chave inclui a Conta da AWS região e o ID da chave. Para obter ajuda para encontrar o ARN de chave de uma chave do KMS, consulte Como encontrar o ID e o ARN da chave.
O formato de um ARN de chave é o seguinte:
arn:
<partition>
:kms:<region>
:<account-id>
:key/<key-id>
Veja a seguir um exemplo de ARN de chave para uma chave do KMS de região única.
arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
O elemento
key-id
dos ARNs de chaves de várias regiões começa com o prefixomrk-
. Veja a seguir um exemplo de ARN de chave para uma chave do KMS de várias regiões.arn:aws:kms:us-west-2:111122223333:key/mrk-1234abcd12ab34cd56ef1234567890ab
- ID da chave
-
O ID de chave identifica exclusivamente uma chave do KMS dentro de uma conta e uma região. Para obter ajuda para encontrar o ID de chave de uma chave do KMS, consulte Como encontrar o ID e o ARN da chave.
Veja a seguir um exemplo de ID de chave para uma chave do KMS de região única.
1234abcd-12ab-34cd-56ef-1234567890ab
Os IDs de chave de chaves de várias regiões começam com o prefixo
mrk-
. Veja a seguir um exemplo de ID de chave para uma chave do KMS de várias regiões.mrk-1234abcd12ab34cd56ef1234567890ab
- ARN do alias
-
O alias ARN é o Amazon Resource Name (ARN) de um alias. AWS KMS É um identificador exclusivo e totalmente qualificado para o alias e para a chave do KMS que ele representa. Um ARN de alias inclui Conta da AWS a Região e o nome do alias.
A qualquer momento, um ARN de alias identificará uma chave do KMS específica. No entanto, como é possível alterar a chaves do KMS associada ao alias, o ARN do alias pode identificar diferentes chaves do KMS em momentos diferentes. Para obter ajuda para encontrar o ARN de alias de uma chave do KMS, consulte Encontrar o nome e o ARN do alias.
O formato de um ARN de alias é o seguinte:
arn:
<partition>
:kms:<region>
:<account-id>
:alias/<alias-name>
Veja a seguir o ARN de alias de um fictício
ExampleAlias
.arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias
- Nome do alias
-
O nome do alias é uma string com até 256 caracteres. Ele identifica exclusivamente uma chave do KMS associada em uma conta e uma região. Na AWS KMS API, os nomes de alias sempre começam com
alias/
. Para obter ajuda para encontrar o nome de alias de uma chave do KMS, consulte Encontrar o nome e o ARN do alias.O formato de um nome de alias é o seguinte:
alias/
<alias-name>
Por exemplo:
alias/ExampleAlias
O prefixo
aws/
de um nome de alias é reservado para Chaves gerenciadas pela AWS. Não é possível criar um alias com esse prefixo. Por exemplo, o nome de alias do Chave gerenciada pela AWS Amazon Simple Storage Service (Amazon S3) é o seguinte.alias/aws/s3
Material de chave
O material de chave é a string de bits usada em um algoritmo criptográfico. O material de chave secreta deve ser mantido em segredo para proteger as operações de criptografia que o utilizam. O material de chave pública foi projetado para ser compartilhado.
Cada chave do KMS inclui uma referência ao material de chave em seus metadados. A origem do material de chave de chaves do KMS de criptografia simétrica pode variar. Você pode usar o material chave que AWS KMS gera, o material chave que é gerado no AWS CloudHSM cluster de um armazenamento de chaves personalizado ou importar seu próprio material de chave. Se você usar material de AWS KMS chave para sua chave KMS de criptografia simétrica, poderá ativar a rotação automática de seu material de chaves.
Por padrão, cada chave do KMS tem material de chave exclusivo. No entanto, você pode criar um conjunto de chaves de várias regiões com o mesmo material de chave.
Origem do material de chave
A origem do material de chave é uma propriedade da chave do KMS que identifica a origem do material de chave na chave do KMS. Você escolhe a origem do material de chave ao criar a chave do KMS e não é possível alterá-la. A origem do material de chave afeta as características de segurança, durabilidade, disponibilidade, latência e throughput da chave do KMS.
Para encontrar a origem do material de chave de uma chave KMS, use a DescribeKeyoperação ou veja o valor da origem na guia Configuração criptográfica da página de detalhes de uma chave KMS no console. AWS KMS Para obter ajuda, consulte Visualizar chaves.
As chaves do KMS podem ter um dos valores de origem de material de chave a seguir.
AWS_KMS
-
AWS KMS cria e gerencia o material chave para a chave KMS em seu próprio armazenamento de chaves. Esse é o valor padrão e o recomendado para a maioria das chaves do KMS.
Para obter ajuda na criação de chaves com o material chave de AWS KMS, consulteCriar chaves.
EXTERNAL (Import key material)
-
A chave do KMS tem material de chave importado. Quando uma chave do KMS é criada com uma origem de material de chave
External
, ela não tem material de chave. Mais tarde, você poderá importar material de chave para a chave do KMS. Ao usar material de chave importado, você precisa proteger e gerenciar esse material de chave externamente AWS KMS, inclusive substituindo o material de chave se ele expirar. Para obter mais detalhes, consulte Sobre o material de chave importada.Para obter ajuda na criação de uma chave do KMS para material de chave importado, consulte Etapa 1: criar uma chave do KMS sem material de chave.
AWS_CLOUDHSM
-
AWS KMS cria o material chave no AWS CloudHSM cluster para seu armazenamento de AWS CloudHSM chaves.
Para obter ajuda na criação de uma chave KMS em um armazenamento de AWS CloudHSM chaves, consulteCriar chaves do KMS em um armazenamento de chaves do AWS CloudHSM.
EXTERNAL_KEY_STORE
-
O material chave é uma chave criptográfica em um gerenciador de AWS chaves externo externo. Essa origem é compatível somente com chaves do KMS em um armazenamento de chaves externas.
Para obter ajuda na criação de uma chave do KMS em um armazenamento de chaves externas, consulte Criar chaves do KMS em um armazenamento de chaves externas.
Especificação da chave
A especificação da chave é uma propriedade que representa a configuração criptográfica de uma chave. O significado da especificação de chave difere com o tipo de chave.
-
AWS KMS keys — A especificação da chave determina se a chave KMS é simétrica ou assimétrica. Ela também determina o tipo do material de chave e os algoritmos compatíveis. Você escolhe a especificação de chave ao criar a chave do KMS e não pode alterá-la. A especificação de chaves padrão, SYMMETRIC_DEFAULT, representa uma chave de criptografia simétrica de 256 bits.
nota
A
KeySpec
de uma chave do KMS era conhecida comoCustomerMasterKeySpec
. OCustomerMasterKeySpec
parâmetro da CreateKeyoperação está obsoleto. Em vez disso, use o parâmetroKeySpec
, que funciona da mesma maneira. Para evitar alterações significativas, a resposta das DescribeKeyoperaçõesCreateKey
e agora inclui ambosKeySpec
eCustomerMasterKeySpec
membros com os mesmos valores.Para obter uma lista de especificações de chave e ajuda com a escolha de uma especificação de chave, consulte Selecionar a especificação de chave. Para encontrar a especificação chave de uma chave KMS, use a DescribeKeyoperação ou consulte a guia Configuração criptográfica na página de detalhes de uma chave KMS no console. AWS KMS Para obter ajuda, consulte Visualizar chaves.
Para limitar as principais especificações que os diretores podem usar ao criar chaves KMS, use a chave kms: condition. KeySpec Você também pode usar a chave de
kms:KeySpec
condição para permitir que os diretores chamem AWS KMS operações somente em chaves KMS com uma especificação de chave específica. Por exemplo, é possível negar permissão para programar a exclusão de qualquer chave do KMS com uma especificação de chaveRSA_4096
. -
Chaves de dados (GenerateDataKey) — A especificação da chave determina o comprimento de uma chave de dados AES.
-
Pares de chaves de dados (GenerateDataKeyPair) — A especificação do par de chaves determina o tipo de material de chave no par de chaves de dados.
Uso da chave
O uso da chave é uma propriedade que determina as operações de criptografia compatíveis com a chave. As chaves KMS podem ter um uso de chave deENCRYPT_DECRYPT
, SIGN_VERIFY
GENERATE_VERIFY_MAC
, ouKEY_AGREEMENT
. Cada chave do KMS pode ter apenas um uso de chave. O uso de uma chave do KMS para mais de um tipo de operação torna o produto de ambas as operações mais vulnerável a ataques.
Para obter ajuda na escolha do uso da chave do KMS, consulte Selecionar o uso de chave. Para encontrar o uso da chave KMS, use a DescribeKeyoperação ou escolha a guia Configuração criptográfica na página de detalhes de uma chave KMS no console. AWS KMS Para obter ajuda, consulte Visualizar chaves.
Criptografia de envelope
Quando você criptografa seus dados, os dados são protegidos, mas é necessário proteger a chave de criptografia. Uma estratégia é para criptografá-la. Criptografia de envelope é a prática de criptografar dados de texto simples com uma chave de dados e criptografar a chave de dados em outra chave.
Você pode até mesmo criptografar a chave de criptografia dos dados em outra chave de criptografia e criptografar essa chave de criptografia em outra chave de criptografia. Mas em algum momento deverá manter uma chave em texto simples para que possa descriptografar as chaves e seus dados. Essa chave de criptografia em texto simples de nível superior é chamada de chave raiz.
AWS KMS ajuda você a proteger suas chaves de criptografia armazenando-as e gerenciando-as com segurança. As chaves raiz armazenadas AWS KMS, conhecidas como AWS KMS keys, nunca deixam os módulos de segurança de hardware validados pelo AWS KMS FIPS
A criptografia de envelope oferece vários benefícios:
-
Proteção de chaves de dados
Quando você criptografa uma chave de dados, não precisa se preocupar em armazenar a chave de dados criptografada porque a chave de dados é inerentemente protegida pela criptografia. A chave de dados criptografada pode ser armazenada com segurança junto com os dados criptografados.
-
Criptografar os mesmos dados com várias chaves
As operações de criptografia podem ser demoradas, especialmente quando os dados que estão sendo criptografados são objetos grandes. Em vez de recriptografar dados brutos várias vezes com diferentes chaves, você pode recriptografar somente as chaves de dados que protegem os dados brutos.
-
Combinação de pontos fortes de vários algoritmos
Em geral, os algoritmos de chave simétrica são mais rápidos e geram textos cifrados menores do que os algoritmos de chave pública. No entanto, os algoritmos de chave pública fornecem separação inerente de funções e gerenciamento de chaves mais fácil. A criptografia de envelope permite associar os pontos fortes de cada estratégia.
Contexto de criptografia
Todas as operações AWS KMS criptográficas com chaves KMS de criptografia simétrica aceitam um contexto de criptografia, um conjunto opcional de pares de chave-valor não secretos que podem conter informações contextuais adicionais sobre os dados. AWS KMS usa o contexto de criptografia como dados autenticados adicionais (AAD) para oferecer suporte à criptografia autenticada.
Ao incluir um contexto de criptografia em uma solicitação de criptografia, ele é vinculado de maneira criptográfica ao texto cifrado, de modo que o mesmo contexto de criptografia seja necessário para descriptografar (ou descriptografar e criptografar novamente) os dados. Se o contexto de criptografia fornecido na solicitação de descriptografia não é uma correspondência exata, com distinção entre maiúsculas e minúsculas, a solicitação de descriptografia falha. Somente a ordem dos pares de chave-valor no contexto de criptografia pode variar.
nota
Não é possível especificar um contexto de criptografia em uma operação criptográfica com uma chave do KMS assimétrica ou uma chave do KMS de Hash-based message authentication code (HMAC – Código de autenticação de mensagem por hash). Algoritmos assimétricos e algoritmos de Message authentication code (MAC – Código de autenticação de mensagem) não são compatíveis com um contexto de criptografia.
O contexto de criptografia não é secreto nem criptografado. Ele é exibido em texto simples em Logs do AWS CloudTrail, para você possa usá-lo para identificar e categorizar suas operações de criptografia. Seu contexto de criptografia não deve incluir informações confidenciais. Recomendamos que o seu contexto de criptografia descreva os dados que estão sendo criptografados ou descriptografados. Por exemplo, quando você criptografar um arquivo, poderá usar parte do caminho do arquivo como contexto de criptografia.
"encryptionContext": { "department": "10103.0" }
Por exemplo, ao criptografar volumes e snapshots criados com a operação Amazon Elastic Block Store (Amazon EBS) CreateSnapshot, o Amazon EBS usa o ID do volume como valor do contexto de criptografia.
"encryptionContext": { "aws:ebs:id": "
vol-abcde12345abc1234
" }
Você também pode usar o contexto de criptografia para refinar ou limitar o acesso à AWS KMS keys sua conta. Você pode usar o contexto de criptografia como uma restrição em concessões e como uma condição nas declarações de política.
Para saber como usar o contexto de criptografia para proteger a integridade dos dados criptografados, consulte a postagem Como proteger a integridade de seus dados criptografados usando AWS Key Management Service e EncryptionContext
Mais informações sobre contexto de criptografia.
AWS KMS impõe as seguintes regras para chaves e valores de contexto de criptografia.
-
A chave e o valor em um par de contexto de criptografia devem ser strings literais simples. Se você usar um tipo diferente, como um número inteiro ou flutuante, AWS KMS interprete-o como uma string.
-
As chaves e valores em um contexto de criptografia podem incluir caracteres Unicode. Se um contexto de criptografia incluir caracteres que não são permitidos em políticas de chaves ou políticas do IAM, você não poderá especificar o contexto de criptografia em chaves de condição de política, como kms:EncryptionContext:context-key e kms:EncryptionContextKeys. Para obter detalhes sobre as regras de documento de política de chaves, consulte Formato de política de chaves. Para obter detalhes sobre as regras de documento de política do IAM, consulte Requisitos de nome do IAM no Guia do usuário do IAM.
O contexto de criptografia é usado principalmente para verificar a integridade e a autenticidade. No entanto, também é possível usar o contexto de criptografia para controlar o acesso a AWS KMS keys de criptografia simétrica em políticas de chave e em políticas do IAM.
As chaves de EncryptionContextKeys condição kmsEncryptionContext:: e kms: permitem (ou negam) uma permissão somente quando a solicitação inclui chaves de contexto de criptografia específicas ou pares de valores-chave.
Por exemplo, a instrução de política de chave a seguir permite que a função RoleForExampleApp
use a chave do KMS em operações Decrypt
. Ela usa a chave da condição kms:EncryptionContext:context-key
para conceder essa permissão somente quando o contexto de criptografia na solicitação inclui um par de contexto de criptografia AppName:ExampleApp
.
{ "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/RoleForExampleApp" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringEquals": { "kms:EncryptionContext:AppName": "ExampleApp" } } }
Para obter mais informações sobre essas chaves de condição de contexto de criptografia, consulte Chaves de condição para AWS KMS.
Ao criar uma concessão, você pode incluir restrições de concessão que estabeleçam condições para as permissões de concessão. AWS KMS suporta duas restrições de concessão EncryptionContextEquals
e EncryptionContextSubset
ambas envolvem o contexto de criptografia em uma solicitação de uma operação criptográfica. Quando você usa essas restrições de concessão, as permissões na concessão são efetivas apenas quando o contexto de criptografia na solicitação para a operação criptográfica atende aos requisitos das restrições de concessão.
Por exemplo, você pode adicionar uma restrição de EncryptionContextEquals
concessão a uma concessão que permita a GenerateDataKeyoperação. Com essa restrição, a concessão permite a operação apenas quando o contexto de criptografia na solicitação é uma correspondência com maiúsculas e minúsculas ao contexto de criptografia na restrição de concessão.
$
aws kms create-grant \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --grantee-principal arn:aws:iam::111122223333:user/exampleUser \ --retiring-principal arn:aws:iam::111122223333:role/adminRole \ --operations GenerateDataKey \ --constraints EncryptionContextEquals={Purpose=Test}
Uma solicitação como a seguinte da entidade principal receptora da concessão atenderia à restrição EncryptionContextEquals
.
aws kms generate-data-key \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --key-spec AES_256 \ --encryption-context Purpose=Test
$
Para obter detalhes sobre as restrições de concessão, consulte Usar restrições de concessão. Para obter informações detalhadas sobre concessões, consulte Subsídios em AWS KMS.
AWS KMS usa AWS CloudTrail para registrar o contexto de criptografia para que você possa determinar quais chaves e dados do KMS foram acessados. A entrada de log mostra exatamente quais chaves do KMS foram usada para criptografar ou descriptografar dados específicos referenciados pelo contexto de criptografia na entrada de log.
Importante
Como o contexto de criptografia é registrado em log, ele não deve conter informações confidenciais.
Para simplificar o uso de qualquer contexto de criptografia quando você chama as operações Decrypt
ou ReEncrypt
, é possível armazenar o contexto de criptografia com os dados criptografados. Recomendamos que você armazene apenas o suficiente do contexto de criptografia para ajudar a criar o contexto de criptografia por completo quando você precisar dele para criptografia ou descriptografia.
Por exemplo, se o contexto de criptografia é o caminho para um arquivo, armazene apenas parte desse caminho com o conteúdo do arquivo criptografado. Quando você precisar do contexto de criptografia completo, reconstrua-o do fragmento armazenado. Se alguém tentar violar o arquivo, como renomear ou mover para um local diferente, o valor do contexto de criptografia será alterado e a solicitação de descriptografia falhará.
Política de chaves
Ao criar uma chave do KMS, você determina quem pode usar e gerenciar essa chave do KMS. Essas permissões estão contidas em um documento chamado política de chaves. É possível usar a política de chaves para adicionar, remover ou alterar permissões a qualquer momento para uma chave gerenciada pelo cliente. Mas você não pode editar a política de chaves para um Chaves gerenciadas pela AWS. Para ter mais informações, consulte Políticas-chave em AWS KMS.
Concessão
Um subsídio é um instrumento político que permite que AWS os diretores AWS KMS keys usem em operações criptográficas. Também permite que eles visualizem uma chave KMS (DescribeKey) e criem e gerenciem concessões. Ao autorizar o acesso a uma chave do KMS, concessões são consideradas junto com políticas de chave e políticas do IAM. Concessões geralmente são usadas para permissões temporárias, pois você pode criar uma, usar suas permissões e excluí-la sem alterar suas principais políticas ou políticas do IAM. Como concessões podem ser muito específicas e são fáceis de criar e revogar, elas geralmente são usadas para fornecer permissões temporárias ou permissões mais detalhadas.
Para obter informações detalhadas sobre concessões, incluindo a terminologia de concessões, consulte Subsídios em AWS KMS.
Auditar o uso de chaves do KMS
Você pode usar AWS CloudTrail para auditar o uso da chave. CloudTrail cria arquivos de log que contêm um histórico de chamadas de AWS API e eventos relacionados à sua conta. Esses arquivos de log incluem todas as solicitações de AWS KMS API feitas com o AWS Management Console, AWS SDKs e ferramentas de linha de comando. Os arquivos de log também incluem solicitações AWS KMS que AWS os serviços fazem em seu nome. É possível usar esses arquivos de log para encontrar informações importantes, incluindo quando a chave do KMS foi usada, a operação solicitada, a identidade do solicitante e o endereço IP de origem. Para obter mais informações, consulte Fazendo login com AWS CloudTrail e o Manual do usuário do AWS CloudTrail.
Infraestrutura de gerenciamento de chaves
Uma prática comum na criptografia é criptografar e descriptografar com um algoritmo revisado em pares e publicamente disponível, por exemplo, AES (Advanced Encryption Standard) e uma chave secreta. Um dos principais problemas na criptografia é a grande dificuldade de manter uma chave secreta. Normalmente, esse é o trabalho de uma infraestrutura de gerenciamento de chaves (KMI). AWS KMS opera a infraestrutura principal para você. AWS KMS cria e armazena com segurança suas chaves raiz, chamadas. AWS KMS keys Para obter mais informações sobre como AWS KMS opera, consulte Detalhes AWS Key Management Service criptográficos.