Aula 09 – TLS/SSL e Segurança em Redes 🌐
Toda vez que você vê o cadeado no navegador, o TLS está trabalhando nos bastidores. Nesta aula vamos juntar tudo que aprendemos — simétrica, assimétrica, hash e certificados — em um único protocolo que protege bilhões de conexões por dia.
🔓 SSL x TLS: qual a diferença?
SSL (Secure Sockets Layer) foi o protocolo original, hoje totalmente aposentado por vulnerabilidades. TLS (Transport Layer Security) é seu sucessor moderno — mas o termo "SSL" continua sendo usado coloquialmente para se referir ao TLS.
| Versão | Status |
|---|---|
| SSL 2.0 / 3.0 | ❌ Quebrados, proibidos |
| TLS 1.0 / 1.1 | ❌ Obsoletos, desativados pela maioria dos navegadores |
| TLS 1.2 | ✅ Ainda amplamente suportado |
| TLS 1.3 | ✅ Padrão atual, mais rápido e seguro |
🤝 O TLS Handshake
Antes de trocar qualquer dado, cliente e servidor negociam uma conexão segura através do handshake — o momento em que tudo que vimos até agora se junta:
sequenceDiagram
participant C as Cliente (navegador)
participant S as Servidor
C->>S: 1. Client Hello (versões TLS, cifras suportadas)
S->>C: 2. Server Hello + Certificado Digital (Aula 07)
C->>C: 3. Valida o certificado na cadeia de confiança (PKI)
C->>S: 4. Troca de chaves (Diffie-Hellman - Aula 05)
Note over C,S: Ambos agora tem uma chave simétrica compartilhada
C->>S: 5. Dados cifrados com AES (Aula 04) usando essa chave Resumindo o handshake
- Servidor prova sua identidade com um certificado (PKI).
- Cliente e servidor combinam uma chave secreta via Diffie-Hellman.
- Toda a comunicação depois disso é cifrada com AES, usando essa chave — rápida e segura.
🔒 HTTPS: HTTP sobre TLS
HTTPS é simplesmente o protocolo HTTP normal, rodando dentro de uma conexão TLS. Ele garante:
- Confidencialidade: ninguém no meio do caminho consegue ler os dados.
- Integridade: ninguém consegue alterar os dados sem ser detectado.
- Autenticidade: você tem garantia de estar falando com o servidor real (via certificado).
🕵️ Ataques que o TLS Previne (e os que não previne)
| Ataque | TLS previne? |
|---|---|
| Man-in-the-Middle (interceptação de tráfego) | ✅ Sim |
| Servidor falso se passando pelo real | ✅ Sim (se o certificado for validado corretamente) |
| Phishing (site falso com domínio parecido) | ❌ Não — o site falso pode ter certificado TLS válido para o próprio domínio dele |
TLS não é prova de site legítimo
Um site de phishing em paypa1-login.com pode perfeitamente ter um cadeado verde válido — o TLS garante que a conexão com aquele domínio é segura, não que o domínio seja confiável.
💻 Inspecionando uma Conexão TLS
📝 Exercícios de Fixação
- Básico: Qual a diferença entre SSL e TLS?
- Básico: Por que TLS 1.0 e 1.1 são considerados inseguros hoje?
- Intermediário: Descreva, em 4 passos, o que acontece durante um TLS handshake.
- Intermediário: Por que o TLS não impede um usuário de cair em um site de phishing?
- Desafio: Pesquise o que é HSTS (HTTP Strict Transport Security) e como ele protege contra ataques de downgrade para HTTP.
🚀 Mini-Projeto: Auditor de TLS
Objetivo: Analisar a configuração TLS de 3 sites diferentes usando linha de comando.
- Escolha 3 sites (ex: um banco, uma rede social, um site pessoal).
- Para cada um, verifique a versão de TLS suportada com
openssl s_client. - Verifique se o cabeçalho
Strict-Transport-Securityestá presente comcurl -I. - Compare os resultados: qual site parece mais bem configurado em segurança de rede?