Dat de ontwikkelingen omtrent het internet nooit stilstaan is zowel een vloek als een zegen. Toen SSL 2.0 werd geïntroduceerd in 1995, nadat 1.0 al nooit werd uitgebracht vanwege onoverkomelijke security problemen in het protocol, zullen de ontwikkelaars waarschijnlijk niet gedacht hebben dat het slechts een jaar later al vervangen zou worden door versie 3.0. Inmiddels zijn we 3 versies van het protocol verder en aanbeland bij TLS 1.2. Maar deze editie van het securityprotocol werd alweer 10 jaar geleden, in augustus 2008, gelanceerd, en werd sinds de lancering geplaagd door vulnerabilities die steeds weer zwakke punten wisten bloot te leggen. Hoog tijd voor een upgrade, dus?

TLS 1.3 werd in augustus van dit jaar officieel gedefinieerd in RFC 8446 als de nieuwe standaard voor het TLS-protocol. Er zijn een hoop veranderingen doorgevoerd in deze nieuwe versie die het waard zijn om eens onder de loep te nemen.

Sneller, beter, sterker

Om te beginnen is er in versie 1.3 wat overbodig werk weggehaald: tijdens de client hello wordt nu ook meteen een key share meegestuurd. Hiervoor waren dit twee aparte stappen, waar dus ook twee keer een request en response voor nodig waren. Met de toevoeging van Zero Round Trip Time (0-RTT), een methode waarbij TLS 1.3 het sessieticket van een eerder bezochte webserver onthoudt, kan het proces zelfs nog een stap worden ingekort. TLS 1.3 is hiermee dus sneller dan 1.2.

Versie 1.3 ondersteunt ook niet langer oude, achterhaalde, of simpelweg te kwetsbare cipher suites, Elliptic Curves en hash-functionaliteit. Zo is ondersteuning voor SHA224 en MD5 verwijderd, en wordt Perfect Forward Secrecy of PFS tegenwoordig verplicht gesteld waardoor statische RSA en Diffie-Helmann key exchanges niet meer mogelijk zijn. Ook heeft TLS 1.3 resumption vervangen door een systeem van tickets in combinatie met pre-shared keys, of PSK.

Daarnaast is compressie uitgeschakeld. Compressie houdt in dat de data die verstuurd wordt via TLS samengepakt wordt om het dataverkeer te verlagen. Het nadeel van compressie is wel, dat die data steeds weer in- en uitgepakt moet worden voor het verwerkt kan worden, wat de druk op de CPU verhoogt. HTTP kent ook een compressieproces dat vergelijkbaar werkt en een aantal jaar geleden de basis was voor de BREACH-vulnerability. Met het uitschakelen van compressie wordt weliswaar het dataverkeer hoger, maar is de druk op de CPU wel constant.

De aanpassingen in TLS 1.3 zorgen er onder andere voor dat vulnerabilities als LogJam, Freak, CRIME, SLOTH, DROWN, Poodle, en Lucky13 niet meer van toepassing zijn.

Toepassen

Hoewel de RFC officieel geïntroduceerd is, betekent dit nog niet automatisch dat TLS 1.2 uitgefaseerd is en niet meer gebruikt wordt. TLS 1.3 is nog bij lange na niet overal geïmplementeerd. Het is daarom niet aan te raden om uw server al alleen om te zetten naar TLS 1.3. Wat wel een mogelijkheid is, is het toevoegen van TLS 1.3 aan uw configuratie. Als u zelf wilt experimenteren met TLS 1.3, kunt u het installeren op uw server. Onze Product Manager Security, Sebastian Broekhoven, heeft een uitgebreide omschrijving gemaakt voor de installatie van TLS 1.3 op Nginx 1.15.2 met OpenSSL 1.1.1-pre8. Hierin legt hij exact uit welke stappen hij heeft ondernomen om de installatie te voltooien.

Lees relevante artikelen

Categorie  SSL & Security | Tags  Security ssl tls