A camada de segurança da Internet: confidencialidade, integridade e autenticação — RFC 8446 (TLS 1.3)
O TLS (Transport Layer Security) é o protocolo que cifra e autentica a comunicação na Internet. É o "S" do HTTPS.
O SSL (Secure Sockets Layer) foi o predecessor, criado pela Netscape nos anos 1990. O TLS é sua evolução padronizada pela IETF. Hoje, "SSL" é usado por hábito, mas o protocolo em uso é sempre o TLS — o SSL está obsoleto e inseguro.
| Versão | Ano | Situação |
|---|---|---|
| SSL 2.0 | 1995 | Quebrado — banido. |
| SSL 3.0 | 1996 | Inseguro (POODLE) — banido. |
| TLS 1.0 | 1999 | Obsoleto (depreciado em 2021). |
| TLS 1.1 | 2006 | Obsoleto (depreciado em 2021). |
| TLS 1.2 | 2008 | Seguro e ainda amplamente usado. |
| TLS 1.3 | 2018 | Atual — mais rápido e seguro. |
O TLS combina o melhor dos dois mundos da criptografia, em duas fases:
Uma cipher suite nomeia os algoritmos negociados. Compare as duas eras:
O cliente valida o certificado e ambos derivam as mesmas chaves de sessão.
Mais rápido e com o handshake cifrado a partir do ServerHello — inclusive o certificado.
A autenticação do servidor repousa na PKI: um certificado X.509 liga uma chave pública a um nome de domínio, assinado por uma Autoridade Certificadora (CA).
O servidor prova possuir a chave privada correspondente ao certificado (no TLS 1.3, via CertificateVerify). Sem ela, um impostor não conclui o handshake — mesmo tendo o certificado público.
Com chaves efêmeras (EC)DHE, cada sessão usa um segredo descartável.
Se a chave privada de longo prazo do servidor vazar no futuro, as sessões passadas continuam seguras — pois as chaves de sessão não podem ser recalculadas.
O TLS 1.3 exige troca de chave efêmera. O antigo modo "RSA key transport" (sem forward secrecy) foi removido: lá, capturar o tráfego e depois roubar a chave revelava tudo.
Handshake em 1-RTT (e 0-RTT na retomada), contra 2-RTT do 1.2.
Removeu o que era fraco: RSA key transport, RC4, MD5/SHA-1, cifras CBC, compressão e renegociação. Só sobraram primitivas AEAD.
| Ataque | Alvo | Lição |
|---|---|---|
| POODLE | SSL 3.0 (padding CBC) | Aposentar protocolos antigos. |
| BEAST | TLS 1.0 (CBC/IV) | Migrar para AEAD. |
| CRIME / BREACH | Compressão | Compressão + cifra vaza segredos. |
| Heartbleed | OpenSSL (implementação) | Bug de código, não do protocolo — atualizar bibliotecas. |
| DROWN | SSLv2 residual | Desativar versões legadas em todo lugar. |
| Downgrade | Negociação de versão | Forçar a versão mais alta; o 1.3 inclui proteção anti-downgrade. |
O TLS (sucessor do SSL) cifra e autentica a comunicação via criptografia híbrida: um handshake assimétrico ((EC)DHE + certificado) estabelece chaves para uma cifra simétrica AEAD. Garante confidencialidade, integridade, autenticação e forward secrecy. O TLS 1.3 é mais rápido (1-RTT), com handshake cifrado e sem algoritmos legados. Suas falhas históricas vieram do legado e de bugs de implementação — não do desenho.
Voltar aos Tópicos