Skip to content

Criptografia Simétrica - Casos de Uso

A criptografia simétrica é, em termos práticos, o motor silencioso da segurança digital moderna. Ela cifra os bytes que atravessam o cabo de rede do seu computador até o servidor, protege o conteúdo de discos cifrados, mantém sigilosos os backups corporativos e sustenta a confidencialidade de praticamente todos os serviços utilizados no cotidiano.

Neste post percorremos os principais casos de uso da criptografia simétrica, categorizados pelo estado dos dados (em repouso, em trânsito e em uso) e por tipo de aplicação, com foco em como se traduzem em ferramentas e configurações para quem administra sistemas Linux.

A criptografia de disco completo (Full Disk Encryption, ou FDE) protege todo o conteúdo de uma unidade de armazenamento contra acesso não autorizado quando o dispositivo é perdido, roubado ou descartado sem limpeza adequada. É o caso mais comum e mais importante de criptografia em repouso.

  • Linux: LUKS (padrão), geralmente com AES-XTS-512 (chave de 512 bits dividida entre dois contextos XTS, resultando em segurança efetiva de 256 bits)
  • Windows: BitLocker, também com AES-XTS ou AES-CBC
  • macOS: FileVault, com AES-XTS
  • Android e iOS: cifragem baseada em AES, integrada ao hardware (Secure Enclave, TrustZone)
Terminal window
# Criar um volume LUKS cifrado com AES-XTS-512
cryptsetup luksFormat --type luks2 \
--cipher aes-xts-plain64 --key-size 512 /dev/sdb1
# Abrir o volume (solicita a senha, que será derivada em chave)
cryptsetup open /dev/sdb1 dados_cifrados
# Criar um sistema de arquivos no volume aberto
mkfs.ext4 /dev/mapper/dados_cifrados

Alternativa à cifragem do disco inteiro, protege apenas arquivos ou diretórios específicos. É útil em servidores multiusuário ou quando apenas parte dos dados é sensível.

  • eCryptfs: criptografia transparente por diretório, usada por anos em pastas home do Ubuntu
  • fscrypt: suportado nativamente por ext4, F2FS e Ceph, permite cifrar diretórios individuais
  • gocryptfs e EncFS: cifragem em espaço de usuário, útil para integrar com serviços em nuvem

Bancos de dados corporativos oferecem alguma forma de TDE (Transparent Data Encryption), que cifra os arquivos subjacentes do banco de forma transparente para a aplicação.

  • PostgreSQL: cifragem via pgcrypto para colunas específicas, ou cifragem no sistema de arquivos
  • MySQL e MariaDB: oferecem TDE para tablespaces InnoDB
  • MongoDB: Encryption at Rest nativo em edições corporativas
  • SQL Server e Oracle: TDE completo em edições Enterprise

Backups são alvos frequentes de ataques, especialmente de ransomware. Cifrá-los é prática essencial.

  • restic: AES-256-CTR com Poly1305 para autenticação
  • borg: AES-256-CTR com HMAC-SHA256
  • duplicity: AES via GPG
  • tar + openssl: solução improvisada, mas válida

Exemplo de backup incremental cifrado com restic:

Terminal window
restic -r /mnt/backup init
restic -r /mnt/backup backup /etc /var/www /home

Exemplo de backup simples cifrado combinando tar e openssl:

Terminal window
tar czf - /var/www | \
openssl enc -aes-256-gcm -pbkdf2 \
-out backup.tar.gz.enc

Significado de cada opção do comando:

  • tar czf - /var/www: cria (c) um arquivo tar comprimido com gzip (z), direcionando a saída (f -) para a entrada do próximo comando por meio do pipe
  • openssl enc: subcomando do openssl responsável pela cifragem simétrica
  • -aes-256-gcm: define o algoritmo e o modo de operação (AES com chave de 256 bits em modo GCM, autenticado)
  • -pbkdf2: utiliza PBKDF2 para derivar a chave de cifragem a partir da senha informada
  • -out backup.tar.gz.enc: arquivo de saída que receberá o backup cifrado (a entrada vem do pipe, por isso não há -in)

Mídias portáteis são frequentemente perdidas, então a cifragem é especialmente importante nelas.

  • LUKS portátil em Linux
  • BitLocker To Go em Windows
  • VeraCrypt multiplataforma
  • Pendrives com cifragem em hardware (Kingston IronKey e similares)

Após o handshake inicial (que usa criptografia assimétrica e troca de chaves), toda a comunicação em TLS passa a ser protegida por criptografia simétrica, com AES-GCM ou ChaCha20-Poly1305. Isso vale para HTTPS, SMTPS, IMAPS, FTPS, LDAPS e qualquer outro protocolo “sobre TLS”.

Terminal window
# Testar quais cifras simétricas um servidor HTTPS oferece
openssl s_client -connect blog.ferpdias.com.br:443 \
-tls1_3 </dev/null 2>/dev/null | \
grep -E 'Cipher|Protocol'

O SSH é o protocolo padrão para administração remota de servidores. Após autenticar e trocar chaves, o canal passa a usar criptografia simétrica. Os algoritmos modernos preferidos são chacha20-poly1305@openssh.com e aes256-gcm.

Terminal window
# Ver as cifras simétricas negociadas em uma sessão SSH
ssh -v user@servidor 2>&1 | grep -i "cipher"

VPNs criam túneis cifrados entre dois pontos, e a criptografia simétrica garante o sigilo do tráfego dentro do túnel.

  • WireGuard: usa exclusivamente ChaCha20-Poly1305, por padrão e sem opções
  • OpenVPN: configurável, geralmente AES-256-GCM
  • IPsec (strongSwan, Libreswan): amplamente configurável, AES-GCM é o mais comum

Redes Wi-Fi modernas utilizam criptografia simétrica para proteger o tráfego sem fio:

  • WPA2: AES em modo CCMP
  • WPA3: AES-GCMP-256 no modo corporativo
  • WEP (obsoleto): usava RC4, quebrado há décadas
  • DNS over HTTPS (DoH): tráfego cifrado por TLS
  • DNS over TLS (DoT): tráfego cifrado por TLS
  • DNSCrypt: usa XSalsa20 ou AES-GCM

A proteção de dados em uso (ou seja, enquanto estão em memória sendo processados) é a fronteira mais recente da criptografia aplicada e um dos domínios mais ativos de pesquisa.

  • AMD SEV (Secure Encrypted Virtualization): cifra a RAM de máquinas virtuais com uma chave distinta para cada VM, protegendo-as até mesmo do hipervisor
  • Intel TME (Total Memory Encryption) e Intel MKTME (Multi-Key TME): cifragem total ou segmentada da memória
  • ARM CCA (Confidential Compute Architecture): proposta similar para arquiteturas ARM
  • Intel SGX: regiões cifradas de memória acessíveis apenas por código autorizado
  • ARM TrustZone: usada em smartphones e dispositivos embarcados

Em todos esses casos, a criptografia simétrica (geralmente AES com variantes de modos específicos) cifra as páginas de memória de forma transparente para a aplicação.

Mensageiros com criptografia ponta a ponta

Section titled “Mensageiros com criptografia ponta a ponta”
  • Signal, WhatsApp e Messenger: utilizam o Protocolo Signal, que combina troca de chaves assimétrica inicial com cifragem simétrica (AES-256) por mensagem
  • iMessage: AES-128 em modo CTR
  • Telegram (chats secretos): AES-256 em modo IGE
  • KeePass e KeePassXC: AES-256 ou ChaCha20
  • Bitwarden: AES-256-CBC com HMAC-SHA256
  • 1Password: AES-256-GCM
  • 7-Zip: AES-256
  • WinRAR: AES-256
  • ZIP com AES: suporte via WinZip, 7-Zip e algumas versões do unzip
Terminal window
# Criar um arquivo 7z cifrado com AES-256
7z a -mem=AES256 -p backup.7z /caminho/dados

Embora blockchains dependam mais de criptografia assimétrica e de hashes, a criptografia simétrica aparece em componentes auxiliares, como carteiras cifradas em disco (o Bitcoin Core utiliza AES-256-CBC) e em protocolos de camada 2.

A tabela a seguir resume os principais casos de uso cobertos e os algoritmos típicos:

Caso de usoAlgoritmo típicoFerramentas / Padrões
Criptografia de discoAES-XTSLUKS, BitLocker, FileVault
Criptografia por arquivoAES-GCM, AES-CTReCryptfs, fscrypt, gocryptfs
Banco de dados (TDE)AES-CBC, AES-GCMPostgreSQL, MySQL, MongoDB
BackupsAES-GCM, ChaCha20-Poly1305restic, borg, duplicity
TLS (dados após handshake)AES-GCM, ChaCha20-Poly1305Nginx, Apache, HAProxy
SSHChaCha20-Poly1305, AES-GCMOpenSSH
VPNChaCha20-Poly1305, AES-GCMWireGuard, OpenVPN, IPsec
Wi-Fi (WPA2 / WPA3)AES-CCMP, AES-GCMPhostapd, firmware de roteador
Memória de VMsAES com chave por VMAMD SEV, Intel TDX
Mensageria ponta a pontaAES-256Signal, WhatsApp
Cofres de senhasAES-256, ChaCha20KeePass, Bitwarden, 1Password
Arquivos compactados cifradosAES-2567-Zip, WinRAR

Para quem administra sistemas Linux, a criptografia simétrica aparece em quase todas as frentes. Alguns comandos úteis para inspecionar e configurar:

Terminal window
# Ver algoritmos suportados pelo kernel atual
cat /proc/crypto | grep -E '^name|^driver' | head -20
# Verificar se o processador oferece aceleração AES-NI
grep -o 'aes' /proc/cpuinfo | head -1
# saída esperada: aes
# Benchmark de algoritmos simétricos
openssl speed -evp aes-256-gcm chacha20-poly1305
# Ver cifras disponíveis no SSH
ssh -Q cipher
# Ver cifras aceitas pelo Nginx atual
nginx -T 2>/dev/null | grep -i ssl_ciphers

A criptografia simétrica é a base silenciosa de praticamente todos os controles de segurança digital que utilizamos. Do notebook do funcionário remoto ao backup corporativo em nuvem, do túnel VPN à sessão SSH, ela está presente em todas as camadas, geralmente materializada como AES-256-GCM ou ChaCha20-Poly1305.

Entender onde ela aparece é fundamental para fazer boas escolhas de arquitetura, configurar serviços de forma segura e identificar sistemas legados que precisam de atualização. No próximo post você verá, na prática, como cifrar um disco adicional em VMs Linux e Windows, consolidando o conhecimento teórico deste post em um laboratório completo. Em seguida, mergulharemos na principal limitação do modelo simétrico, a necessidade de trocar chaves com segurança, problema que motivou o surgimento da criptografia assimétrica e dos protocolos modernos de acordo de chaves como o Diffie-Hellman.