TLS (Transport Layer Security) je šifrovací protokol, který zajišťuje bezpečný přenos dat na internetu. Je nástupcem zastaralého protokolu SSL a v současné době se používá téměř výhradně ve verzi TLS 1.3.

Co je TLS?

V počátcích internetu nebyla bezpečnost dat tak důležitá jako dnes. Veškerá komunikace byla odesílána otevřeně a nešifrovaně z jednoho počítače do druhého. Můžete si to představit jako pohlednici: každý poštovní doručovatel ji mohl přečíst.

Protokol TLS, známý také jako SSL/TLS, zavedl šifrování přenášeného obsahu. Abychom pokračovali v analogii, toto šifrování je jako zapečetěná obálka, kterou může otevřít pouze oprávněný příjemce.

Zkratka TLS znamená Transport Layer Security (zabezpečení transportní vrstvy). Tento termín odkazuje na transportní vrstvu modelu TCP/IP. TLS je metoda, která šifruje internetové datové toky a umožňuje jejich čtení pouze oprávněným příjemcům.

Poznámka

Původní název šifrovacího protokolu byl SSL (Secure Socket Layer). Jelikož je tato zkratka stále známější než TLS, je TLS často označován dvojitým názvem „SSL/TLS“.

Jak funguje TLS?

TLS šifruje data odesílaná přes internet a je obvykle implementováno nad protokolem TCP pomocí symetrické kryptografie.

To, co zní jednoduše, je ve skutečnosti mnohem složitější. Základním problémem je, že server musí sdělit klíč klientovi –ještě předtím, než je komunikace zabezpečena protokolem TLS. Každý, kdo posílá šifrované přílohy e-mailů, tento problém zná: zašifrujete soubor a musíte sdílet tajné heslo s příjemcem, např. po telefonu.

Protokol TLS, jehož aktuální standard je od roku 2018 verze 1.3, používá k řešení tohoto problému následující postup:

  1. ClientHello: Klient (např. prohlížeč) odešle serveru počáteční zprávu s informacemi o podporovaných šifrovacích algoritmech. Ty zahrnují šifrovací sady, verze protokolů, náhodnou hodnotu a vlastní hodnotu výměny klíčů Elliptic-Curve-Diffie-Hellman (hodnota ECDHE). Volitelně lze již odeslat první šifrovaný datový blok.
  2. ServerHello: Server vybere vhodné parametry a odešle svou odpověď, včetně hodnoty ECDHE a svého digitálního certifikátu. Tento certifikát SSL dokazuje, že server je autentický a nevydává se za někoho jiného. Současně začíná výpočet klíče relace.
  3. Výpočet klíče: Obě strany nyní nezávisle vypočítají stejný klíč relace na základě společně dohodnutého klíče.
  4. Server dokončí handshake a zahájí šifrovanou komunikaci. Klient udělá totéž; připojení je nyní plně zabezpečeno.
Poznámka

Ve srovnání s předchozími verzemi je TLS handshake v TLS 1.3 výrazně štíhlejší a bezpečnější. Celý zde popsaný proces nyní vyžaduje pouze jeden cyklus (1 RTT), což výrazně zrychluje připojení.

Důvodem, proč se asymetrické šifrování pomocí Diffie-Hellman používá pouze pro přenos klíče relace (ale ne pro šifrování samotných datových toků), je výhoda rychlosti; asymetrické šifrování je relativně pomalé a zpomalovalo by datovou komunikaci.

Výhody a nevýhody TLS

TLS je elegantní řešení pro zvýšení bezpečnosti webového provozu. Nevyžaduje, aby obě strany samy šifrovaly obsah, jako jsou například údaje z formulářů. Stačí, aby byl provoz směrován přes protokol TLS, bez ohledu na operační systémy a softwarové aplikace účastníků. Všechny datové toky jsou pak během přenosu automaticky šifrovány.

Cenou za bezpečnost je mírně pomalejší nastavení připojení, protože výše uvedené kroky procesu – certifikát, náhodné číslo, výměna klíčů – jsou výpočetně náročné.

Použití TLS

Jak již bylo zmíněno, TLS lze použít univerzálně, protože je nezávislý na aplikacích a operačních systémech. Proto existuje verze zabezpečená protokolem TLS pro celou řadu aplikačních protokolů. Schéma pojmenování je ve většině případů velmi jednoduché: k názvu protokolu se přidá písmeno „S“, pokud protokol komunikuje prostřednictvím TLS.

Nejdůležitější oblastí použití TLS je World Wide Web, konkrétně protokol HTTP. Jeho šifrovaná verze se nazývá HTTPS.

Kromě toho je třeba zmínit následující běžné případy použití:

  • POP3S: Načítání e-mailů ze serveru pomocí protokolu POP3
  • IMAPS: Synchronizace doručené pošty se serverem pomocí protokolu IMAP
  • SMTPS: Odesílání e-mailů
  • FTPS: Přenos souborů pomocí protokolu FTP
  • SIPS: Telefonování přes protokol SIP
  • IRCS: Šifrované chaty
  • QUIC: Transportní protokol společnosti Google, který přímo integruje TLS 1.3; alternativa k TCP pro rychlejší a bezpečnější webová připojení (např. s HTTP/3)

OpenVPN, bezplatný software pro vytvoření virtuální privátní sítě (VPN), také využívá protokol TLS.

Klíčové implementace TLS

Mezi nejčastěji používané implementace TLS patří:

  • OpenSSL – zdaleka nejběžnější implementace používaná většinou webových stránek HTTPS
  • GnuTLS (Free Software Foundation)
  • LibreSSL (OpenBSD)
  • NSS (Network Security Services)
  • BoringSSL (Google)
  • Rustls (Joe Birr-Pixton, Dirkjan Ochtman, Daniel McCarney, Josh Aas a komunita Open-Source)
  • Botan (licence BSD, Jack Lloyd)
  • JSSE (Java Secure Socket Extension, Oracle)
  • S2n (Amazon)

Tento seznam není vyčerpávající. Podrobné informace o implementacích TLS naleznete na Wikipedii.

Známé útoky TLS

Ačkoli je TLS navržen pro bezpečnou komunikaci, má stále známé slabiny. Mezi ně patří:

  • Programátorské chyby: Chyba Heartbleed Bug se proslavila jako kritická programátorská chyba v dřívějších verzích OpenSSL. Byla opravena v roce 2014.
  • Slabé šifrování: V důsledku omezení vývozu kryptografie ze strany USA byly vyvinuty „exportní“ verze, které bylo snazší prolomit než originály.
  • Kompresní útoky: Pokud se místo komprese TLS používá komprese HTTP, hackeři mohou určitými metodami odhadnout obsah šifrovaný pomocí TLS.
  • Útok BEAST postihl verzi TLS 1.0 a byl popsán již v roce 2014. Aktuální verze TLS jsou proti němu zabezpečené.
  • Útok Padding Oracle byl objeven v roce 2002 a byl možný až do verze SSL 3.0. Aktuální verze TLS 1.3 není tímto útokem ohrožena.
  • Útok ALPACA z roku 2021 ukazuje, jak lze zneužít TLS certifikáty na nesprávně nakonfigurovaných serverech k přesměrování uživatelů na jiné služby, zachycení nebo manipulaci s daty.

Byly také podniknuty snahy o zabránění plně zabezpečenému šifrování TLS, aby úřady měly přístup k šifrované komunikaci, například v souvislosti s finančními transakcemi a trestnou činností. Jednou z organizací, která prosazovala takovou „záměrnou zranitelnost“ v TLS, byl ETSI (Evropský institut pro telekomunikační normy).

Přejít do hlavního menu