Criptografia e Mascaramento de Dados

Gerenciamento de chaves KMS, criptografia de envelope, mascaramento/anonimização de dados, conformidade GDPR/HIPAA.

A criptografia é o equivalente digital de um cadeado. Ela transforma dados em uma forma ilegível para que, sem a chave correta, ninguém possa entender o conteúdo — mesmo que obtenha fisicamente o dispositivo de armazenamento ou intercepte o tráfego de rede. Na engenharia de dados na nuvem, a criptografia não é opcional. Quando você lida com dados pessoais de clientes, registros financeiros ou informações médicas, a criptografia é tanto um requisito de segurança quanto, em muitos casos, uma obrigação legal. Este guia explica como a AWS implementa criptografia, como mascarar dados sensíveis e como atender aos requisitos de conformidade — partindo do básico.

 

Criptografia em Repouso (Encryption at Rest)

Criptografia em repouso significa que os dados são criptografados enquanto estão em um disco ou meio de armazenamento. Mesmo que alguém roube fisicamente um disco rígido ou obtenha acesso não autorizado a um sistema de armazenamento, não pode ler os dados sem a chave de descriptografia.

Opções de Criptografia no Amazon S3

O S3 oferece três métodos de criptografia do lado do servidor (SSE), cada um adequado para diferentes requisitos de segurança.

SSE-S3 é o método de criptografia padrão do S3 usando chaves gerenciadas pela AWS. Está habilitado por padrão em todos os novos buckets S3 sem custo adicional. A AWS gerencia todo o ciclo de vida das chaves. A contrapartida é que você não tem visibilidade sobre o uso das chaves — não pode ver quem descriptografou qual objeto com qual chave. Para dados de uso geral sem requisitos de conformidade rigorosos, SSE-S3 é perfeitamente adequado.

SSE-KMS usa uma chave gerenciada pelo cliente (CMK) do AWS Key Management Service. Você cria a chave KMS, define quem pode usá-la por meio de políticas de chave e mantém controle sobre a rotação de chaves. A vantagem mais significativa é a auditabilidade: cada vez que alguém usa a chave para criptografar ou descriptografar um objeto S3, esse evento é registrado no CloudTrail. Para dados financeiros, registros de saúde ou qualquer dado regulado, SSE-KMS é a escolha padrão.

SSE-C significa que o cliente fornece a chave de criptografia diretamente. Ao fazer upload de um objeto, você passa a chave em um cabeçalho HTTP. O S3 usa essa chave para criptografar os dados e depois a descarta — nunca a armazena. Isso lhe dá controle completo sobre suas chaves, mas também significa que você é inteiramente responsável pelo gerenciamento das chaves.

| Método | Gerenciador de Chaves | Trilha de Auditoria | Custo Extra | Melhor Para | |--------|----------------------|---------------------|------------|-------------| | SSE-S3 | AWS totalmente gerenciado | Difícil | Nenhum | Dados gerais | | SSE-KMS | Cliente via KMS | Registros do CloudTrail | Taxa por solicitação KMS | Dados regulamentados | | SSE-C | Cliente diretamente | Nenhuma | Nenhum | Máximos requisitos de segurança |

!Comparação das opções de criptografia no lado do servidor no S3

Criptografia no Amazon Redshift

O Redshift criptografa no nível do cluster. Quando você habilita a criptografia na criação do cluster, todos os dados armazenados — incluindo tabelas, snapshots e backups automáticos — são criptografados. Habilitar a criptografia após a criação do cluster requer uma reinicialização.

Usar KMS para criptografia do Redshift oferece controle de gerenciamento de chaves enquanto a AWS gerencia a infraestrutura de chaves subjacente.

O CloudHSM está disponível para ambientes que requerem o mais alto nível de garantia. As chaves são geradas e armazenadas em um dispositivo de hardware físico dedicado e nunca saem desse hardware. Algumas regulamentações financeiras e governamentais exigem explicitamente chaves respaldadas por HSM.

DynamoDB e EMR

O DynamoDB criptografa todos os dados armazenados por padrão usando chaves de propriedade da AWS sem custo adicional. Se precisar de mais controle, você pode mudar para uma CMK gerenciada pelo cliente.

Os clusters EMR usam LUKS (Linux Unified Key Setup) para criptografar os volumes EBS de cada instância EC2. Você habilita isso na configuração de segurança do EMR antes de lançar o cluster.

 

Criptografia em Trânsito (Encryption in Transit)

A criptografia em trânsito protege os dados enquanto se movem por uma rede. Sem ela, alguém monitorando o tráfego de rede poderia ler os dados transferidos. Usa TLS (Transport Layer Security).

Para o Amazon S3, você impõe o acesso somente por HTTPS adicionando uma condição aws:SecureTransport à política do bucket. Essa política nega explicitamente qualquer solicitação que não use HTTPS.

Para o Redshift, você define o parâmetro require_ssl como true no grupo de parâmetros do cluster. Qualquer tentativa de conexão que não use SSL é rejeitada.

Para o EMR, você configura a criptografia em trânsito na configuração de segurança do EMR, cobrindo tanto a comunicação entre os nós do cluster quanto o tráfego para serviços externos como o S3.

 

Criptografia de Envelope (Envelope Encryption)

A criptografia de envelope é como o KMS realmente funciona. O KMS só pode criptografar diretamente dados de até 4 KB. Conjuntos de dados reais são gigabytes ou terabytes. A solução é criptografar os dados com uma chave de dados (sem limite de tamanho) e depois criptografar essa chave de dados com a chave mestra KMS.

O processo passo a passo:

Passo 1: Chame KMS GenerateDataKey. O KMS retorna duas coisas: uma chave de dados em texto simples e uma chave de dados criptografada (a mesma chave criptografada com sua chave mestra KMS).

Passo 2: Use a chave de dados em texto simples para criptografar seus dados reais localmente — não dentro do KMS. Não há limite de tamanho para esta etapa.

Passo 3: Armazene os dados criptografados junto com a chave de dados criptografada. Descarte imediatamente a chave de dados em texto simples da memória. A chave mestra nunca sai do KMS.

Para descriptografar: recupere a chave de dados criptografada, envie ao KMS, receba a chave de dados em texto simples, descriptografe os dados localmente.

A garantia de segurança: mesmo que um atacante roube os dados criptografados e a chave de dados criptografada, não pode descriptografar nada sem acesso à chave mestra KMS.

Criptografia entre Contas

Para permitir que uma conta AWS diferente use sua chave KMS, você modifica a política da chave KMS para permitir explicitamente que o role IAM da conta consumidora chame kms:Decrypt.

 

Mascaramento e Anonimização de Dados

Muitos fluxos de trabalho de engenharia de dados precisam compartilhar dados com equipes que não devem ver os valores sensíveis brutos.

O mascaramento oculta parcialmente os dados originais preservando seu formato. Um número de telefone 010-1234-5678 vira 010-****-5678. Os dados subjacentes no banco de dados não mudam — o mascaramento ocorre na camada de exibição ou exportação.

A anonimização transforma dados de forma irreversível para que indivíduos não possam mais ser identificados. Nomes, números de identificação e outros identificadores diretos são removidos ou transformados. Dados verdadeiramente anonimizados não podem ser vinculados a uma pessoa específica.

A pseudonimização substitui informações de identificação por identificadores artificiais (pseudônimos). O nome real vira "USER_4729". Ao contrário da anonimização, a pseudonimização é reversível — existe uma tabela de mapeamento separada que vincula pseudônimos a identidades reais. O GDPR reconhece a pseudonimização como uma medida válida de proteção de dados.

Ferramentas da AWS para implementar mascaramento:

O AWS Glue DataBrew é uma ferramenta visual de preparação de dados que permite definir regras de mascaramento e transformação sem escrever código.

O controle de acesso a nível de coluna do Lake Formation funciona como um mecanismo de mascaramento em tempo de consulta. O Lake Formation simplesmente impede que usuários específicos vejam certas colunas.

O Amazon Macie usa aprendizado de máquina para descobrir e classificar automaticamente PII em buckets S3. Identifica números de cartão de crédito, endereços de e-mail, nomes e dezenas de outros tipos de dados sensíveis.

 

Estruturas de Conformidade

GDPR (Regulamento Geral sobre a Proteção de Dados) é a lei abrangente de privacidade de dados da União Europeia. Aplica-se a qualquer organização que processe dados pessoais de residentes da UE. Os requisitos principais incluem consentimento explícito, direito ao esquecimento, notificação dentro de 72 horas após uma violação de dados, e medidas técnicas de segurança apropriadas. Multas podem chegar a 4% da receita anual global.

HIPAA (Lei de Portabilidade e Responsabilidade de Seguros de Saúde) é a lei federal dos EUA que protege informações médicas. PHI deve ser criptografada tanto em repouso quanto em trânsito, e os registros de acesso devem ser mantidos.

O AWS Artifact é o portal de autoatendimento onde você pode acessar a documentação de conformidade da AWS, incluindo relatórios SOC, ISO 27001, PCI DSS e documentos de conformidade HIPAA.

 

Referência Rápida para o Exame

| Palavra-chave do Exame | Resposta | |----------------------|----------| | Criptografia S3 padrão, sem configuração extra | SSE-S3 | | Criptografia S3 com trilha de auditoria | SSE-KMS | | Cliente fornece chave de criptografia ao S3 | SSE-C | | Criptografia de cluster Redshift | KMS ou CloudHSM | | Criptografia de volume EBS no EMR | LUKS | | Criptografar dados maiores que 4 KB com KMS | Criptografia de envelope | | Uso de chave KMS entre contas | Política de chave KMS permitindo a outra conta | | Forçar HTTPS no S3 | Condição aws:SecureTransport na política do bucket | | Ocultar parcialmente dados preservando formato | Mascaramento (Masking) | | Tornar dados impossíveis de vincular a um indivíduo | Anonimização | | Substituir identificadores por pseudônimos reversíveis | Pseudonimização | | Detecção automática de PII no S3 com ML | Amazon Macie | | Transformações de mascaramento sem código | AWS Glue DataBrew | | Regul

Voltar à lista do blog