Protokol TLS (Transport Layer Security) a jeho předchůdce SSL (Secure Sockets Layer) jsou kryptografické protokoly, které zajišťují bezpečnost a integritu dat pro komunikaci v sítích TCP/IP, jako je Internet. Několik verzí těchto protokolů se běžně používá v aplikacích, jako je prohlížení webu, elektronická pošta, faxování přes internet, instant messaging a přenos hlasu přes IP (VoIP).
Krátká historie a rozdíl mezi SSL a TLS
SSL byl vyvinut firmou Netscape v 90. letech. Po několika verzích byl SSL vyvíjen do podoby bezpečnějšího a standardizovaného protokolu, který dnes známe jako TLS. Prakticky dnes platí, že pojem "SSL" se často používá historicky nebo jako zkratka v běžné řeči, zatímco moderní implementace by měly používat TLS (aktuálně TLS 1.2 a TLS 1.3).
Jak TLS/SSL fungují — základní principy
TLS kombinuje asymetrické šifrování (pro navázání spojení a výměnu klíčů) a symetrické šifrování (pro vlastní výměnu dat) spolu s kontrolou integrity pomocí MAC/AEAD algoritmů. Zjednodušený průběh (handshake):
- ClientHello: klient navrhne verzi protokolu, seznam podporovaných šifrovacích sad a pošle náhodná data.
- ServerHello: server vybere parametry, pošle svůj certifikát a veřejný klíč (případně ServerKeyExchange).
- Ověření certifikátu: klient zkontroluje platnost certifikátu (řetězec důvěry, podpis, shoda domény).
- Výměna klíče: klient a server bezpečně dohodnou sdílený symetrický klíč (v starších verzích často pomocí RSA; moderně preferováno ECDHE pro forward secrecy).
- ChangeCipherSpec a Finished: obě strany přepnou na šifrovaný režim a potvrdí, že handshake byl úspěšný.
U TLS 1.3 je handshake zjednodušen a rychlejší — většina kroků je sloučena, což snižuje latenci a některá rizika spojená s dřívějšími verzemi.
Certifikáty a PKI
Identita serveru (a případně klienta) se ověřuje pomocí digitálních certifikátů vydaných certifikačními autoritami (CA). Základní prvky, na které je potřeba dávat pozor:
- Řetězec důvěry: certifikát musí být podepsán důvěryhodnou CA nebo řetězcem podepsaným až k důvěryhodnému kořenovému certifikátu.
- Platnost: kontrola data vydání a vypršení platnosti certifikátu.
- Shoda jména: certifikát musí odpovídat doméně (Common Name / SAN).
- Revokace: ověřování přes CRL nebo OCSP pro zjištění, zda certifikát nebyl odvolán.
Verze TLS, zranitelnosti a doporučení
- Deprecated: SSL 2.0/3.0 a TLS 1.0/1.1 jsou považovány za zastaralé a zranitelné — měly by být zakázány.
- Současné doporučení: povolit TLS 1.2 a TLS 1.3. TLS 1.3 má lepší bezpečnostní vlastnosti, méně komplexní handshake a odstraněné slabé algoritmy.
- Šifry: preferovat AEAD ciphers (např. AES-GCM, ChaCha20-Poly1305) a preferovat ECDHE pro zajištění forward secrecy.
- Útoky, na které je třeba dávat pozor: POODLE (SSLv3), BEAST (starší TLS implementace), Heartbleed (chyba v OpenSSL - únik paměti), CRIME/BREACH (útoky na kompresi/HTTP), downgrade útoky a zneužití kompromitovaných CA.
Bezpečnostní opatření a dobré praktiky pro správce
- Deaktivovat staré protokoly a slabé šifry (SSLv3, TLS 1.0/1.1, RC4, DES, 3DES).
- Nastavit pořadí preferovaných cipher-suitů tak, aby klienti preferovali ECDHE + AEAD.
- Používat silné veřejné klíče (např. RSA 2048/3072 nebo ECDSA s doporučenými křivkami).
- Zapnout HSTS (HTTP Strict Transport Security) u webových serverů, kde má smysl.
- Implementovat OCSP stapling pro rychlou a bezpečnou kontrolu revokace certifikátu.
- Pravidelně aktualizovat TLS knihovny (OpenSSL, BoringSSL, NSS apod.) kvůli opravám zranitelností.
- Zvažovat použití Certificate Transparency a pinning tam, kde je to vhodné.
Běžné nasazení a protokoly využívající TLS
- HTTPS (HTTP přes TLS) — nejběžnější použití pro zabezpečení webu.
- SMTPS, IMAPS, POP3S nebo STARTTLS pro zabezpečení e-mailů.
- FTPS (FTP přes TLS) a bezpečné tunelování protokolů přes TLS.
- VoIP a instant messaging často používají TLS pro zabezpečení signálové a/nebo mediální vrstvy.
Uživatelská zkušenost a indikátory zabezpečení
V moderních prohlížečích vidíte indikátory jako zámek u adresního řádku — značí platné TLS spojení a ověřený certifikát. Nicméně zámek neznamená absolutní bezpečí; je důležité sledovat, zda je certifikát platný a zda byla dodržena doporučení (aktuální verze TLS, silné šifry).
Závěr
TLS je základní stavební kámen bezpečné komunikace na internetu. Správným nastavením, aktualizacemi a pochopením toho, jak protokol funguje, lze minimalizovat riziko odposlechu, manipulace s daty a dalších útoků. Doporučení pro současnost: zakázat staré verze, povolit TLS 1.2/1.3, preferovat ECDHE a AEAD ciphers a důsledně spravovat certifikáty a revokace.