TLS (Transport Layer Security) är ett krypteringsprotokoll som säkerställer säker dataöverföring på internet. Det är efterföljaren till det föråldrade SSL och används nu nästan uteslutande i versionen TLS 1.3.

Vad är TLS?

I internets barndom var datasäkerhet inte lika viktigt som det är idag. All kommunikation skickades öppet och okrypterat från en dator till en annan. Man kan jämföra det med ett vykort: alla brevbärare kunde läsa det.

TLS-protokollet – även känt som SSL/TLS – introducerade kryptering av överfört innehåll. För att fortsätta analogin kan denna kryptering liknas vid ett förseglat kuvert som endast den rättmätiga mottagaren kan öppna.

Förkortningen TLS står för Transport Layer Security. Termen avser transportlagret i TCP/IP-modellen. TLS är en metod som krypterar dataströmmar på internet så att endast behöriga mottagare kan läsa dem.

Notis

Det tidigare namnet på krypteringsprotokollet var SSL (Secure Socket Layer). Eftersom denna förkortning fortfarande är mer känd än TLS, kallas TLS ofta för det dubbla namnet ”SSL/TLS”.

Hur fungerar TLS?

TLS krypterar data som skickas via internet och implementeras normalt ovanpå TCP med hjälp av symmetrisk kryptografi.

Det som låter enkelt i teorin är mer komplicerat i praktiken. Det grundläggande problemet är att servern måste kommunicera nyckeln till klienten –innan kommunikationen säkras med TLS. Alla som skickar krypterade e-postbilagor känner till detta problem: Du krypterar en fil och måste dela det hemliga lösenordet med mottagaren, t.ex. via telefon.

TLS-protokollet, vars nuvarande standard har varit version 1.3 sedan 2018, använder följande procedur för att lösa detta problem:

  1. ClientHello: Klienten (t.ex. en webbläsare) skickar ett initialt meddelande till servern med information om de krypteringar som stöds. Detta inkluderar krypteringssviter, protokollversioner, ett slumpmässigt värde och dess eget Elliptic-Curve-Diffie-Hellman-nyckelutbytesvärde (ECDHE-värde). Valfritt kan det första krypterade datablocket redan skickas.
  2. ServerHello: Servern väljer lämpliga parametrar och skickar sitt svar – inklusive sitt ECDHE-värde och sitt digitala certifikat. Detta SSL-certifikat bevisar att servern är autentisk och inte utger sig för att vara någon annan. Samtidigt börjar beräkningen av sessionsnyckeln.
  3. Nyckelberäkning: Båda sidor beräknar nu oberoende av varandra samma sessionsnyckel baserat på den gemensamt överenskomna nyckeln.
  4. Servern slutför handskakningen och påbörjar krypterad kommunikation. Klienten gör samma sak; anslutningen är nu helt säker.
Notis

Jämfört med tidigare versioner är TLS-handskakningen i TLS 1.3 betydligt smidigare och säkrare. Hela processen som beskrivs här kräver nu bara en enda rundtur (1 RTT), vilket märkbart snabbar upp anslutningen.

Anledningen till att asymmetrisk kryptering med Diffie-Hellman endast används för att överföra sessionsnyckeln (men inte för att kryptera själva dataströmmarna) är hastighetsfördelen; asymmetrisk kryptering är relativt långsam och skulle fördröja datakommunikationen.

För- och nackdelar med TLS

TLS är en elegant lösning för att göra webbtrafiken säkrare. Det kräver inte att de två parterna själva krypterar innehållet, till exempel formulärdata. Istället räcker det att trafiken dirigeras via TLS-protokollet, oavsett deltagarnas operativsystem och programvara. Alla dataströmmar krypteras då automatiskt under överföringen.

Priset för säkerheten är en något långsammare anslutningsuppkoppling, eftersom de ovan nämnda processstegen – certifikat, slumptal, nyckelutbyte – är beräkningsintensiva.

Användningsområden för TLS

Som nämnts kan TLS användas universellt eftersom det är oberoende av applikationer och operativsystem. Följaktligen finns det en TLS-säker version för en mängd olika applikationsprotokoll. Namngivningsschemat är i de flesta fall ganska enkelt: bokstaven “S” läggs till protokollets namn när protokollet kommunicerar via TLS.

Det viktigaste användningsområdet för TLS är World Wide Web, särskilt HTTP-protokollet. Dess krypterade version kallas HTTPS.

Utöver dessa bör följande vanliga användningsfall nämnas:

  • POP3S: Hämta e-postmeddelanden från servern med hjälp av POP3-protokollet
  • IMAPS: Synkronisera inkorg med servern med hjälp av IMAP-protokollet
  • SMTPS: Skicka e-postmeddelanden
  • FTPS: Filöverföring via FTP-protokoll
  • SIPS: IP-telefoni via SIP-protokollet
  • IRCS: Krypterade chattar
  • QUIC: Googles transportprotokoll som direkt integrerar TLS 1.3; ett alternativ till TCP för snabbare och säkrare webbanslutningar (t.ex. med HTTP/3)

OpenVPN, ett gratis program för att upprätta ett virtuellt privat nätverk (VPN), använder också TLS-protokollet.

Viktiga TLS-implementeringar

Några av de mest använda implementeringarna av TLS är:

  • OpenSSL – den överlägset vanligaste implementeringen som används av de flesta HTTPS-webbplatser
  • GnuTLS (Free Software Foundation)
  • LibreSSL (OpenBSD)
  • NSS (Network Security Services)
  • BoringSSL (Google)
  • Rustls (Joe Birr-Pixton, Dirkjan Ochtman, Daniel McCarney, Josh Aas och Open-Source Community)
  • Botan (BSD-licens, Jack Lloyd)
  • JSSE (Java Secure Socket Extension, Oracle)
  • S2n (Amazon)

Denna lista är inte uttömmande. Detaljerad information om TLS-implementeringar finns på Wikipedia.

Välkända TLS-attacker

Även om TLS är utformat för säker kommunikation har det fortfarande kända svagheter. Dessa inkluderar:

  • Programmeringsfel: Heartbleed Bug blev känt som ett kritiskt programmeringsfel i tidigare versioner av OpenSSL. Det åtgärdades 2014.
  • Svaga krypteringar: Som ett resultat av amerikanska exportrestriktioner för kryptografi utvecklades ”exportversioner” som var lättare att knäcka än originalen.
  • Komprimeringsattacker: När HTTP-komprimering används istället för TLS-komprimering blir det möjligt för hackare att gissa TLS-krypterat innehåll genom vissa metoder.
  • BEAST-attacken påverkade TLS version 1.0 och beskrevs redan 2014. Nuvarande TLS-versioner är säkra mot den.
  • Padding Oracle-attacken upptäcktes 2002 och var möjlig upp till SSL version 3.0. Den nuvarande TLS version 1.3 påverkas inte.
  • ALPACA-attacken från 2021 visar hur TLS-certifikat på felkonfigurerade servrar kan utnyttjas för att omdirigera användare till andra tjänster och avlyssna eller manipulera data.

Det har också gjorts försök att förhindra helt säker TLS-kryptering för att myndigheter ska kunna få tillgång till krypterad kommunikation, till exempel i samband med finansiella transaktioner och brottslig verksamhet. En av de organisationer som förespråkade en sådan ”avsiktlig sårbarhet” i TLS var ETSI (Europeiska institutet för telekommunikationsstandarder).

Gå till huvudmeny