TLS 1.3 – Seznamte se s novým bezpečnostním standardem

25. 7. 2018 | Jindřich Zechmeister

TLS 1.3 je čtvrtou verzí protokolu používaného k zabezpečení komunikace na internetu. Oproti předchozí verzi přináší řadu bezpečnostních vylepšení a reaguje na zranitelnosti objevené v posledních letech. I když byl tento protokol formálně schválen teprve v březnu, tak se s ním můžete setkat už nyní a my vám poradíme, jak ho začít v prohlížeči používat.

Nahrazení TLS 1.2 – proč bylo potřeba?

Současná poslední verze protokolu TLS pochází z roku 2008. Na nástupce v podobě TLS 1.3 jsme se načekali. Než došlo k jeho schválení, musel ujít dlouhou cestu  – finální verzí se po čtyřech letech testování a vyjednávání stala až 28., díky březnovému hlasování organizace odpovědné za internetové protokoly a standardy IETF – Internet Engineering Task Force. TLS 1.3 se tak stal novým standardem pro šifrování komunikace na internetu.  

TLS 1.3 napravuje nedostatky protokolu TLS 1.2. Tento nejdéle sloužící člen rodiny SSL/TLS protokolů býval samozřejmě bezpečný, ale s plynoucím se časem se logicky musely objevit nové zranitelnosti, se kterými si jeho šifry a algoritmy již nevystačí a které tak otevírají dveře útokům Poodle či Heartbleed, včetně nedávno objeveného ROBOTu. Kromě toho mohou útočníci slabších stránek protokolu TLS 1.2 zneužít k tzv. downgrade útoku, kdy jsou komunikující strany donuceny snížit úroveň zabezpečení na snadno napadnutelnou úroveň.

Mezi šifry a algoritmy, které již nebudou v 1.3 podporovány, patří zejména:

  • RC4 šifra
  • přenos klíčů pomocí RSA
  • SHA-1 a SHA-224 hash algoritmy
  • CBC šifry
  • MD5 algoritmus
  • několik protokolů skupiny Diffie-Hellman
  • EXPORT šifry
  • DES
  • 3DES

Nemusíme se tedy divit, že TLS 1.3 bylo odhlasováno s nevídanou podporou – ze třinácti hlasujících členů IETF se pro vyjádřilo 8 a zbývajících 5 nemělo námitek.

Nové funkce? Zejména vylepšený SSL/TLS handshake

Předtím, než mezi klientem a serverem vznikne zabezpečené spojení, dojde mezi oběma stranami k tzv. handshaku, jakémusi dialogu, během kterého se v několika komunikačních krocích server s klientem návzájem prověří a domluví si podmínky přenosu dat.

U TLS 1.2, stejně jako 1.1 a 1.0,  komunikace probíhá ve dvou cyklech a nazývá se 2-RTT (round trip time resumption). Takovýto handshake, tedy proces domluvy před samotnou výměnou dat, trvá zhruba 0.25 až 0.5 sekund. Zdá se vám tato doba nicotná? Je třeba si uvědomit, že například na burze může mít rychlost připojení rozhodující slovo a i polovina sekundy se může stát naprosto zásadní veličinou. Dle průzkumů může dokonce i zpoždění pouhých 250ms zákazníka přimět k opuštění stránky.

U TLS 1.3 je čas potřebný pro handshake významně redukován a to díky tomu, že probíhá pouze v jednom cyklu – odtud také název 0-RTT. Uživatelům, kterým stránku již jednou navštívili, bude tak při jejím dalším otevření, při reconnectu, umožněno rychlejší připojení. Handshake se tedy zkrátí a u 0-RTT už neprobíhá; naváže se na předchozí spojení, protože TLS 1.3 si již jednou sdílené klíče pamatuje. 

Tohoto zrychlení je dosaženo pomocí funkce TLS False Start option, díky které server může začít posílat zašifrovaná data okamžitě po prvním TLS roundtrip. 

Protokol TLS 1.3. zajistí nejlepší možné zabezpečení komunikace mezi klientem a serveremProtokol TLS 1.3 zajistí zrychlení komunikace mezi klientem a serverem

Nový protokol už můžete začít používat. Řekneme vám jak

Ve Chromu i Firefoxu podporu nového protokolu již najdeme. Jak ji aktivovat?


Zapnutí protokolu TLS 1.3 v prohlížeči Chrome

V aktuální verzi prohlížeče od Googlu je již TLS 1.3 aktivováno. Zkontrolujte si, zda i váš Chrome používá TLS 1.3. Ve chrome://flags/ vyhledejte TLS a uvidíte  sami. V nejnovější verzi Chromu lze TLS 1.3 vypnout, viz obrázek:

TLS 1.3 v Chromu

TLS 1.3 v Chromu

Nabídku nastavit předcházející verzi 23 můžeme snad chápat jako lenost vývojářů, doufejme že pouze dočasnou...

S výchozím nastavením budete k navštíveným webům připojeni přes TLS 1.3. Spojení si zkontrolujete snadno testem na SSLLabs.

Zapnutí protokolu TLS 1.3 v prohlížeči Firefox

  • Do adresního řádku zadejte about:config 
  • Vyhledejte version.max
  • Změňte hodnotu ze 3 na 4
  • Proveďte restart
  • Otevřete https://istlsfastyet.com/
  • Klikněte na zámeček v URL řádku
  • Uvidíte pop-up s informací, že připojení je zabezpečeno. Klikněte na znak a dále na More Information
  • Otevře se vám okno s detaily certifikátu. Pokud se podíváte na technické informace na konci, přesvědčíte se, že je užito TLS 1.3.

Kontrolu vám samozřejmě nabízí opět i SSLlabs.

A jak aktivovat nejnovější přírůstek v rodině SSL/TLS protokolů na vašem serveru? Na Linuxu jej podporuje OpenSSL 1.1.1., jedná se ale teprve o zatím nedistribuovanou alfa verzi. Můžete se ale spolehnout na to, že vám náš SSLmarket v pravý čas k jednotlivým serverům potřebné návody připraví! 

SSLMARKET DOPORUČUJE

Zdroje

  1. TLS 1.3 Handshake: Taking a Closer Look

  2. IETF Approves TLS 1.3 as Internet Standard

  3. TLS 1.3 is here

  4. Building a faster and more secure web

  5. CDN77 Now Supports TLS 1.3

  6. TLS 1.3 ist jetzt wirklich fertig

  7. Transport-Verschlüsselung: TLS 1.3 auf der Zielgeraden zum Standard

  8. Verschlüsselungsprotokoll TLS 1.3 soll HTTPS-Verbindungen sicherer machen


Ing. Jindřich Zechmeister
Specialista pro bezpečnostní SSL certifikáty
DigiCert TLS/SSL Professional
e-mail: jindrich.zechmeister(at)zoner.cz