Armazenamentos de chaves externas - AWS Key Management Service

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

Armazenamentos de chaves externas

Os armazenamentos externos de chaves permitem que você proteja seus AWS recursos usando chaves criptográficas externas. AWS Esse recurso avançado foi criado para workloads regulamentadas que você precisa proteger com chaves de criptografia armazenadas em um sistema de gerenciamento de chaves externas que você controla. Os armazenamentos externos de chaves apoiam o compromisso de soberania AWS digital de dar a você controle soberano sobre seus dados AWS, incluindo a capacidade de criptografar com material chave que você possui e controla externamente. AWS

Um armazenamento de chaves externo é um armazenamento de chaves personalizado apoiado por um gerenciador de chaves externo que você possui e gerencia fora dele AWS. Seu gerenciador de chaves externas pode ser um módulo de segurança de hardware (HSMs) físico ou virtual ou qualquer sistema baseado em hardware ou software capaz de gerar e usar chaves de criptografia. As operações de criptografia e descriptografia que usam uma chave do KMS em um armazenamento de chaves externas são realizadas pelo gerenciador de chaves externas usando seu material de chave de criptografia, um recurso conhecido como hold your own keys (HYOKs).

AWS KMS nunca interage diretamente com seu gerenciador de chaves externo e não pode criar, visualizar, gerenciar ou excluir suas chaves. Em vez disso, AWS KMS interage somente com o software proxy externo de armazenamento de chaves (proxy XKS) fornecido por você. Seu proxy externo de armazenamento de chaves medeia toda a comunicação entre AWS KMS e seu gerenciador de chaves externo. Ele transmite todas as solicitações AWS KMS para o seu gerenciador de chaves externo e transmite as respostas do seu gerenciador de chaves externo de volta para o. AWS KMS O proxy externo do armazenamento de chaves também traduz solicitações genéricas AWS KMS em um formato específico do fornecedor que seu gerente de chaves externo possa entender, permitindo que você use armazenamentos de chaves externos com gerenciadores de chaves de vários fornecedores.

Você pode usar chaves do KMS em um armazenamento de chaves externas para criptografia do lado do cliente, inclusive com o AWS Encryption SDK. Mas os armazenamentos externos de chaves são um recurso importante para a criptografia do lado do servidor, permitindo que você proteja seus AWS recursos de forma múltipla Serviços da AWS com suas chaves criptográficas externas. AWS Serviços da AWS que oferecem suporte a chaves gerenciadas pelo cliente para criptografia simétrica também oferecem suporte a chaves KMS em um armazenamento de chaves externo. Para obter detalhes sobre o suporte para serviços, consulte AWS Service Integration (Integração de produtos da ).

Os armazenamentos externos de chaves permitem que você use AWS KMS para cargas de trabalho regulamentadas, nas quais as chaves de criptografia devem ser armazenadas e usadas fora do AWS. Mas eles são um grande desvio do modelo de responsabilidade compartilhada padrão e exigem o aumento dos encargos operacionais. O maior risco de disponibilidade e latência excederá, para a maioria dos clientes, os benefícios de segurança percebidos pelos armazenamentos de chaves externas.

Os armazenamentos de chaves externas permitem controlar a raiz de confiança. Os dados criptografados sob chaves do KMS em seu armazenamento de chaves externas só podem ser descriptografados usando o gerenciador de chaves externas que você controla. Se você revogar temporariamente o acesso ao seu gerenciador de chaves externo, por exemplo, desconectando o armazenamento de chaves externo ou desconectando o gerenciador de chaves externo do proxy externo do armazenamento de chaves, AWS perderá todo o acesso às suas chaves criptográficas até que você as restaure. Durante esse intervalo, o texto cifrado criptografado sob suas chaves do KMS não poderá ser descriptografado. Se você revogar permanentemente o acesso ao seu gerenciador de chaves externas, todo o texto cifrado criptografado sob uma chave do KMS em seu armazenamento de chaves externas vai se tornar irrecuperável. As únicas exceções são AWS serviços que armazenam brevemente em cache as chaves de dados protegidas por suas chaves KMS. Essas chaves de dados continuarão funcionando até você desativar o recurso ou o cache expirar. Para obter detalhes, consulte Como as chaves do KMS inutilizáveis afetam as chaves de dados.

Os armazenamentos externos de chaves desbloqueiam os poucos casos de uso de cargas de trabalho regulamentadas em que as chaves de criptografia devem permanecer exclusivamente sob seu controle e inacessíveis. AWS Porém, esta é uma grande mudança na forma como você opera a infraestrutura baseada em nuvem e uma alteração significativa no modelo de responsabilidade compartilhada. Para a maioria das workloads, o aumento da carga operacional e os maiores riscos de disponibilidade e performance excederão os benefícios de segurança percebidos pelos armazenamentos de chaves externas.

Saiba mais:

Preciso de armazenamento de chaves externas?

Para a maioria dos usuários, o armazenamento de AWS KMS chaves padrão, protegido pelos módulos de segurança de hardware validados pelo FIPS 140-2 Security Level 3, atende aos requisitos regulatórios, de controle e de segurança. Usuários do armazenamento de chaves externas incorrem em custos consideráveis, sobrecarga de manutenção e solução de problemas, além de riscos de latência, disponibilidade e confiabilidade.

Ao considerar um armazenamento de chaves externas, dedique algum tempo para entender as alternativas, como um armazenamento de chaves do AWS CloudHSM baseado em um cluster do AWS CloudHSM que você possui e gerencia e chaves do KMS com material de chave importado que você gera em seus próprios HSMs e pode excluir das chaves do KMS sob demanda. Especificamente, importar material de chave com um intervalo de expiração muito curto pode fornecer um nível similar de controle sem riscos à performance ou à disponibilidade.

Um armazenamento de chaves externas pode ser a solução certa para sua organização, caso cumpra os seguintes requisitos:

  • Você precisa usar chaves criptográficas em seu gerenciador de chaves local ou em um gerenciador de chaves fora do seu AWS controle.

  • É necessário demonstrar que suas chaves de criptografia são retidas somente sob seu controle fora da nuvem.

  • É necessário criptografar e descriptografar usando chaves de criptografia com autorização independente.

  • O material de chaves deve estar sujeito a um caminho de auditoria secundário e independente.

Se escolher um armazenamento de chaves externas, limite o uso a workloads que necessitam de proteção com chaves de criptografia fora da AWS.

Modelo de responsabilidade compartilhada

As chaves KMS padrão usam material de chaves que é gerado e usado em HSMs que AWS KMS possuem e gerenciam. Você estabelece as políticas de controle de acesso em suas chaves KMS e configura Serviços da AWS que usem chaves KMS para proteger seus recursos. AWS KMS assume a responsabilidade pela segurança, disponibilidade, latência e durabilidade do material de chaves em suas chaves KMS.

As chaves do KMS em armazenamentos de chaves externas dependem do material e das operações do gerenciador de chaves externas. Assim, o equilíbrio de responsabilidades desloca-se em direção a você. Você é responsável pela segurança, confiabilidade, durabilidade e desempenho das chaves criptográficas em seu gerenciador de chaves externo. AWS KMS é responsável por responder prontamente às solicitações e se comunicar com seu proxy externo de armazenamento de chaves e por manter nossos padrões de segurança. Para garantir que cada chave externa armazene texto cifrado pelo menos tão forte quanto o texto AWS KMS cifrado padrão, AWS KMS primeiro criptografa todo o texto sem formatação com material de chave específico da sua AWS KMS chave KMS e, em seguida, o envia ao seu gerenciador de chaves externo para criptografia com sua chave externa, um procedimento conhecido como criptografia dupla. Como resultado, nem o AWS KMS nem o proprietário do material de chave externa podem descriptografar somente o texto cifrado com criptografia dupla.

Você é responsável por manter um gerenciador de chaves externas que atenda aos seus padrões regulatórios e de performance, por fornecer e manter um proxy de armazenamento de chaves externas que esteja em conformidade com a AWS KMS External Key Store Proxy API Specification (Especificação da API do proxy de armazenamento de chaves externas do ) e por garantir a disponibilidade e durabilidade do material de chave. Você também deve criar, configurar e manter um armazenamento de chaves externas. Quando surgem erros causados por componentes que você mantém, você deve estar preparado para identificar e resolver os erros para que os AWS serviços possam acessar seus recursos sem interrupções indevidas. AWS KMS fornece orientação de solução de problemas para ajudá-lo a determinar a causa dos problemas e as resoluções mais prováveis.

Analise as CloudWatch métricas e dimensões da Amazon que AWS KMS registram para lojas de chaves externas. AWS KMS recomenda fortemente que você crie CloudWatch alarmes para monitorar seu armazenamento externo de chaves para que você possa detectar os primeiros sinais de problemas operacionais e de desempenho antes que eles ocorram.

O que está mudando?

Armazenamentos de chaves externas são compatíveis apenas com chaves do KMS de criptografia simétrica. Dentro AWS KMS, você usa e gerencia as chaves KMS em um armazenamento de chaves externo da mesma forma que gerencia outras chaves gerenciadas pelo cliente, incluindo a definição de políticas de controle de acesso e o monitoramento do uso da chave. Utilize as mesmas APIs com os mesmos parâmetros para solicitar uma operação de criptografia com uma chave do KMS em um armazenamento de chaves externas que você usa para qualquer chave do KMS. O preço também é o mesmo das chaves do KMS padrão. Para obter mais detalhes, consulte Gerenciar chaves do KMS em um armazenamento de chaves externas, Usar chaves do KMS em um armazenamento de chaves externas e AWS Key Management Service Pricing (Preço do ).

Porém, com os armazenamentos de chaves externas, os seguintes princípios mudam:

  • Você é responsável pela disponibilidade, durabilidade e latência das operações de chaves.

  • Você é responsável por todos os custos de desenvolvimento, compra, operação e licenciamento de seu sistema de gerenciamento de chaves externas.

  • Você pode implementar a autorização independente de todas as solicitações AWS KMS de seu proxy externo de armazenamento de chaves.

  • Você pode monitorar, auditar e registrar todas as operações do proxy externo do armazenamento de chaves e todas as operações do gerenciador de chaves externo relacionadas às AWS KMS solicitações.

Por onde começar?

Para criar e gerenciar um armazenamento de chaves externas, é necessário escolher sua opção de conectividade de proxy de armazenamento de chaves externas, organizar os pré-requisitos e criar e configurar o armazenamento de chaves externas. Para começar, consulte Planejar um armazenamento de chaves externas.

Cotas

AWS KMS permite até 10 armazenamentos de chaves personalizadas em cada Conta da AWS região, incluindo armazenamentos de AWS CloudHSM chaves e armazenamentos de chaves externos, independentemente do estado da conexão. Além disso, há cotas de solicitação do AWS KMS para o uso de chaves do KMS em um armazenamento de chaves externas.

Se você escolher a conectividade de proxy da VPC para seu proxy de armazenamento de chaves externas, também poderá haver cotas nos componentes obrigatórios, como VPCs, sub-redes e balanceadores de carga de rede. Para obter mais informações sobre essas cotas, use o console do Service Quotas.

Regiões

Para minimizar a latência da rede, crie seus componentes de armazenamento de chaves externas na Região da AWS mais próxima do gerenciador de chaves externas. Se possível, escolha uma região com um tempo de resposta (RTT) de 35 milissegundos ou menos.

Os armazenamentos de chaves externos são suportados Regiões da AWS em todas as regiões AWS KMS com suporte, exceto na China (Pequim) e na China (Ningxia).

Recursos sem suporte

AWS KMS não oferece suporte aos seguintes recursos em armazenamentos de chaves personalizadas.

Conceitos de armazenamento de chaves externas

Este tópico explica alguns dos conceitos usados nos armazenamentos de chaves externas.

Armazenamento de chaves externas

Um armazenamento de chaves externo é um armazenamento de chaves AWS KMS personalizado apoiado por um gerenciador de chaves externo fora do AWS que você possui e gerencia. Cada chave do KMS em um armazenamento de chaves externas está associada a uma chave externa de seu gerenciador de chaves externas. Quando você usa uma chave do KMS em um armazenamento de chaves externas para criptografia ou descriptografia, a operação é executada pelo gerenciador de chaves externas usando sua chave externa, um mecanismo conhecido como mantenha sua própria chave (HYOK). Esse recurso foi desenvolvido para organizações que precisam manter chaves de criptografia em seu próprio gerenciador de chaves externas.

Os armazenamentos externos de chaves garantem que as chaves criptográficas e as operações que protegem seus AWS recursos permaneçam sob seu controle no gerenciador de chaves externo. AWS KMS envia solicitações ao seu gerenciador de chaves externo para criptografar e descriptografar dados, mas AWS KMS não pode criar, excluir ou gerenciar nenhuma chave externa. Todas as solicitações do AWS KMS seu gerenciador de chaves externo são mediadas por um componente de software proxy de armazenamento de chaves externo que você fornece, possui e gerencia.

AWS os serviços que oferecem suporte a chaves gerenciadas pelo AWS KMS cliente podem usar as chaves KMS em seu armazenamento de chaves externo para proteger seus dados. Como resultado, seus dados são, em última análise, protegidos por suas chaves usando suas operações de criptografia no gerenciador de chaves externas.

As chaves do KMS em um armazenamento de chaves externas têm modelos de confiança, acordos de responsabilidade compartilhada e expectativas de performance consideravelmente diferentes das chaves do KMS padrão. Com armazenamentos de chaves externas, você é responsável pela segurança e integridade do material de chave e pelas operações de criptografia. A disponibilidade e a latência das chaves do KMS em um armazenamento de chaves externas são afetadas pelo hardware, software, componentes de redes e pela distância entre o AWS KMS e o gerenciador de chaves externas. Também é provável que você incorra em custos adicionais com seu gerenciador de chaves externo e com a infraestrutura de rede e balanceamento de carga com a qual seu gerenciador de chaves externo se comunique. AWS KMS

Você pode usar seu armazenamento de chaves externas como parte de sua estratégia geral de proteção de dados. Para cada AWS recurso que você protege, você pode decidir qual requer uma chave KMS em um armazenamento de chaves externo e qual pode ser protegido por uma chave KMS padrão. Isso lhe dá a flexibilidade para escolher chaves do KMS para classificações de dados, aplicações ou projetos específicos.

Gerenciador de chaves externas

Um gerenciador de chaves externas é um componente fora da AWS que pode gerar chaves simétricas AES de 256 bits e realizar criptografia e descriptografia simétricas. O gerenciador de chaves externas para um armazenamento de chaves externas pode ser um módulo de segurança de hardware (HSM) físico, um HSM virtual ou um gerenciador de chaves de software com ou sem um componente HSM. Ele pode estar localizado em qualquer lugar externo AWS, inclusive em suas instalações, em um data center local ou remoto ou em qualquer nuvem. O armazenamento de chaves externas pode basear-se em um único gerenciador de chaves externas ou em várias instâncias de gerenciador de chaves relacionadas que compartilham chaves de criptografia, como um cluster do HSM. Os armazenamentos de chaves externas são criados para oferecer suporte a uma variedade de gerenciadores externos de diferentes fornecedores. Para obter detalhes sobre os requisitos do seu gerenciador de chaves externas, consulte Planejar um armazenamento de chaves externas.

Chave externa

Cada chave do KMS em um armazenamento de chaves externas está associada a uma chave de criptografia do gerenciador de chaves externas conhecida como chave externa. Ao criptografar ou descriptografar com uma chave do KMS no armazenamento de chaves externas, a operação de criptografia é executada pelo gerenciador de chaves externas usando suas chaves externas.

Atenção

A chave externa é essencial para a operação da chave do KMS. Se a chave externa for perdida ou excluída, o texto cifrado criptografado sob a chave do KMS associada vai se tornar irrecuperável.

Para armazenamentos de chaves externas, a chave externa deve ser uma chave AES de 256 bits que esteja habilitada e possa executar criptografia e descriptografia. Para obter requisitos detalhados de chaves externas, consulte Requisitos para uma chave do KMS em um armazenamento de chaves externas.

AWS KMS não pode criar, excluir ou gerenciar nenhuma chave externa. O material de chave de criptografia nunca sai do gerenciador de chaves externas. Ao criar uma chave do KMS em um armazenamento de chaves externas, você fornece o ID de uma chave externa (XksKeyId). Você não pode alterar o ID da chave externa associada a uma chave do KMS, embora seu gerenciador de chaves externas possa alternar o material de chave associado ao ID da chave externa.

Além da chave externa, uma chave do KMS em um armazenamento de chaves externas também tem material de chave do AWS KMS . Os dados protegidos pela chave KMS são criptografados primeiro AWS KMS usando o material de AWS KMS chaves e, em seguida, pelo gerenciador de chaves externo usando sua chave externa. Esse processo de criptografia dupla garante que o texto cifrado protegido pela chave do KMS seja sempre pelo menos tão forte quanto o texto cifrado protegido somente pelo AWS KMS.

Muitas chaves de criptografia têm diferentes tipos de identificadores. Ao criar uma chave do KMS em um armazenamento de chaves externas, forneça o ID da chave externa que o proxy de armazenamento de chaves externas usa para se referir à chave externa. Se você usar o identificador errado, haverá falha na tentativa de criar uma chave do KMS em seu armazenamento de chaves externas.

Proxy de armazenamento de chaves externas

O proxy externo de armazenamento de chaves (“proxy XKS”) é um aplicativo de software de propriedade e gerenciamento do cliente que medeia toda a comunicação entre AWS KMS e seu gerenciador de chaves externo. Ele também traduz AWS KMS solicitações genéricas em um formato que seu gerente de chaves externo específico do fornecedor entenda. É necessário um proxy de armazenamento de chaves externas para um armazenamento de chaves externas. Cada armazenamento de chaves externas é associado a um proxy de armazenamento de chaves externas.

Proxy de armazenamento de chaves externas

AWS KMS não pode criar, excluir ou gerenciar nenhuma chave externa. O material de chave de criptografia nunca sai do gerenciador de chaves externas. Toda a comunicação entre AWS KMS e seu gerenciador de chaves externo é mediada pelo proxy externo do armazenamento de chaves. AWS KMS envia solicitações para o proxy externo do armazenamento de chaves e recebe respostas do proxy externo do armazenamento de chaves. O proxy externo do armazenamento de chaves é responsável por transmitir solicitações de AWS KMS seu gerenciador de chaves externo e transmitir respostas de seu gerenciador de chaves externo de volta para AWS KMS

Você possui e gerencia o proxy de armazenamento de chaves externas para seu armazenamento de chaves externas e é responsável por sua manutenção e operação. Você pode desenvolver seu proxy de armazenamento de chaves externo com base na especificação da API de proxy de armazenamento de chaves externo de código aberto que AWS KMS publica ou compra um aplicativo proxy de um fornecedor. Seu proxy de armazenamento de chaves externas pode estar incluído em seu gerenciador de chaves externas. Para oferecer suporte ao desenvolvimento de proxy, AWS KMS também fornece um exemplo de proxy de armazenamento de chaves externo (aws-kms-xks-proxy) e um cliente de teste (xks-kms-xksproxy-test-client) que verifica se o proxy do armazenamento de chaves externo está em conformidade com a especificação.

Para se autenticar AWS KMS, o proxy usa certificados TLS do lado do servidor. Para se autenticar em seu proxy, AWS KMS assina todas as solicitações em seu proxy externo de armazenamento de chaves com uma credencial de autenticação de proxy SigV4. Opcionalmente, seu proxy pode habilitar o TLS mútuo (mTLS) para garantir que ele só aceita solicitações de. AWS KMS

O proxy externo de armazenamento de chaves deve oferecer suporte a HTTP/1.1 ou posterior e TLS 1.2 ou posterior com pelo menos um dos seguintes conjuntos de criptografia:

  • TLS_AES_256_GCM_SHA384 (TLS 1.3)

  • TLS_CHACHA20_POLY1305_SHA256 (TLS 1.3)

    nota

    O AWS GovCloud (US) Region não suporta TLS_CHACHA20_POLY1305_SHA256.

  • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (TLS 1.2)

  • TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 (TLS 1.2)

Para criar e usar as chaves do KMS em seu armazenamento de chaves externas, você deve primeiro conectar o armazenamento de chaves externas ao proxy de armazenamento de chaves externas. Você também pode desconectar o armazenamento de chaves externas do proxy sob demanda. Quando você faz isso, todas as chaves do KMS no armazenamento de chaves externas ficam indisponíveis e não podem ser usadas em nenhuma operação de criptografia.

Conectividade de proxy de armazenamento de chaves externas

A conectividade de proxy de armazenamento de chaves externo (“conectividade de proxy XKS”) descreve o método AWS KMS usado para se comunicar com seu proxy de armazenamento de chaves externo.

Você especifica sua opção de conectividade de proxy ao criar o armazenamento de chaves externas, e ela se torna uma propriedade do armazenamento de chaves externas. Você pode alterar sua opção de conectividade de proxy atualizando a propriedade do armazenamento de chaves personalizado, mas você deve ter certeza de que o proxy de armazenamento de chaves externas ainda pode acessar as mesmas chaves externas.

AWS KMS suporta as seguintes opções de conectividade:

  • Conectividade de endpoint público — AWS KMS envia solicitações para seu proxy externo de armazenamento de chaves pela Internet para um endpoint público que você controla. Essa opção é simples de criar e manter, mas talvez não atenda aos requisitos de segurança de todas as instalações.

  • Conectividade do serviço de endpoint VPC — AWS KMS envia solicitações para um serviço de endpoint da Amazon Virtual Private Cloud (Amazon VPC) que você cria e mantém. Você pode hospedar seu proxy externo de armazenamento de chaves dentro de sua Amazon VPC ou hospedar seu proxy externo de armazenamento de chaves fora AWS e usar a Amazon VPC somente para comunicação.

Para obter detalhes sobre as opções de conectividade de proxy de armazenamento de chaves externas, consulte Escolher uma opção de conectividade do proxy.

Credencial de autenticação de proxy de armazenamento de chaves externas

Para se autenticar no proxy externo do armazenamento de chaves, AWS KMS assine todas as solicitações no proxy externo do armazenamento de chaves com uma credencial de autenticação Signature V4 (SigV4). Você estabelece e mantém a credencial de autenticação em seu proxy e, em seguida, fornece essa credencial AWS KMS ao criar seu armazenamento externo.

nota

A credencial SigV4 AWS KMS usada para assinar solicitações ao proxy XKS não está relacionada a nenhuma credencial SigV4 associada aos diretores em seu. AWS Identity and Access Management Contas da AWS Não reutilize nenhuma credencial SigV4 do IAM para seu proxy de armazenamento de chaves externas.

Toda credencial de autenticação do proxy tem duas partes. É necessário fornecer as duas partes ao criar um armazenamento de chaves externas ou atualizar a credencial de autenticação do armazenamento de chaves externas.

  • ID da chave de acesso: identifica a chave de acesso secreta. Você pode fornecer esse ID em texto não criptografado.

  • Chave de acesso secreta: a parte secreta da credencial. AWS KMS criptografa a chave de acesso secreta na credencial antes de armazená-la.

Você pode editar a configuração da credencial a qualquer momento, como ao inserir valores incorretos, ao alterar a credencial no proxy ou quando seu proxy alterna a credencial. Para obter detalhes técnicos sobre a AWS KMS autenticação no proxy externo do armazenamento de chaves, consulte Autenticação na Especificação da API AWS KMS External Key Store Proxy.

Para permitir que você alterne sua credencial sem interromper o Serviços da AWS uso de chaves KMS em seu armazenamento de chaves externo, recomendamos que o proxy do armazenamento de chaves externo suporte pelo menos duas credenciais de autenticação válidas para. AWS KMS Isso garante que sua credencial anterior continue funcionando enquanto você fornece sua nova credencial para o AWS KMS.

Para ajudá-lo a rastrear a idade da sua credencial de autenticação de proxy, AWS KMS define uma CloudWatch métrica da Amazon, XksProxyCredentialAge. Você pode usar essa métrica para criar um CloudWatch alarme que o notifique quando a idade da sua credencial atingir um limite estabelecido por você.

Para fornecer uma garantia adicional de que seu proxy de armazenamento de chaves externas responde somente ao AWS KMS, alguns proxies de chaves externas oferecem suporte à Transport Layer Security mútua (mTLS). Para obter detalhes, consulte Autenticação mTLS (opcional).

APIs de proxy

Para oferecer suporte a um armazenamento de chaves AWS KMS externo, um proxy externo de armazenamento de chaves deve implementar as APIs de proxy necessárias, conforme descrito na Especificação da API de proxy de armazenamento de chaves AWS KMS externo. Essas solicitações de API de proxy são as únicas solicitações AWS KMS enviadas ao proxy. Embora você nunca envie essas solicitações diretamente, conhecê-las pode ajudar a corrigir problemas que possam surgir no armazenamento de chaves externas ou no proxy. Por exemplo, AWS KMS inclui informações sobre a latência e as taxas de sucesso dessas chamadas de API em suas CloudWatch métricas da Amazon para lojas de chaves externas. Para obter detalhes, consulte Monitorar um armazenamento de chaves externas.

A tabela a seguir lista e descreve cada API de proxy. Também inclui as AWS KMS operações que acionam uma chamada para a API proxy e quaisquer exceções de AWS KMS operação relacionadas à API proxy.

API de proxy Descrição AWS KMS Operações relacionadas
Decrypt AWS KMS envia o texto cifrado a ser descriptografado e o ID da chave externa a ser usada. O algoritmo de criptografia obrigatório é AES_GCM. Descriptografar, ReEncrypt
Encrypt AWS KMS envia dados para serem criptografados e o ID da chave externa a ser usada. O algoritmo de criptografia obrigatório é AES_GCM. Criptografar,, GenerateDataKey, GenerateDataKeyWithoutPlaintextReEncrypt
GetHealthStatus AWS KMS solicita informações sobre o status do proxy e do seu gerenciador de chaves externo.

Cada gerenciador de chaves externas pode ter um dos status a seguir.

  • Active: íntegro; pode atender ao tráfego

  • Degraded: não íntegro, mas pode atender ao tráfego

  • Unavailable: não íntegro; não pode atender ao tráfego

CreateCustomKeyStore(para conectividade de endpoint público), ConnectCustomKeyStore(para conectividade de serviço de endpoint VPC)

Se todas as instâncias do gerenciador de chaves externas tiverem o status Unavailable, as tentativas de criar ou conectar o armazenamento de chaves falharão com XksProxyUriUnreachableException.

GetKeyMetadata AWS KMS solicita informações sobre a chave externa associada a uma chave KMS em seu armazenamento de chaves externo.

A resposta inclui a especificação da chave (AES_256), o uso da chave ([ENCRYPT, DECRYPT]) e se a chave externa está ENABLED ou DISABLED.

CreateKey

Se a especificação da chave não for AES_256, se o uso da chave não for [ENCRYPT, DECRYPT] ou se o status for DISABLED, a operação CreateKey falhará com XksKeyInvalidConfigurationException.

Criptografia dupla

Os dados criptografados por uma chave do KMS em um armazenamento de chaves externas são criptografados duas vezes. Primeiro, AWS KMS criptografa os dados com material de AWS KMS chave específico da chave KMS. Em seguida, o texto cifrado criptografado pelo AWS KMSé criptografado pelo gerenciador de chaves externas usando sua chave externa. O processo é conhecido como criptografia dupla.

A criptografia dupla garante que os dados criptografados por uma chave do KMS em um armazenamento de chaves externas sejam pelo menos tão fortes quanto o texto cifrado criptografado por uma chave do KMS padrão. Ele também protege o texto simples em trânsito do proxy externo do AWS KMS armazenamento de chaves. Com a criptografia dupla, você mantém o controle total de seus textos cifrados. Se você revogar permanentemente o acesso da AWS à sua chave externa por meio do proxy externo, todo texto cifrado da AWS restante será efetivamente destruído por criptografia.

Criptografia dupla de dados protegidos por uma chave do KMS em um armazenamento de chaves externas

Para habilitar a criptografia dupla, cada chave do KMS em um armazenamento de chaves externas tem duas chaves de reserva de criptografia:

  • Um material de AWS KMS chave exclusivo da chave KMS. Esse material de chave é gerado e usado somente em módulos de segurança de hardware (HSMs) certificados pelo AWS KMS FIPS 140-2 Security Level 3.

  • Uma chave externa em seu gerenciador de chaves externas.

A criptografia dupla tem os seguintes efeitos:

  • AWS KMS não pode descriptografar nenhum texto cifrado criptografado por uma chave KMS em um armazenamento de chaves externo sem acessar suas chaves externas por meio do proxy externo do armazenamento de chaves.

  • Você não pode descriptografar nenhum texto cifrado criptografado por uma chave KMS em um armazenamento externo de chaves externo AWS, mesmo que você tenha o material de chave externo.

  • Você não pode recriar uma chave do KMS que foi excluída de um armazenamento de chaves externas, mesmo que você tenha o material de chave externa. Cada chave do KMS tem metadados exclusivos que ela inclui no texto cifrado simétrico. Uma nova chave do KMS não seria capaz de descriptografar o texto cifrado criptografado pela chave original, ainda que usasse o mesmo material de chave externa.

Para obter um exemplo de criptografia dupla na prática, consulte Como funcionam os armazenamentos de chaves externas.

Como funcionam os armazenamentos de chaves externas

O armazenamento de chaves externas, o proxy de armazenamento de chaves externas e o gerenciador de chaves externas trabalham juntos para proteger seus recursos da AWS . O procedimento a seguir descreve o fluxo de trabalho de criptografia de um AWS service (Serviço da AWS) comum que criptografa cada objeto em uma chave de dados exclusiva protegida por uma chave do KMS. Nesse caso, você escolheu uma chave do KMS em um armazenamento de chaves externas para proteger o objeto. O exemplo mostra como AWS KMS usa criptografia dupla para proteger a chave de dados em trânsito e garantir que o texto cifrado gerado por uma chave KMS em um armazenamento de chaves externo seja sempre pelo menos tão forte quanto o texto cifrado criptografado por uma chave KMS simétrica padrão com material de chave inserido. AWS KMS

Os métodos de criptografia usados por cada unidade real AWS service (Serviço da AWS) que se integra AWS KMS variam. Para obter detalhes, consulte o tópico “Proteção dos dados” no capítulo Segurança da documentação do AWS service (Serviço da AWS) .

Como funcionam os armazenamentos de chaves externas
  1. Você adiciona um novo objeto ao seu AWS service (Serviço da AWS) recurso. Para criptografar o objeto, AWS service (Serviço da AWS) ele envia uma GenerateDataKeysolicitação para AWS KMS usar uma chave KMS em seu armazenamento de chaves externo.

  2. AWS KMS gera uma chave de dados simétrica de 256 bits e se prepara para enviar uma cópia da chave de dados em texto simples para o gerenciador de chaves externo por meio do proxy externo do armazenamento de chaves. AWS KMS inicia o processo de criptografia dupla criptografando a chave de dados em texto simples com o material de AWS KMS chave associado à chave KMS no armazenamento de chaves externo.

  3. AWS KMS envia uma solicitação de criptografia para o proxy externo do armazenamento de chaves associado ao armazenamento de chaves externo. A solicitação inclui o texto cifrado da chave de dados a ser criptografado e a ID da chave externa associada à chave KMS. AWS KMS assina a solicitação usando a credencial de autenticação de proxy para seu proxy externo de armazenamento de chaves.

    A cópia em texto simples da chave de dados não é enviada para o proxy de armazenamento de chaves externas.

  4. O proxy de armazenamento de chaves externas autentica a solicitação e passa a solicitação de criptografia para o gerenciador de chaves externas.

    Alguns proxies de armazenamento de chaves externas também implementam uma política de autorização opcional que permite que somente entidades principais selecionadas realizem operações sob condições específicas.

  5. O gerenciador de chaves externas criptografa o texto cifrado da chave de dados usando a chave externa especificada. O gerenciador de chaves externas retorna a chave de dados com criptografia dupla para o proxy de armazenamento de chaves externas, que a retorna para o AWS KMS.

  6. AWS KMS retorna a chave de dados em texto simples e a cópia criptografada dupla dessa chave de dados para o. AWS service (Serviço da AWS)

  7. O AWS service (Serviço da AWS) usa a chave de dados de texto simples para criptografar o objeto de recurso, destrói a chave de dados de texto sem formatação e armazena a chave de dados criptografada com o objeto criptografado.

    Alguns Serviços da AWS podem armazenar em cache a chave de dados de texto simples para usar em vários objetos ou reutilizá-la enquanto o recurso estiver em uso. Para obter detalhes, consulte Como as chaves do KMS inutilizáveis afetam as chaves de dados.

Para descriptografar o objeto criptografado, é AWS service (Serviço da AWS) necessário enviar a chave de dados criptografada de volta AWS KMS em uma solicitação de descriptografia. Para descriptografar a chave de dados criptografada, AWS KMS deve enviar a chave de dados criptografada de volta ao proxy externo do armazenamento de chaves com o ID da chave externa. Se a solicitação de descriptografia para o proxy externo do armazenamento de chaves falhar por algum motivo, não será AWS KMS possível descriptografar a chave de dados criptografada e não será possível descriptografar o AWS service (Serviço da AWS) objeto criptografado.