A criptografia simétrica deixa um problema em aberto: como combinar uma chave secreta com alguém sem um canal seguro para trocá-la? A resposta, uma das ideias mais elegantes da história da computação, é a criptografia assimétrica — também chamada de chave pública. Ela resolve o problema da distribuição de chaves de um jeito que parece mágica na primeira vez que se entende, e é o que torna possível o comércio, a comunicação e a confiança na internet. Entendê-la é entender como HTTPS, assinaturas digitais e SSH funcionam por baixo.
Um par de chaves matematicamente ligadas
O salto conceitual é abandonar a chave única e usar um par de chaves matematicamente ligadas: uma chave pública e uma chave privada. Elas têm uma propriedade especial e complementar: o que uma cifra, apenas a outra decifra. A chave pública, como o nome diz, você distribui livremente — publica, envia a qualquer um, expõe ao mundo. A chave privada você guarda em segredo absoluto, nunca compartilha. E a matemática garante que, mesmo conhecendo a chave pública, é inviável calcular a chave privada correspondente. O algoritmo clássico que implementa isso é o RSA, cuja segurança se apoia na dificuldade de fatorar números enormes.
Cifrar com a pública para o sigilo
Veja como isso resolve a confidencialidade sem troca prévia de segredo. Se alguém quer te enviar uma mensagem secreta, ela cifra com a sua chave pública (que é conhecida por todos). A partir daí, só a sua chave privada — que só você tem — consegue decifrar. Um interceptador que capture a mensagem cifrada e conheça sua chave pública não consegue fazer nada com isso, porque cifrar e decifrar são operações distintas aqui: a chave pública tranca, mas não destranca. O problema da distribuição desaparece: nunca foi preciso trocar um segredo, pois a chave usada para cifrar era pública desde o início. Repare na assimetria (daí o nome): as duas pontas usam chaves diferentes.
Cifrar com a privada para provar autoria
Agora a segunda mágica, que resolve um problema diferente — a autenticidade. Inverta o uso das chaves: se você cifra algo com a sua chave privada, qualquer um pode decifrar com a sua chave pública. Isso não protege segredo (todos podem ler), mas prova que foi você — porque só você possui a chave privada capaz de gerar aquele resultado. Esse é o fundamento da assinatura digital: uma prova matemática de autoria e integridade. As mesmas duas chaves servem a dois propósitos opostos dependendo da ordem de uso — cifrar com a pública dá sigilo, cifrar com a privada dá autenticidade.
O híbrido: assimétrica só no início
Na prática, há um detalhe de engenharia importante: a criptografia assimétrica é lenta, muito mais custosa que a simétrica. Então o mundo real usa uma abordagem híbrida, e é exatamente assim que o HTTPS funciona (aula TLS/SSL na prática: toda a criptografia trabalhando junta). Usa-se a criptografia assimétrica apenas no início, para trocar com segurança uma chave simétrica temporária; a partir daí, a comunicação inteira usa a criptografia simétrica (rápida) com aquela chave recém-combinada. O melhor dos dois mundos: a assimétrica resolve a distribuição da chave, a simétrica cuida do volume de dados. Toda vez que você vê o cadeado no navegador, essa dança aconteceu em milissegundos.
Como saber de quem é a chave pública
Mas há um problema que a matemática sozinha não resolve, e ele nos leva ao conceito mais importante desta aula: como você sabe que uma chave pública realmente pertence a quem diz pertencer? Se um atacante man-in-the-middle intercepta sua conexão e te entrega a chave pública dele fingindo ser o banco, você cifraria as mensagens para o atacante sem saber. A chave pública resolve a distribuição, mas cria um problema de confiança na identidade. A solução é a PKI (Public Key Infrastructure, Infraestrutura de Chaves Públicas), construída sobre certificados digitais e Autoridades Certificadoras (CAs). Um certificado é um documento que associa uma chave pública a uma identidade (um domínio, uma empresa), e ele é assinado digitalmente por uma CA — uma entidade em quem todos concordam em confiar. Quando seu navegador acessa um site HTTPS, ele recebe o certificado do site, verifica a assinatura da CA que o emitiu, e só então confia que aquela chave pública é legítima.
A cadeia de confiança e seus vetores
Isso forma uma cadeia de confiança: seu navegador já vem com uma lista de CAs raiz confiáveis pré-instaladas; essas CAs assinam certificados (ou delegam a CAs intermediárias), e assim a confiança se propaga da raiz até o site que você visita. Para o pentester, essa cadeia é rica em vetores: certificados expirados ou auto-assinados (não validados por uma CA confiável) geram os avisos de segurança do navegador e podem indicar configuração frágil; e ataques de man-in-the-middle contra HTTPS frequentemente envolvem tentar fazer a vítima aceitar um certificado ilegítimo. Ferramentas de interceptação como o Burp Suite (aula Burp Suite: a bancada de trabalho do pentester web) funcionam justamente instalando um certificado próprio na máquina de teste, para poder "abrir" o tráfego HTTPS em laboratório — o que só funciona porque a máquina foi configurada para confiar naquele certificado. Do lado defensivo, a lição é que a segurança do HTTPS depende inteiramente da integridade dessa cadeia de confiança: proteger as chaves privadas, usar certificados válidos de CAs confiáveis, e educar usuários a não ignorar avisos de certificado.
Fontes e leituras recomendadas
- Serious Cryptography — Jean-Philippe Aumasson (capítulos de RSA e chave pública)
- Crypto 101 — Laurens Van Houtven (gratuito, ótima seção sobre PKI)
- Let's Encrypt — documentação sobre como funcionam certificados e CAs na prática
- Cloudflare Learning Center — explicações acessíveis de PKI, certificados e TLS
Exercícios
-
Qual a diferença fundamental entre criptografia simétrica e assimétrica em termos de chaves?
✓ Resposta:A simétrica usa uma única chave secreta compartilhada para cifrar e decifrar; a assimétrica usa um par de chaves matematicamente ligadas — uma pública (distribuída livremente) e uma privada (secreta) — em que o que uma cifra apenas a outra decifra.
-
Descreva como a criptografia assimétrica permite enviar uma mensagem confidencial a alguém sem nunca ter trocado um segredo com essa pessoa.
✓ Resposta:A pessoa cifra a mensagem com a chave pública do destinatário, que é conhecida por todos; a partir daí, apenas a chave privada correspondente (que só o destinatário possui) consegue decifrá-la. Como a chave usada para cifrar já era pública, nunca foi preciso trocar um segredo.
-
O que muda quando se cifra com a chave privada em vez da pública, e que propósito de segurança isso atende?
✓ Resposta:Cifrar com a chave privada permite que qualquer um decifre com a pública, o que não protege sigilo, mas prova a autoria — pois só o dono da privada poderia ter gerado aquilo. Atende à autenticidade (e integridade), sendo a base da assinatura digital.
-
Por que o mundo real usa criptografia híbrida (assimétrica + simétrica) em vez de só assimétrica?
✓ Resposta:Porque a criptografia assimétrica é lenta e custosa. Usa-se a assimétrica apenas no início para trocar com segurança uma chave simétrica temporária, e o restante da comunicação usa a simétrica, que é rápida — combinando a solução da distribuição de chaves com desempenho.
-
Que problema a PKI resolve que a criptografia assimétrica sozinha não resolve, e qual o papel de uma Autoridade Certificadora nisso?
✓ Resposta:Resolve o problema de confiança na identidade: garantir que uma chave pública realmente pertence a quem afirma. A Autoridade Certificadora, em quem todos concordam em confiar, assina digitalmente certificados que associam uma chave pública a uma identidade, permitindo verificar sua legitimidade.