Quando a conversa cliente↔servidor viaja pela internet, ela passa por muitos computadores no caminho (seu roteador, seu provedor, backbones). Sem proteção, qualquer um no caminho lê e altera tudo. É como mandar um cartão-postal: o carteiro lê.
O TLS (Transport Layer Security) é o "envelope lacrado". HTTP + TLS = HTTPS — o "S" de secure, o cadeado do navegador. Ele garante:
- Confidencialidade: ninguém no caminho lê o conteúdo (vai cifrado).
- Integridade: ninguém no caminho altera o conteúdo sem quebrar o lacre.
- Autenticidade: você tem certeza de que fala com o servidor certo (via certificado).
O que o TLS NÃO faz (erro comum de iniciante):
- ❌ Não deixa o site "seguro" por dentro. HTTPS protege o transporte, não a aplicação. Um site com cadeado pode ter SQL injection, senha fraca, dados expostos. O cadeado só diz "a conversa está cifrada", não "o site é confiável".
- ❌ Não protege se a versão do TLS for velha. TLS 1.0/1.1 têm falhas conhecidas; o mínimo aceitável hoje é TLS 1.2, ideal 1.3. (É o achado do Ex. 11.4: "TLS 1.0 aceito".)
Analogia: TLS é um caminhão-forte blindado. Ele impede que assaltem o dinheiro na estrada. Não impede que o banco de destino seja mal administrado. Segurança de aplicação (o resto do curso) é a segurança do banco.