Taggat med: IETF

TLS 1.3 är nu ute som RFC 8446

Jag har tidigare skrivit om nya versionen av TLS som kommer att bli version 1.3. Denna nya version har nu fått en RFC (Request for Comments) vilket kan anses av många som en standard på internet. Det är ungefär 10 år sedan TLS 1.2 släpptes.

En av anledningarna till att det tagit så lång tid att få ut denna RFC beror på middleboxes (mellanliggande utrustning på internet) som lägger sig i TLS-kommunikationen. Och för att undersöka detta så behövs det data från hur det ser ut ute i nätverken.

RFC 8446 är på 160 sidor och min favorit är Appendix E som beskriver säkerhetskomponenterna i TLS 1.3.

För att citera Facebook som använder sitt eget bibliotek Fizz:

More than 50 percent of our internet traffic is now secured with TLS 1.3

ISOC samt IETF har även skrivit om TLS 1.3:

 

Nyheterna i Transport Layer Security version 1.3 (TLS 1.3)

SSL och TLS har under lång tid säkrat upp en betydande del av den krypterade kommunikationen på Internet. Sedan SSL version 1.0 släpptes internt hos Netscape Communications år 1994 så har det hänt en hel del.

Den nya versionen som just nu håller på att utvecklas inom en arbetsgrupp hos IETF har versionsnumret 1.3 där målsättningen är högre prestanda samt tillhandahålla en ännu högre säkerhet. Man kan säga att designkriteriet för denna nya version är ”less is more” och det innebär att en hel del föråldrade krypton har fått stryka på foten:

  • RSA är borttaget – RSA tillhandahåller inte Forward Secrecy
  • Svaga Diffie-Hellman grupper kan inte användas (SSL_OP_SINGLE_DH_USE)
  • CBC är borta – Är orsaken till attacker såsom Lucky13 och BEAST
  • RC4 samt SHA1 får inte längre användas
  • Export-algoritmer (ansvarig för attacker såsom FREAK, LogJam etc)
  • Nytt är ChaCha-Poly1305 samt stöd för OCB-modes (tipstack till Joachim Strömbergson)
  • Algoritmen för RSA-padding är Probablilistic Signature Scheme (PSS)
  • Nytt meddelande av typen EncryptedExtension. Som nu är krypterat, tidigare skickades många okrypterat

När det gäller prestanda så har ett antal åtgärder införts:

  • 0-RTT samt 1-RTT

Genom att få ner antalet TCP-paket som måste skickas fram och tillbaka vid varje anslutning så kan snabbare TLS (och webbsidor etc) uppnås.

Här följer en bild hur 1-RTT ser ut där klienten skickar ett ClientHello direkt, samt så gissar klienten vilka krypton som kommer att användas:

När du sedan har en session etablerad så kan sedan 0-RTT användas vid senare tillfälle (Session Resumption) men detta möjliggör dock återuppspelningsattacker.

Vill du redan nu testa TLS 1.3 i Google Chrome så kan du göra följande:

  1. Skriv in ”chrome://flags/” i adressbaren och trycker enter
  2. Gå till ”Maximum TLS version enabled.” och välj ”TLS 1.3”
  3. Starta om Chrome

Och vill du testa med Firefox så behöver du ladda hem senaste nightly-build där TLS 1.3 är påslaget som standard.

Och nu när vi besöker kryptera.se och tar upp Developer Tools (DevTools) så synes följande:

Viktigt att tillägga är att TLS 1.3 inte är färdigt ännu och ändras löpande. Detta gör att mjukvara såsom OpenSSL är försiktiga med att göra förändringar. Den senaste uppdateringen till TLS 1.3 heter draft-19 och släpptes för cirka 2 veckor sedan.

För att exempelvis Nginx ska stödja TLS 1.3 så måste även OpenSSL stödja detta. Och OpenSSL kommer med stöd inom några veckor i version 1.1.1.

Uppdaterad 2017-12-27: Enligt Cloudflare är det bara %0.06 av webbläsarna som använder TLS 1.3 och detta beror främst på att många mellanlådor inte stödjer TLS 1.3.

Uppdaterad: 2017-06-06, användes internt hos Netscape. Inte Mozilla som grundades först många år senare.

Snabbare https med SSL False Start

De smarta utvecklarna i Google Chrome teamet har skickat in en draft till IETF som beskriver en metod att snabba upp surfandet på krypterade https-sidor med hjälp av modifiering i SSL/TLS-protokollet.

Denna modifiering har fått namnet False Start av Google för att reflektera ändringarna som föreslagits i handskakningen. Googles tester visar på en ökning av hastigheten på upp till 30%.

IETF Draften kan hittas här: tools.ietf.org/html/draft-bmoeller-tls-falsestart-00

Källa: Chrome Blog