Recursos do AWS Key Management Service
Visão geral
O AWS Key Management Service (AWS KMS) oferece o controle das chaves criptográficas usadas para proteger seus dados. O AWS KMS oferece controle centralizado sobre o ciclo de vida e as permissões das chaves. Você pode criar novas chaves sempre que quiser. Também é possível controlar quem pode gerenciar as chaves separadamente de quem pode usá-las. O serviço é integrado a outros serviços da AWS, tornando mais fácil criptografar os dados armazenados nesses serviços e controlar o acesso às chaves que o descriptografam. O AWS KMS também é integrado ao AWS CloudTrail, que ajuda a auditar quem usou quais chaves, em quais recursos e quando. O AWS KMS ajuda os desenvolvedores a adicionarem mais facilmente funcionalidades de criptografia ou assinatura digital aos código de aplicações, diretamente ou usando o AWS SDK. O SDK de criptografia da AWS oferece suporte ao AWS KMS como provedor de chaves para desenvolvedores que precisam criptografar/descriptografar dados localmente dentro das aplicações.
Principais recursos
Abrir tudoSe você tiver o AWS CloudTrail habilitado para sua conta da AWS, cada solicitação feita ao AWS KMS será registrada em um arquivo de log. Esse arquivo de log é entregue ao bucket do Amazon Simple Storage Service (Amazon S3) especificado quando você habilitou o AWS CloudTrail. As informações registradas incluem detalhes do usuário, hora, data, ação da API e, quando relevante, a chave usada.
O AWS KMS é um serviço gerenciado. Conforme cresce o seu uso da criptografia, o serviço escala automaticamente para atender às suas necessidades. Ele ajuda você a gerenciar milhares de chaves KMS na sua conta e a usá-las sempre que quiser. Ele define limites padrão para o número de chaves e as taxas de solicitação. No entanto, se necessário, é possível solicitar um aumento dos limites.
As chaves KMS que você cria ou as que são criadas em seu nome por outros serviços da AWS não podem ser exportadas do serviço. Portanto, o AWS KMS é responsável por sua resiliência. Para ajudar a confirmar que suas chaves e seus dados estejam altamente disponíveis, o AWS KMS armazena várias cópias de versões criptografadas de suas chaves em sistemas projetados para durabilidade de 99,999999999%.
Para dados criptografados ou fluxos de trabalho de assinatura digital que se deslocam entre regiões (recuperação de desastres, arquiteturas de alta disponibilidade multirregionais, DynamoDB Global Tables e assinaturas digitais consistentes distribuídas globalmente), você pode criar chaves KMS multirregionais. Chaves KMS multirregiões são um conjunto de chaves interoperáveis com o mesmo material de chave e IDs de chave que podem ser replicados em várias regiões.
O AWS KMS foi desenvolvido para ser um serviço altamente disponível com um endpoint regional de API. Como a maioria dos serviços da AWS depende dele para criptografia e descriptografia, o AWS KMS é arquitetado para fornecer um nível de disponibilidade. Essa disponibilidade sustenta o restante da AWS e é respaldada pelo Acordo de nível de serviço do AWS KMS.
O AWS KMS foi projetado para que ninguém, nem mesmo os funcionários da AWS, possam recuperar as chaves em texto simples do serviço. O serviço usa módulos de segurança de hardware (HSMs) que são continuamente validados de acordo com o Cryptographic Module Validation Program no Federal Information Processing Standards (FIPS) 140-3 do National Institute of Standards and Technology (NIST) para proteger a confidencialidade e a integridade das suas chaves. Os HSMs do AWS KMS constituem a raiz criptográfica de confiança para proteger chaves do KMS. Eles criam um limite seguro protegido por hardware para todas as operações criptográficas que ocorrem no KMS. Todo o material para chaves do KMS geradas nos HSMs do AWS KMS e todas as operações que exigem material descriptografado de chaves do KMS ocorrem estritamente dentro do limite de nível de segurança 3 do FIPS 140-3 desses HSMs. As atualizações do firmware de HSM do AWS KMS são monitoradas por um controle de acesso por várias partes, auditado e revisado por um grupo independente dentro da Amazon. Segundo os requisitos do FIPS 140, todas as alterações de firmware em HSMs do KMS são enviadas a um laboratório credenciado pelo NIST para validação em conformidade com o nível de segurança 3 do FIPS 140-3.
As chaves em texto simples nunca são gravadas em disco e são usadas exclusivamente na memória volátil dos HSMs pelo tempo necessário para executar as operações criptográficas solicitadas. Isso ocorre independentemente de você solicitar que o AWS KMS crie chaves em seu nome, importe-as para o serviço ou crie-as em um cluster do AWS CloudHSM usando o recurso de armazenamento de chaves personalizado. Você escolhe se deseja criar chaves de região única ou de várias regiões. As chaves de região única nunca são transmitidas fora da região da AWS em que foram criadas e só podem ser usadas na região em que foram criadas.
Para saber mais sobre a arquitetura do AWS KMS e a criptografia usada para proteger suas chaves, leia o whitepaper AWS KMS Cryptographic Details.
* Na região da AWS China (Pequim), operada pela Sinnet Technology Co., Ltd. ("Sinnet") de Pequim, e na região da AWS China (Ningxia), operada pela Ningxia Western Cloud Data Technology Co., Ltd. ("NWCD") NWCD, as HSMs são aprovadas pelo governo chinês (não validados pelo FIPS 140-3), e o whitepaper sobre os detalhes de criptografia, mencionado acima, não é aplicável.
O AWS KMS ajuda a criar e usar chaves do KMS assimétricas e pares de chaves de dados. Você pode designar uma chave do KMS para uso como um par de chaves de assinatura, de criptografia ou de contrato de chaves. A geração de pares de chaves e as operações criptográficas assimétricas utilizando essas chaves do KMS são executadas dentro dos HSMs. Você pode solicitar a parte pública da chave assimétrica do KMS para uso em aplicações locais, enquanto a parte privada nunca sai do serviço. Você pode importar a parte privada de uma chave assimétrica de sua própria infraestrutura de gerenciamento de chaves.
Você também pode solicitar que o serviço gere um par de chaves de dados assimétricas. Essa operação retorna uma cópia da chave pública e da chave privada em texto simples e uma cópia da chave privada criptografada com a chave KMS simétrica que você especificou. Você pode usar a chave pública ou privada em texto simples na aplicação local e armazenar a cópia criptografada da chave privada para uso futuro.
** O armazenamento de chaves personalizadas não é compatível com as chaves assimétricas.
Você pode gerar e verificar o código de autenticação de mensagens por hash (HMAC) de dentro dos HSMs (módulos de segurança de hardware) validados pelo FIPS 140-3 do AWS KMS. Os HMACs são blocos de construção criptográfica que incorporam material da chave de segredo em uma função hash para criar um código exclusivo de autenticação de mensagem chaveada. As chaves HMAC do KMS oferecem uma vantagem sobre os HMACs do software de aplicação, porque o material da chave é gerado e usado inteiramente no AWS KMS. Ele também está sujeito aos controles de acesso que você define na chave. As chaves HMAC do KMS e os algoritmos HMAC que o AWS KMS usa estão em conformidade com os padrões do setor definidos em RFC 2104. As chaves HMAC do KMS são geradas em módulos de segurança de hardware do AWS KMS certificados no Programa de Validação de Módulo Criptográfico FIPS 140-3 e nunca deixam o AWS KMS sem criptografia. Você também pode importar sua própria chave HMAC de sua infraestrutura de gerenciamento de chaves particular.
*As chaves HMAC do AWS KMS não são compatíveis com os armazenamentos de chaves personalizadas.
** FIPS 140-3 não se aplica ao AWS KMS na região China (Pequim) da AWS, operada pela Sinnet, e na região China (Ningxia) da AWS, operada pela NWCD. Nas regiões da China, as HSMs são aprovadas para uso pelo governo chinês.
- Relatórios de System and Organization Controls (SOC) da AWS (SOC 1, SOC 2 e SOC 3). Você pode baixar uma cópia desses relatórios no AWS Artifact.
- Cloud Computing Compliance Controls Catalog (C5). Saiba mais sobre o esquema de atestado C5 mantido pelo governo alemão.
- Payment Card Industry Data Security Standard (PCI DSS) Nível 1. Saiba mais sobre os serviços em conformidade com o PCI DSS na AWS em Perguntas frequentes sobre PCI DSS.
- Federal Information Processing Standards (FIPS) 140-3. O módulo criptográfico do AWS KMS é validado no nível de segurança 3 do FIPS 140-3 pelo U.S. Instituto Nacional de Padrões e Tecnologia (NIST) dos EUA. Saiba mais visualizando o Certificado do FIPS 140-3 para HSM do AWS KMS e a Política de segurança associada.
- Federal Risk and Authorization Management Program (FedRAMP). Saiba mais sobre a conformidade com o AWS FedRAMP em Conformidade com o FedRAMP.
- Health Insurance Portability and Accountability Act (HIPAA – Lei de Portabilidade e Responsabilidade de Seguro de Saúde). Saiba mais na Página da Web de conformidade com a HIPAA.
Os controles de segurança e qualidade no AWS KMS foram validados e certificados pelos seguintes regimes de conformidade:
O AWS KMS foi validado e certificado para os regimes de conformidade relacionados aqui.
* FIPS 140-3 não se aplica ao AWS KMS na região China (Pequim) da AWS, operada pela Sinnet, e na região China (Ningxia) da AWS, operada pela NWCD. Nas regiões da China, as HSMs são aprovadas para uso pelo governo chinês.
Os armazenamentos de chaves personalizadas combinam a interface prática e abrangente do gerenciamento de chaves do AWS KMS com a capacidade de ter e controlar os dispositivos nos quais o material da chave e as operações criptográficas ocorrem. Como resultado, você assume mais responsabilidade pela disponibilidade e durabilidade das chaves criptográficas e pela operação dos HSMs. O AWS KMS oferece dois tipos de armazenamento de chave personalizada:
Armazenamento de chave baseado no CloudHSM
Você pode criar uma chave do KMS em um armazenamento de chaves personalizadas do AWS CloudHSM, no qual todas as chaves são geradas e armazenadas em um cluster do AWS CloudHSM que você detém e gerencia. Quando você usa uma chave do KMS em um armazenamento de chaves personalizadas, as operações de criptografia realizadas com essa chave são executadas apenas em seu cluster do AWS CloudHSM.
O uso de um armazenamento de chaves personalizadas envolve o custo adicional do cluster do AWS CloudHSM, e você se torna responsável pela disponibilidade do material de chaves nesse cluster. Para obter orientação sobre a adequação dos armazenamentos de chaves personalizadas aos seus requisitos, consulte este blog.
Repositório de chaves externo
Se você tiver uma necessidade regulamentar de armazenar e usar suas chaves de criptografia no local ou fora da Nuvem AWS, é possível criar uma chave do KMS em um External Key Store (XKS – Repositório de chaves externo) do AWS KMS, no qual todas as chaves são geradas e armazenadas em um gerenciador de chaves externo fora da AWS que você possui e gerencia. Ao usar um XKS, seu material de chave nunca sai de seu HSM.
Ao contrário das chaves do KMS padrão ou de uma chave em um armazenamento de chaves personalizadas do CloudHSM, você é responsável pela durabilidade, disponibilidade, latência, desempenho e segurança do material da chave e pelas operações criptográficas de chaves externas ao usar um repositório de chaves externo. A performance e a disponibilidade das operações do KMS podem ser afetadas pelo hardware, software ou componentes de rede da infraestrutura XKS que você usa. Para saber mais sobre o XKS, leia este Blog de notícias da AWS.
*Armazenamentos das chaves personalizadas não estão disponíveis nas regiões da AWS China (Pequim), operada pela Sinnet e China (Ningxia), operada pela NWCD.
** O armazenamento de chaves personalizadas não está disponível para chaves KMS assimétricas.
*** O CodeArtifact não é compatível com chaves do KMS em um XKS.
- O SDK de criptografia da AWS fornece uma biblioteca de criptografia de uso geral para implementar operações de criptografia e descriptografia em todos os tipos de dados.
- O SDK de criptografia de banco de dados da AWS é uma biblioteca de criptografia que ajuda a proteger dados sensíveis armazenados em seu banco de dados e fornece atributos adicionais para pesquisar e consultar os dados criptografados.
- O Amazon S3 Encryption Client é uma biblioteca de criptografia para criptografar e descriptografar objetos armazenados em seu bucket do S3.
Você pode usar o AWS KMS com bibliotecas de criptografia do lado do cliente para proteger os dados diretamente em seu aplicativo na AWS ou em ambientes híbridos e multinuvem. Você pode usar essas bibliotecas para criptografar dados antes de armazená-los nos serviços da AWS ou em qualquer outro meio de armazenamento e serviços de terceiros que desejar. Essas bibliotecas foram projetadas para ajudar você a criptografar e descriptografar dados usando padrões e práticas recomendadas do setor. As bibliotecas de criptografia permitem que você se concentre na funcionalidade principal do seu aplicativo e não em como criptografar e descriptografar seus dados.
Para saber mais, acesse a Documentação do AWS Crypto Tools.
Embora os computadores quânticos de grande escala ainda não estejam disponíveis para o público, a criação de um computador quântico suficientemente avançado aceleraria a resolução dos esquemas que usamos atualmente nos algoritmos de criptografia de chave pública para proteger nossos dados. A AWS já está trabalhando, se preparando para um mundo pós-quântico. O AWS Key Management Service (KMS) oferece suporte à criptografia pós-quântica de duas formas: por meio do protocolo TLS pós-quântico para conexões com o KMS e do uso de assinaturas pós-quânticas. Para proteger as conexões de endpoints do TLS com o KMS, esse processo é realizado por meio do Module-Lattice-Based Key-Encapsulation Mechanism (ML-KEM – Mecanismo de encapsulamento de chaves baseado em rede modular). Para assinaturas digitais, o AWS KMS oferece suporte ao Module-Lattice Digital Signature Standard (ML-DSA – Padrão de assinatura digital baseado em rede modular) da FIPS 204, um algoritmo resistente à tecnologia quântica desenvolvido para ajudar as organizações a lidarem com as ameaças futuras da computação quântica relacionadas a esse tipo de recurso. Tanto o ML-KEM quanto o ML-DSA são algoritmos padronizados pelo NIST para proteger informações confidenciais no futuro previsível, inclusive após o surgimento de computadores quânticos com capacidade de quebra de códigos.
Integração de produtos da AWS
O AWS KMS integra-se aos serviços da AWS para criptografar dados em repouso ou para facilitar a assinatura e a verificação usando uma chave do AWS KMS. Para proteger os dados em repouso, os serviços integrados da AWS usam criptografia envelopada, na qual uma chave de dados é usada para criptografar dados e é criptografada em uma chave KMS armazenada no AWS KMS. Para assinatura e verificação, os serviços integrados da AWS usam chaves KMS RSA ou ECC assimétricas no AWS KMS. Para obter mais detalhes sobre como um serviço integrado usa o AWS KMS, consulte a documentação do seu serviço da AWS.
Tabela de integração de serviços
|
|
Nomes de serviços
|
Nomes de serviços
|
Nomes de serviços
|
Nomes de serviços
|
Nomes de serviços
|
|---|---|---|---|---|---|
|
Integração de serviços
|
Alexa for Business[1]
|
Amazon EMR
|
Amazon Managed Workflows for Apache Airflow (MWAA)
|
Amazon WorkSpaces Secure Browser
|
AWS GameLift
|
- [1] Compatível somente com chaves gerenciadas pela AWS.
- [2] O AWS KMS é compatível com armazenamento de chaves personalizadas respaldado por um cluster do AWS CloudHSM.
- [3] Para obter uma lista de serviços integrados ao AWS KMS nas regiões da AWS China (Pequim), operada pela Sinnet, e AWS China (Ningxia), operada pela NWCD, consulte a integração do AWS KMS Service na China.
Os serviços da AWS não listados acima criptografam os dados do cliente usando chaves pertencentes ao respectivo serviço e por ele gerenciadas.