TLS 1.3 je nejnovější verze kryptografického protokolu. Jeho cílem je poskytnout možnost zabezpečené komunikace na internetu pro surfování, elektronickou poštu, internetový fax a další přenosy, které nebude schopna dešifrovat ani NSA.
TLS je zkratka anglických slov Transport Layer Security. Jde o kryptografický protokol, který předepisuje, jak má probíhat šifrovaná komunikace na internetu, například pomocí HTTPS. Vyhledávací dotazy, přístup k elektronické poště, on-line nákupy, převod peněz prostřednictvím služby PayPal a mnoho dalších jsou zajištěny stejně. O úplném zabezpečení u aktuální verze TLS 1.2 už ale hovořit nelze, protože je v zásadě přístupná.
Mnohé webové servery navíc používají ještě starší verze, jako je SSL 3.0, které už jsou hodně zastaralé a děravé. Útoky na webové šifrování sice vyžadují hodně zdrojů a technického know-how, ale jak víme od Snowdena, těch mají zpravodajské služby jako NSA dostatek. V centru těchto útoků je vždycky tzv. man-in-the-middle, tedy někdo uprostřed, kdo může komunikaci poslouchat, zachytávat a manipulovat šifrované balíčky dat. Webové šifrování by sice mělo všem těmto podvodům odolat, ale TLS trápí spousta nezabezpečených starších systémů, které byly ve verzi 1.3 odstraněny.
Staré patří do šrotu
Dobrým příkladem problémů stávajícího systému šifrování je mechanismus downgradu. Při prvním spojení odešle prohlížeč informace o nejvyšší podporované verzi TLS spolu se seznamem možných metod šifrování. Je-li však tento dotaz zmanipulovaný prostřednictvím „man in the middle“, může si tento mezičlánek vynutit snížení ratingu na starší verzi SSL 3.0. A tato verze už může být kvůli méně bezpečnému způsobu šifrování cracknuta. Stejným způsobem si může server vynutit použití krátkého klíče, který lze cracknout - za použití nejmodernějších a nejvýkonnějších serverů to lze během několika sekund. Tyto klíče totiž od roku 1990 podléhaly vývoznímu omezení ze strany USA, které zakazovaly vývoz pokročilých technologií přes hranice státu.
Až právě TLS ve verzi 1.3 používá mechanismus, který dá uživateli na vědomí, že došlo k manipulaci a downgradu. Server, který využívá TLS 1.3, skrývá ve své odpovědi pro prohlížeč informaci o žádosti o downgrade. Pokud si prohlížeč tuto zprávu přečte, pak ví, že server ve skutečnosti pracuje s TLS 1.3, ale pouze byl naveden na použití nižší verze.
TLS ve verzi 1.3 také zamítá nezabezpečené šifrovací metody, mezi které patří RC4, 3DES a AES-CBC. Největším mezníkem je ale odklon od asymetrických šifrovacích postupů RSA s jeho párem klíčů - se soukromým a veřejným klíčem. Ty se používají při navázání kontaktu s cílem komunikaci šifrovat. Problém je s RSA soukromým klíčem serveru, který je uložen trvale. Pokud se k němu útočník dostane, může si přečíst veškerou šifrovanou komunikaci serveru, protože může extrahovat klíč relace za použití soukromého klíče.
To lze provést i zpětně, pokud byla zaznamenána dřívější komunikace serveru - a to je pro NSA rutinní práce. Místo RSA se v TLS 1.3 používá Diffieho-Hellmanova výměna klíčů (DHE). Jde o kryptografický protokol, který umožňuje přes nezabezpečený kanál vytvořit šifrované spojení, bez předchozího dohodnutí šifrovacího klíče. Výsledkem tohoto protokolu je vytvoření symetrického šifrovacího klíče, který může být následně použit pro šifrovanou komunikaci. Komunikující už následně nepotřebují klíč relace. Ve verzi TLS 1.2 bylo ještě použití DHE nepovinné.
Rychlejší bezpečné připojení
TLS 1.3 také urychluje nastavení šifrovaného spojení, protože si ušetří zpáteční cestu (z prohlížeče na server a zpět). Prohlížeč už totiž pošle všechny informace pro výpočet klíče relace serveru (podívejte se napravo) během prvního kontaktu. A jakmile server přenese jeho DHE číslo, prohlížeč může také spustit výpočet klíče. Informace o způsobu šifrování je vynechána, protože zůstala jen malá skupina povolených metod.
Prohlížeč proto předpokládá, že si server s navrhovanou metodou šifrování poradí. Pokud již byl prohlížeč a server ve spojení, umožňuje TLS 1.3 další kontakt bez cesty tam a zpět. Provádí se to pomocí obnovení klíče, který obdrží prohlížeč během první komunikace se serverem. Druhá komunikace je zahájena prohlížečem s šifrováním za použití obnoveného klíče. Na rozdíl od dotazu obsahuje také DHE číslo, takže druhá komunikace, díky tomu, poté nepokračuje s obnoveným klíčem, ale s nově vypočteným klíčem relace - z bezpečnostních důvodů.
Mnoho internetových surfařů již TLS 1.3 má, pokud používají prohlížeče Firefox nebo Chrome, ale ten není aktivován. V případě Firefoxu se aktivace provádí přes »about:config« a v Chrome přes »chrome://flags« (viz vpravo). Na straně serverů však může samozřejmě implementace trvat déle. TLS 1.3 je ale již součástí často využívané šifrovací knihovny OpenSSL. Pokud se na TLS 1.3 přejde, stane se nakupování, elektronické bankovnictví, posílání mailů, stejně jako surfování mnohem bezpečnějším.
Foto popis| Šifrování bez bugů S přechodem na TLS 1.3 projde šifrování webu významnou rekonstrukcí. Šifrovaného spojení mezi prohlížečem a serverem může být dosaženo v několika krocích a za použití jiné metody pro výpočet klíče - tzv. Diffieho-Hellmanova výměna klíčů. To zajistí mnohem bezpečnější handshake (nastavení parametrů komunikačního kanálu) i spojení.
Foto popis| HTTPS-handshake v současné podobě V proceduře RSA vygeneruje klient klíč relace a odešle ho na server zašifrovaný pomocí veřejného klíče. Server potom dešifruje klíče relace pomocí svého soukromého klíče.
Foto popis| HTTPS-handshake za využití TLS 1.3 V případě TLS 1.3 je klíč relace vypočítán za využití Diffieho-Hellmanovy procedury: klient a server zašlou speciální čísla, ze kterých si odděleně vypočítají stejný klíč relace.
Foto popis| Webové šifrování v historii V průběhu doby se nakonec každá verze webového šifrování ukázala jako zranitelná a byla nakonec napadena a prolomena. SSL 2.0 a SSL 3.0 už byly vyřazeny Komisí pro technickou stránku internetu (Internet Engineering Task Force).
Foto popis| Protokol TLS 1.3 je již zahrnut v Chromu. Musí být ale v nastavení aktivován.
MARKUS MANDAU, autor@chip.cz