lgpd-encryption-keys
Encryption & Key Management
Controles técnicos de criptografia e gestão de chaves voltados a atender o dever geral de segurança do Art. 46 da LGPD e as recomendações do Guia Orientativo de Segurança da Informação para Agentes de Tratamento de Pequeno Porte da ANPD.
Exigência legal vs. referência de engenharia: O Art. 46 da LGPD exige medidas técnicas e administrativas aptas a proteger os dados pessoais, mas não estipula em lei versões específicas de protocolo (TLS 1.3), certificate pinning, intervalos fixos de rotação de chaves ou algoritmos nominais. Os parâmetros abaixo são referências recomendadas de engenharia de segurança (e reduzem drasticamente o impacto regulatório em incidentes — Art. 48 e Res. CD/ANPD nº 15/2024). Avalie sempre o risco operacional concreto (por exemplo, certificate pinning em apps mobile exige automação rigorosa de rotação e chaves de backup para não inutilizar o app dos usuários).
As 3 camadas de criptografia (e o que cada uma realmente protege)
1. Em trânsito (rede)
- TLS 1.2+ (preferencialmente TLS 1.3) em toda comunicação externa (
HTTPS) e conexões com banco/cache (sslmode=verify-fullno PostgreSQL). - HSTS (
Strict-Transport-Security) em aplicações web. - Certificate pinning em mobile: recomendado apenas em fluxos de altíssimo risco (ex.: financeiro/saúde) desde que acompanhado de estratégia de pinning da SPKI intermediária/backup e atualização remota segura.
2. Em repouso na infraestrutura (Storage / Volume Encryption ≠ TDE nativo do PostgreSQL)
- Correção técnica importante: o PostgreSQL comunitário não possui TDE (Transparent Data Encryption) nativo embutido por padrão (diferentemente de Oracle/SQL Server ou distribuições específicas como EDB / extensões
pg_tde). - O que provedores como AWS RDS/Aurora, GCP Cloud SQL e Supabase/Neon entregam por padrão é criptografia de volumes de armazenamento, snapshots e WAL em nível de infraestrutura/bloco (AES-256 gerenciado via KMS).
- O que isso protege: roubo físico de discos ou vazamento de snapshots brutos de infraestrutura.
- O que isso NÃO protege: vazamento via credencial de banco comprometida, SQL injection, dump lógico (
pg_dump) ou acesso indevido de DBA — pois o banco devolve o dado em claro para qualquer sessão autenticada.