Criptografia é a espinha dorsal da confidencialidade — aquela primeira letra da tríade CIA da aula A tríade CIA e o modelo AAA: o vocabulário da defesa. É o que protege senhas, transações, comunicações e dados em repouso. Para o pentester, entendê-la é duplamente vital: é a principal defesa que você vai tentar contornar, e é a base de protocolos (TLS, SSH, VPNs) que você precisa compreender para atacar ou defender. Não vamos fazer matemática pesada — o objetivo é o modelo mental funcional, não formar um criptógrafo. Começamos pela forma mais antiga e intuitiva: a criptografia simétrica.
A mesma chave tranca e destranca
A ideia é simples e você já a usou na infância sem saber: a mesma chave que tranca é a que destranca. Na criptografia simétrica, uma única chave secreta cifra e decifra a mensagem. Quem tem a chave lê; quem não tem, vê apenas ruído. O exemplo histórico mais didático é a cifra de César, que desloca cada letra do alfabeto por um número fixo — com deslocamento 3, "A" vira "D", "B" vira "E". A "chave" é o número de deslocamento. É trivial de quebrar (só há 25 possibilidades), mas ilustra a essência: uma regra reversível e uma chave que a parametriza.
AES: o padrão que roda em tudo
A criptografia simétrica moderna é infinitamente mais robusta, mas mantém o princípio da chave única. O padrão dominante hoje é o AES (Advanced Encryption Standard), usado em praticamente tudo — de conexões HTTPS a discos criptografados a mensageiros. O AES opera sobre blocos de dados com chaves de 128, 192 ou 256 bits, e a força dele vem do tamanho do espaço de chaves: uma chave AES-256 tem tantas combinações possíveis que tentar todas por força bruta é inviável mesmo para todos os computadores do planeta somados por bilhões de anos. Aqui está uma lição que se repete em criptografia: a segurança não está em esconder o algoritmo, mas na chave. O funcionamento do AES é público, documentado, escrutinado por criptógrafos do mundo inteiro — e é por isso que confiamos nele. Um algoritmo secreto não testado é mais suspeito que um público que sobreviveu a décadas de ataques. Esse é o princípio de Kerckhoffs, e ele contradiz a intuição do iniciante que acha que esconder o método traz segurança.
Bloco e fluxo, e o perigo do ECB
Uma distinção prática importante: cifras simétricas se dividem em cifras de bloco (como o AES, que processa dados em blocos de tamanho fixo) e cifras de fluxo (que cifram bit a bit ou byte a byte, úteis para dados contínuos como streaming). E as cifras de bloco têm modos de operação — regras de como encadear os blocos — que têm enorme consequência de segurança. O modo mais ingênuo, o ECB (Electronic Codebook), cifra cada bloco independentemente, e isso cria uma falha visual famosa: blocos idênticos de entrada produzem blocos idênticos de saída, de modo que padrões do dado original "vazam" através da cifragem. A ilustração clássica é uma imagem cifrada em ECB na qual ainda se reconhece o contorno da figura original. Modos melhores, como CBC e GCM, encadeiam os blocos e usam um valor inicial aleatório (o IV) para que a mesma entrada gere saídas diferentes a cada vez. Para o pentester, encontrar ECB em uso é um achado — sinaliza uma implementação criptográfica fraca e explorável.
O calcanhar: combinar a chave sem canal seguro
E aqui chegamos à fraqueza estrutural da criptografia simétrica, que motivou a invenção da assimétrica. A força dela — uma única chave compartilhada — é também seu calcanhar: como duas partes que nunca se encontraram combinam a chave secreta sem que um interceptador a capture? Se você precisa enviar a chave pela mesma rede insegura pela qual enviará a mensagem cifrada, um atacante no meio (o man-in-the-middle da aula Protocolos em ação: handshake TCP, DNS e inspeção real) captura a chave e lê tudo. Esse é o problema da distribuição de chaves, e ele era um obstáculo real até os anos 1970. Além dele, há o problema de escala: numa rede de muitas pessoas, cada par precisaria de uma chave própria, gerando uma explosão de chaves a gerenciar. A criptografia assimétrica resolve elegantemente ambos, como veremos.
Quase nunca é o algoritmo que quebra
Do ponto de vista ofensivo, o que você extrai desta aula é onde a criptografia simétrica falha na prática — e quase nunca é o algoritmo em si. O AES não é quebrado; o que se quebra é tudo ao redor dele: chaves fracas ou derivadas de senhas ruins, uso de modos inseguros como ECB, reutilização de IVs, chaves hardcoded no código-fonte de um aplicativo (algo que você encontrará ao analisar apps no Bloco XV), gerenciamento descuidado. O criptógrafo Bruce Schneier tem uma máxima que vale ouro: qualquer um consegue criar um algoritmo que ele próprio não sabe quebrar — o difícil é criar um que ninguém saiba. A lição para você é dupla: confie nos padrões estabelecidos e escrutinados (nunca invente sua própria criptografia), e procure as falhas na implementação e no gerenciamento, não no algoritmo.
Fontes e leituras recomendadas
- Serious Cryptography — Jean-Philippe Aumasson (acessível e moderno, referência ideal para este bloco)
- Crypto 101 — Laurens Van Houtven (livro gratuito e introdutório)
- CyberChef (gchq.github.io/CyberChef) — ferramenta para experimentar cifras na prática
- Cryptopals Challenges (cryptopals.com) — exercícios que ensinam a quebrar cripto mal implementada
Exercícios
-
Explique o princípio central da criptografia simétrica em uma frase, usando a analogia da chave.
✓ Resposta:A mesma chave secreta que cifra a mensagem é a que a decifra — quem possui a chave lê, quem não possui vê apenas ruído.
-
O que diz o princípio de Kerckhoffs, e por que confiamos mais em um algoritmo público que em um secreto?
✓ Resposta:O princípio de Kerckhoffs afirma que a segurança de um sistema deve residir na chave, não no segredo do algoritmo. Confiamos mais em algoritmos públicos porque foram escrutinados por especialistas ao longo do tempo e sobreviveram a ataques, ao contrário de um algoritmo secreto e não testado.
-
Por que o modo de operação ECB é considerado inseguro? Descreva a falha visual que o ilustra.
✓ Resposta:Porque o ECB cifra cada bloco independentemente, de modo que blocos de entrada idênticos geram blocos de saída idênticos, deixando padrões do dado original vazarem. A ilustração clássica é uma imagem cifrada em ECB na qual ainda se reconhece o contorno da figura original.
-
Qual é o "problema da distribuição de chaves" e por que ele é a fraqueza estrutural da criptografia simétrica?
✓ Resposta:É o desafio de duas partes combinarem a chave secreta sem que um interceptador a capture, quando só dispõem de um canal inseguro. É a fraqueza estrutural porque, se a chave for enviada por esse canal, um man-in-the-middle a captura e lê toda a comunicação.
-
Segundo a aula, onde a criptografia simétrica costuma falhar na prática, já que o algoritmo (como o AES) não é quebrado? Dê dois exemplos.
✓ Resposta:Falha no entorno do algoritmo: exemplos incluem chaves fracas derivadas de senhas ruins, uso de modos inseguros (ECB), reutilização de IV, e chaves hardcoded no código-fonte — problemas de implementação e gerenciamento, não do algoritmo.