Vad är en TLS Handshake & Hur fungerar den?

What Is a TLS Handshake & How Does It Work blog banner image

TLS (transport layer security) är det säkra kommunikationsprotokoll som används på stora delar av internet. TLS är branschstandarden för allt från den krypterade anslutning som din webbläsare använder för att ansluta till webbplatser till de säkra anslutningar som används av dina bankappar och är anledningen till att du tryggt kan överföra känslig information online.

I den här guiden beskrivs vad en TLS-handskakning är, hur den fungerar och vilken betydelse den har för nätverkssäkerheten och för att säkerställa att din kommunikation är privat och att den inte kan avlyssnas eller manipuleras.

Vad är en TLS handshake?

TLS-kryptering är det kryptografiska standardprotokoll som används för att säkra nätverkskommunikation, inklusive data som du skickar över internet.

Innan krypterad kommunikation kan ske måste förtroende etableras mellan de två kommunicerande parterna (t.ex. webbservern som är värd för en webbplats och din webbläsare som öppnar den).

Det är vad TLS-handskakningen gör; den upprättar en säker kanal mellan klienten och servern genom att kommunicera vilka TLS-versioner och chiffersviter som stöds av båda, autentisera serverns identitet med hjälp av dess offentliga nyckel och SSL-certifikat och slutligen generera sessionsnycklar som kommer att användas för att unikt kryptera anslutningen.

TLS jämfört med SSL

TLS är efterföljaren till SSL (Secure Sockets Layer) och ersätter det som krypteringsprotokollet bakom HTTPS (det säkra HTTP-protokollet som levererar webbsidor till din webbläsare och data till dina appar). TLS används även av annan programvara som kräver säker nätverkskommunikation, t.ex. VPN-lösningar.

Inblandade kryptografiska element

TLS-kryptering bygger på flera kryptografiska element/begrepp:

  • Chiffersviten: Cipher Suite är den algoritm som används för att säkra en TLS-krypterad anslutning. Varje svit innehåller en nyckelutbytesalgoritm, en krypteringsalgoritm och en MAC-algoritm (Message Authentication Code).
  • Symmetrisk kryptering: En enda kryptografisk nyckel används för att säkra anslutningen av både servern och klienten. Båda parter måste känna till nyckeln och ingen tredje part får känna till eller kunna gissa sig till den, annars äventyras säkerheten i anslutningen.
  • Asymmetrisk kryptering: Den här krypteringsmetoden, som även kallas kryptering med publik nyckel, innebär att servern och klienten använder separata privata och publika nycklar för att kryptera data och säkra anslutningen. Den privata nyckeln krävs för att dekryptera data som krypterats med den publika nyckeln.
  • Autentisering: För att kunna ansluta säkert till en server (och inte till en imitatör) måste den kunna bevisa sin identitet bortom allt tvivel genom autentisering.

TLS-versioner och kompatibilitet

TLS 1.0 släpptes 1999, TLS 1.1 släpptes 2006, TLS 1.2 2008 och den senaste TLS-versionen 1.3 släpptes 2018. Varje version innehöll betydande förbättringar av säkerheten, inklusive ytterligare chiffersviter och skydd mot nya attacker.

De flesta servrar stöder både TLS 1.3 och TLS 1.2 för bakåtkompatibilitet med äldre klienter.

Steg-för-steg-process för en TLS-handskakning

TLS 1.3 effektiviserar och förbättrar säkerheten i handskakningsprocessen avsevärt jämfört med tidigare versioner. Här följer en detaljerad beskrivning av processen för att säkra en TLS 1.3-anslutning:

  • Klienten hälsar: Klienten skickar ett “hej”-meddelande till servern för att initiera TLS-handskakningen och anslutningen. Detta inkluderar de TLS-versioner, chiffersviter, nyckeldelningsmetoder och tillägg som stöds. Den innehåller även “client random”, som är slumpmässiga data som kommer att användas för att generera masterhemligheten. I många fall kan de hemliga parametrarna för premaster även genereras när klienten kan gissa vilken metod för nyckeldelning som servern kommer att använda (vilket ofta är fallet på grund av det minskade antalet chiffersviter som stöds av TLS 1.3), vilket minskar antalet rundresor som krävs för klienten och servern.
  • Mästarens hemlighet: Servern väljer en TLS-version, chiffersvit och nyckeldelning som är kompatibel med klienten och genererar sin “server random”. När klienten och servern har klientens slumpmässiga, premaster-hemligheten och serverns slumpmässiga kan de oberoende av varandra generera samma masterhemlighet.
  • Serverhallå och asymmetrisk kommunikation: Servern svarar på klientens “hello” genom att skicka den valda TLS-versionen, chiffersviten och serverns SSL/TLS-certifikat som innehåller dess publika nyckel och certifikatutfärdare (CA). Klienten kan verifiera serverns identitet med certifikatutfärdaren.
  • Generering av sessionsnycklar: Klienten och servern genererar matchande sessionsnycklar från huvudhemligheten.
  • “Färdiga” meddelanden och symmetrisk kommunikation: Klienten och servern utbyter “färdiga” meddelanden som innehåller den symmetriska sessionsnyckeln och en hash av den handskakningsprocess som har ägt rum för att säkerställa att den inte har störts. TLS-handskakningen är avslutad när “finished”-meddelandena har dekrypterats och validerats av båda parter.

När TLS-handskakningen har slutförts kan anslutningen användas för att överföra data på ett säkert sätt med hjälp av de symmetriska sessionsnycklarna.

Felsökning av problem med TLS-handskakning

Den vanligaste orsaken till problem med TLS-handskakning är att tiden är felaktigt inställd på servern eller klienten (en enkel åtgärd). Föråldrade certifikatutfärdare på klienten kan även vara en möjlig orsak om operativsystemet inte har uppdaterats på ett tag.

På serversidan misslyckas TLS-anslutningar om det inte finns några TLS-versioner eller chiffersviter som stöds ömsesidigt, eller om SSL/TLS-certifikatet har återkallats av certifikatutfärdaren, har löpt ut eller om serverns värdnamn inte stämmer överens med det som anges i certifikatet.

Om du har problem med nätverksanslutningen eller ansluter till en långsam server kan TLS-handskakningar misslyckas om de tar slut på grund av fördröjning.

Säkra kommunikationsprotokoll är inte helt säkra

TLS ligger till grund för nätverkssäkerheten för i stort sett allt som händer på nätet just nu. Men bara för att den kan överföra data på ett säkert sätt (efter den viktiga TLS-handskakningen) betyder det inte att det som överförs på ett säkert sätt inte är skadligt.

Bara för att du har en säker anslutning till en webbplats betyder det inte att den inte kan innehålla ett virus, så du bör hålla dig till att ladda ner programvara från välrenommerade webbplatser (eller ännu bättre, officiella appbutiker), och om du driver ett företag bör du skydda och säkra din infrastruktur med robust endpoint-hantering.

Nästa steg

För att bygga upp ett effektivt och handlingskraftigt IT-team krävs en centraliserad lösning som fungerar som ett centralt redskap för att leverera IT-tjänster. NinjaOne gör det möjligt för IT-teams att övervaka, hantera, säkra och stödja alla sina enheter, oavsett var de befinner sig, utan behovet av en komplex infrastruktur på plats.

Lär dig mer om NinjaOne endpoint-hantering, ta en live tour, eller starta en gratis provperiod av NinjaOne.

Du kanske även gillar dessa inlägg

Är du redo att förenkla de svåraste delarna av IT?
×

Se NinjaOne i aktion!

Genom att skicka detta formulär accepterar jag NinjaOne:s integritetspolicy.

NinjaOne Villkor och bestämmelser

Genom att klicka på knappen “Jag accepterar” nedan anger du att du accepterar följande juridiska villkor samt våra användarvillkor:

  • Äganderätt: NinjaOne äger och kommer att fortsätta att äga alla rättigheter, titlar och intressen i och till manuset (inklusive upphovsrätten). NinjaOne ger dig en begränsad licens att använda skriptet i enlighet med dessa juridiska villkor.
  • Begränsning av användning: Du får endast använda skriptet för dina legitima personliga eller interna affärssyften, och du får inte dela skriptet med någon annan part.
  • Republikbildning Förbud: Du får under inga omständigheter återpublicera skriptet i något skriptbibliotek som tillhör eller kontrolleras av någon annan programvaruleverantör.
  • Friskrivning från garantiansvar: Skriptet tillhandahålls “i befintligt skick” och “som tillgängligt”, utan garanti av något slag. NinjaOne ger inga löften eller garantier om att skriptet kommer att vara fritt från defekter eller att det kommer att uppfylla dina specifika behov eller förväntningar.
  • Antagande av risk: Din användning av skriptet sker på egen risk. Du bekräftar att det finns vissa inneboende risker med att använda skriptet, och du förstår och tar på dig var och en av dessa risker.
  • Avstående och befrielse: Du kommer inte att hålla NinjaOne ansvarig för några negativa eller oavsiktliga konsekvenser till följd av din användning av skriptet, och du avstår från alla juridiska eller skäliga rättigheter eller rättsmedel som du kan ha mot NinjaOne i samband med din användning av skriptet.
  • EULA: Om du är en NinjaOne-kund omfattas din användning av skriptet av det licensavtal för slutanvändare som gäller för dig (EULA).