Visão geral
O AWS Key Management Service (KMS) oferece a você controle centralizado das chaves criptográficas usadas para proteger seus dados. 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.
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. Como alternativa ao uso de chaves geradas pelo AWS KMS, você pode importar chaves de sua própria infraestrutura de gerenciamento de chaves ou usar chaves armazenadas no cluster do AWS CloudHSM ou chaves mantidas fora da AWS, em seu gerenciador de chaves externo. Você pode escolher a rotação automática de chaves raiz geradas no AWS KMS uma vez por ano, sem a necessidade de recriptografar dados já criptografados. O serviço mantém automaticamente versões mais antigas da chave raiz disponível para descriptografar dados criptografados anteriormente. Você pode gerenciar suas chaves-raiz e auditar seu uso no Console de Gerenciamento da AWS ou usar o AWS SDK ou a AWS Command Line Interface (CLI).
Integração de serviços 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.
Alexa for Business[1] | Amazon FSx | Amazon Rekognition | AWS CodePipeline |
Amazon AppFlow | Amazon GuardDuty | Amazon Relational Database Service (RDS) | AWS Control Tower |
Amazon Athena | Amazon HealthLake | Amazon Route 53 | AWS Data Exchange |
Amazon Aurora | Amazon Inspector | Amazon Simple Storage Service (Amazon S3)[3] | AWS Database Migration Service |
SDK do Amazon Chime | Amazon Kendra | Amazon SageMaker | AWS DeepRacer |
Amazon CloudWatch Logs | Amazon Keyspaces (para Apache Cassandra) | Amazon Simple Email Service (SES) |
AWS Elastic Disaster Recovery |
Amazon CloudWatch Synthetics | Amazon Kinesis Data Streams | Amazon Simple Notification Service (SNS) | AWS Elemental MediaTailor |
Amazon CodeGuru | Amazon Kinesis Firehose | Amazon Simple Queue Service (SQS) | AWS Entity Resolution |
Amazon CodeWhisperer | Amazon Kinesis Video Streams | Amazon Textract | AWS GameLift |
Amazon Comprehend | Amazon Lex | Amazon Timestream | AWS Glue |
Amazon Connect | Amazon Lightsail[1] | Amazon Transcribe | AWS Glue DataBrew |
Amazon Connect Customer Profiles | Amazon Location Service | Amazon Translate | AWS Ground Station |
Amazon Connect Voice ID | Amazon Lookout for Equipment | Amazon WorkMail | AWS IoT SiteWise |
Amazon Connect Wisdom | Amazon Lookout for Metrics | Amazon WorkSpaces | AWS Lambda |
Amazon DocumentDB | Amazon Lookout for Vision | Amazon WorkSpaces Thin Client | AWS License Manager |
Amazon DynamoDB | Amazon Macie | Amazon WorkSpaces Web | AWS Mainframe Modernization |
Amazon DynamoDB Accelerator (DAX)[1] |
Amazon Managed Blockchain | AWS AppConfig | AWS Network Firewall |
Amazon EBS | Amazon Managed Service for Prometheus |
AWS AppFabric | AWS Proton |
Amazon EC2 Image Builder | Amazon Managed Streaming for Kafka (MSK) | AWS Application Cost Profiler | AWS Secrets Manager |
Amazon EFS | Amazon Managed Workflows for Apache Airflow (MWAA) | AWS Application Migration Service | AWS Snowball |
Amazon Elastic Container Registry (ECR) | Amazon MemoryDB | AWS App Runner | AWS Snowball Edge |
Amazon Elastic Kubernetes Service (EKS) | Amazon Monitron | AWS Audit Manager | AWS Snowcone |
Amazon Elastic Transcoder | Amazon MQ | AWS Backup | AWS Storage Gateway |
Amazon ElastiCache | Amazon Neptune | AWS Certificate Manager[1] | AWS Systems Manager |
Amazon EMR | Amazon Nimble Studio | AWS Cloud9[1] | Cadeia de Suprimentos AWS |
Amazon EMR Sem Servidor | Amazon OpenSearch | AWS CloudHSM[2] | Acesso Verificado pela AWS |
Agendador do Amazon EventBridge | Amazon Omics | AWS CloudTrail | AWS X-Ray |
Amazon FinSpace | Amazon Personalize | AWS CodeArtifact | |
Amazon Forecast | Amazon QLDB | AWS CodeBuild | |
Amazon Fraud Detector | Amazon Redshift | AWS CodeCommit[1] |
[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] O S3 Express One Zone não está integrado ao AWS KMS, mas oferece suporte à criptografia do lado do servidor com chaves gerenciadas do Amazon S3 (SSE-S3). Para saber mais sobre a criptografia de objetos do S3 Express One Zone, visite Proteção e criptografia de dados do S3 Express One Zone.
[4] 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.
Monitoramento de auditoria
Se 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.
Escalabilidade, resiliência e alta disponibilidade
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 contrato de nível de serviço do AWS KMS.
Seguro
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-2 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-2 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-2.
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 Introdução aos detalhes criptográficos do AWS KMS.
* Na região da AWS China (Pequim), operada pela Sinnet Technology Co., Ltd. ("Sinnet") de Pequim, e na região 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-2), e o whitepaper sobre os detalhes de criptografia, mencionado acima, não é aplicável.
Chaves assimétricas
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.
HMAC
Você pode gerar e verificar o código de autenticação de mensagem por hash (HMACs) de dentro dos HSMs (módulos de segurança de hardware) validados pelo FIPS 140-2 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-2 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-2 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.
Conformidade
Os controles de segurança e qualidade no AWS KMS foram validados e certificados pelos seguintes regimes de conformidade:
- 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-2. O módulo criptográfico do AWS KMS é validado no nível de segurança 3 do FIPS 140-2 pelo U.S. National Institute of Standards and Technology (NIST). Saiba mais visualizando o certificado do FIPS 140-2 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.
Armazenamentos de chave personalizada
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 com suporte do CloudHSM
Você pode criar uma chave 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ê possui e gerencia. Quando você usa uma chave 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.
Armazenamento de chave 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 armazenamento de chave externa do AWS KMS (XKS), 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 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 armazenamento 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 KMS em um XKS.
Criptografia do lado do cliente
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.
• 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 sigilosos 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.
Para saber mais, acesse a Documentação do AWS Crypto Tools.
Veja exemplos de definição de preço e calcule os seus custos.
Obtenha acesso instantâneo ao nível gratuito da AWS.
Comece a criar com o AWS Key Management Service no Console AWS.