Krypteringstekniker har använts i årtusenden för att skydda kommunikation – först på lertavlor i Mesopotamien och nu senast i sakernas internet (internet of things, IoT). I den här texten ger kommunikationssäkerhetsexperten Christophe Cauche en kort historik över modern kommunikationssäkerhet och förklarar varför public key infrastructure (PKI) är den bästa tillgängliga tekniken i dag.
Vi vet inte exakt hur länge människan har använt koder och chiffer för att skydda hemligheter, men de första kända exemplen är några lertavlor från Mesopotamien som skapades för 3 500 år sedan.
Förbättringar i kryptografi under kriget
Modern kryptografi föddes under andra världskriget. De flesta har hört talas om Alan Turing tack vare att han hjälpte de allierade att knäcka det tyska kryptosystemet Enigma (jag rekommenderar filmen ”Imitation game”). Färre vet särskilt mycket om ingenjören och matematikern Claude Shannon (1916–2001), så låt oss kasta lite ljus över vad han bidrog med. Under andra världskriget arbetade han med kryptografi i den amerikanska arméns underrättelsetjänst. Han var inblandad i X Project, som skapade ett system för kryptering av kommunikationen mellan Washington och London.
Efter kriget, 1948, publicerade Shannon en artikel om signaltransmissionsteori, “A mathematical theory of communication”, i Bell Systems Technical Journal. Artikeln (som är den första texten som använder ordet bit för att beskriva en binär siffra) omvandlades år 1949 till boken “The mathematical theory of communication”, som innehåller Warren Weavers kommentarer och förenklingar.
Modellen från 1949 används fortfarande
Shannons informationsteorimodell beskriver kommunikation som ett flöde av meddelanden:
Ett viktigt resultat av Shannons arbete är begreppet informationsentropi, vilket är ett mått på osäkerheten i ett meddelande och vilket bestämmer antalet bitar som krävs för att skicka informationen. Det sätt på vilket vi utbyter information i dag via internet och telefon är således ett direkt resultat av hans teori. Shannons ursprungliga mål var att skicka ett meddelande från en punkt till en annan utan att förlora något innehåll under processen. Jag slår vad om att han inte förutsåg att hans arbete skulle bidra till kommunicerande kylskåp.
1949 publicerade Shannon även artikeln “Communication theory of secrecy systems”. Här introducerade han idén om ett säkert kryptografiskt system ur ett informationsteoriperspektiv samt begreppet perfekt sekretess (perfect secrecy) för ett kryptosystem. Jag går inte in på några detaljer om Shannons teori för perfekt sekretess här – det räcker med att säga att det har verifierats.
Reglerna för oordning och diffusion
Shannon definierade också reglerna för oordning (confusion) och diffusion:
- Oordning betyder att varje bit i chiffertexten ska bero på flera delar av nyckeln, eftersom det döljer sambandet mellan chiffertexten och nyckeln.
- Diffusion innebär att om en enda bit av klartexten ändras så ska ungefär hälften av bitarna i chiffertexten ändras, och vice versa: om en enda bit av chiffertexten ändras bör ungefär hälften av bitarna i klartexten ändras.
De krypteringsalgoritmer vi använder i dag följer de här reglerna för att garantera bästa möjliga säkerhet.
Shannon var inte bara intresserad av kryptografi: han hade intressanta hobbys som jonglering och schack. Jag kommer inte skriva mer om honom här, men jag rekommenderar dig verkligen att söka upp mer information om den här fascinerande personen.
Symmetrisk och asymmetrisk kryptografi
Den mest kända krypteringstekniken använder samma nyckel för att kryptera och dekryptera ett meddelande och kallas sålunda symmetrisk kryptering. Det är en mycket effektiv teknik, men den ställer oss inför flera utmaningar, bland annat hur man ska:
- Generera nycklar med lämplig komplexitet.
- Sända nycklarna.
- Förvara nycklarna säkert.
- Förnya nycklarna.
- Skapa tillräckligt många nycklar för alla enheter i ett system så att sekretess kan garanteras.
Så kallad asymmetrisk kryptering löser de här utmaningarna på ett enklare sätt. Med asymmetrisk kryptering har varje enhet en privat nyckel som den håller hemlig och en öppen nyckel som är tillgänglig för alla. Meddelanden som krypteras med en av nycklarna i ett sådant par kan dekrypteras med den andra nyckeln i paret eftersom nycklarna är matematiskt länkade (på ett sådant sätt att det är en för komplex uppgift att gissa en nyckel om man känner till den andra).
Alice och Bob förklarar asymmetrisk kryptografi
Asymmetrisk kryptering förklaras vanligen med hjälp av Alice och Bob: För att garantera sekretess krypterar Bob ett meddelande med Alices öppna nyckel. Bara Alice, med sin privata nyckel, kan dekryptera meddelandet. Och om Bob dekrypterar ett meddelande med Alices öppna nyckel kan han vara säker på att Alice skickade meddelandet eftersom endast Alices privata nyckel kan ha använts för att kryptera meddelandet.
Den största nackdelen med asymmetriska algoritmer är att de är ungefär 1 000 gånger långsammare än symmetriska algoritmer. Därför använder enheterna asymmetrisk kryptering för att autentisera sig, generera symmetriska nycklar och utbyta de symmetriska nycklarna i krypterad form. När enheterna har fått sina symmetriska nycklar använder de symmetrisk kryptografi för att skydda sin kommunikation. Sålunda behövs både symmetrisk och asymmetrisk kryptering för effektiv kommunikationssäkerhet.
Så löser PKI det största problemet
1976 publicerade Whitfield Diffie och Martin Hellman en metod för att säkert utbyta kryptografiska nycklar över en offentlig kanal. Ett år senare publicerade Ron Rivest, Adi Shamir och Leonard Adleman den första asymmetriska algoritmen, kallad RSA (Rivest-Shamir-Adleman). Flera andra asymmetriska algoritmer har publicerats sedan dess, och de har alla ett huvudproblem: Hur bevisar du för Bob att han använder Alices öppna nyckel och inte någon annans öppna nyckel?
Det här problemet löses genom att införa en så kallad public key infrastructure (PKI), som är en uppsättning roller, policyer och procedurer som behövs för att skapa, hantera, distribuera, använda, lagra och återkalla digitala certifikat och hantera asymmetrisk kryptering. Hjärtat i en PKI är en så kallad certifikatutfärdare (certificate authority, CA), som verifierar Alices identitet och binder hennes identitet till hennes öppna nyckel genom att utfärda signerade certifikat till henne (och till de andra parterna). Certifikatutfärdare offentliggör även en lista över de certifikat som inte längre går att lita på eftersom de exempelvis har tappats bort eller stulits.
PKI-certifikat möjliggör utbredd tillit
Alla som litar på en certifikatutfärdare litar på de certifikat den har utfärdat, på samma sätt som du litar på ett svenskt pass om du litar på den svenska staten. PKI:er är nu mycket vanliga och möjliggör förtroende mellan kommunicerande parter i ett brett spektrum av scenarier, såsom:
- Din webbläsare litar på Googles certifikatutfärdare, och därför litar den på alla webbplatser som har Googles certifikat.
- Ditt företagsnätverk litar på ditt företags certifikatutfärdare, och därför litar det på din och dina kollegors datorer om de har certifikat från företagets certifikatutfärdare.
- En fransk biltillverkare litar på en tysk biltillverkares certifikatutfärdare och vice versa, och därför kan anslutna bilar av båda märkena kommunicera säkert med varandra (Car2X- kommunikation) om de har certifikat från biltillverkarnas certifikatutfärdare.
- En telekom-gateway litar på telekomföretagets certifikatutfärdare, och därför litar den på telekomföretagets LTE-antenner om de har certifikat från certifikatutfärdaren.
- eIDAS-förordningen föreskriver att en europeisk tillitslista med alla godkända certifikatutfärdare ska upprätthållas, vilket möjliggör förtroende för människors digitala identiteter i hela EU.
Därför är PKI den bästa tillgängliga tekniken
Forskare har ännu inte hittat en bättre metod än PKI för att skydda kommunikation mellan människor, saker och tjänster. Kvantkryptografi kan vara morgondagens lösning för att garantera kommunikationssäkerhet, men det är fortfarande en ung teknik som bara är redo för användning inom ett fåtal mycket specifika områden (jag skriver mer om det här i ett kommande blogginlägg).
Anledningen till att PKI för närvarande är den bästa lösningen för att kommunicera säkert på internet är att metoden:
- Möjliggör sekretess genom att använda kryptering och autentisering.
- Möjliggör integritet genom att använda digitala signaturer.
- Tillåter återkallande av förtroende för enheter.
- Tillåter kontinuerlig uppgradering till bättre algoritmer i takt med att de publiceras.
- Är en mogen teknik.
- Bevisar sin tillförlitlighet genom att den används i kritiska tillämpningar inom områden som finanssektorn och försvaret.
- Använder öppna standarder, vilket innebär att standarderna har utvärderats.
- Enkelt skalar så att den kan användas för miljoner eller till och med miljarder enheter.
Vilken kommunikation vill du säkra?
Nexus PKI-plattform används för närvarande av ett stort antal kunder för ett brett utbud av applikationer. Certifikat från vår CA-mjukvara utfärdas för allt från mobilappar, webbläsare, webbservrar och VPN-gateways (virtuella privata nätverk) till konsumentelektronik, 4G-antenner, smarta kort, bilar, laddningsstationer och automationsboxar för smarta hem.