Kryptering

 

Kortkurs om SSL och TLSKryptering är matematik och politik i kombination

Kryptering är en teknologi som utvecklades för att dölja information för obehöriga avlyssnare. Det är en teknologi som har haft högkonjuktur i krigssituationer, då man naturligtvis vill kunna kommunicera utan att fiendens styrkor kan läsa det som man kommunicerar.

Detsamma gäller givetvis i datorsammanhang, man vill kunna dölja information som överförs, speciellt när man överför information över ett publikt nät som Internet.

Krypteringsteknologi kan också användas för identifikation i nätverkssammanhang – att avgöra vem man kommunicerar med. Man kan med hjälp av krypteringsteknologi skapa en digital signatur, en sorts namnteckning eller stämpel på ett dokument. Dessutom kan man använda samma teknologi till att kontrollera att dokumentet inte förändrats, att dess integritet har upprätthållits.

Konfidentialitet – att dölja information, identifikation, integritet och oavvisbarhet är grundstenar för nätverkssäkerhet. Utan denna grundläggande säkerhet kommer inte företag och personer att använda Internet för elektroniska affärer.

Kryptoalgoritmer

Grunden i kryptografi är det kodsystem man använder. Det finns flera olika metoder för kryptografi. För varje metod finns ett antal olika sätt att räkna, det som kallas algoritmer. En sådan formel är ofta skyddad av patent och kräver licens för användning.

Metoderna skiljer sig också åt vad gäller hastighet. Ju mer komplicerad och svårgenomtränglig ett sätt att kryptera information är, ju mer tid går åt för datorn som ska kryptera. Ska man att kryptera meddelanden i e-post är det gott om tid, men när det gäller att kryptera nätverkstrafik i hög hastighet mellan två datorer är tidsåtgången ofta kritisk.

Rak kryptering

För rak kryptering, eller symmetrisk kryptering, använder man samma nyckel för kryptering och dekryptering. Det gör att både sändare och mottagare har samma nyckel. Rak kryptering används ofta vid kryptering av en session där hastigheten är viktig. Kryptoformeln är enklare och det gör att det går åt mindre datorkraft för att kryptera och dekryptera information.

Ett problem är överföring av nyckeln, som är gemensam för sändare och mottagare. Den kan inte överföras mellan avsändare och mottagare okrypterad över ett nätverk. Den måste överföras på ett säkert sätt över nätet eller på annat sätt, till exempel på USB-sticka.

Assymetrisk kryptering

Asymmetrisk kryptering baseras på två olika nycklar. Den ena kallas hemlig (ofta också “privat” från engelska “private key”) och den andra öppen (ofta också “publik” från engelska “public key”). Kryptering med den ena nyckeln kan endast dekrypteras med den andra. Nycklarna hänger alltså mycket intimt ihop. Det gör att man kan göra den ena nyckeln, som man kallar den öppna nyckeln, fritt tillgänglig.

Eftersom nycklarna är beroende av varandra kan man vara säker på att information man kan dekryptera med den ena nyckeln är krypterad med den andra. Omvänt kan man också vara säker på att om man krypterar information med en nyckel, kan den bara dekrypteras med den andra.

Asymmetrisk kryptering används ofta vid identifiering, till exempel digitala signaturer. Det används också för säkra meddelanden.

När väljer man vad?

Två parametrar som är utslagsgivande är behovet av säkerhet och behovet av snabbhet. Ju längre krypteringsnyckel som används, ju långsammare går det för datorn att kryptera materialet.

En symmetrisk kryptering är alltid snabbare och enklare för datorn att jobba med än asymmetrisk. Samma sak gäller tyvärr också för den som ska knäcka koden.

Den asymmetriska krypteringen ger fördelar i form av identifiering – man vet vilken nyckel som krypterat informationen. Om nyckeln är kopplad till en person eller företag kan man säkert avgöra vem eller vilket företag som har krypterat.

Det gör att för sessionskryptering, som i hög grad är beroende av hastighet, använder man symmetrisk kryptering. För identifikation och elektroniska signaturer används asymmetrisk kryptering. Många gånger använder man både och. En SSL-session använder stark asymmetrisk kryptering för att komma överens om en tillfällig symmetrisk nyckel, något som är svagare.

Nyckelns längd är avgörande

När krypteringen utförs av datorer kan den också knäckas med datorer. Därför är nyckelns längd avgörande. Ju längre nyckellängd, desto längre tid tar det att knäcka. Det handlar givetvis också om algoritmen, men ofta använder man en känd algoritmenl och då är nyckelns kvalitet och längd avgörande faktorer.

Idag används 40-bitars symmetrisk kryptering för SSL-sessioner i webben, krypterade sessioner som används till exempel för Internetbanker. Inom USA används 128 bitars kryptering, men exportreglerna begränsar nyckelns längd vid export av amerikanska programvaror. 40 bitars kryptering tar inte lång tid att knäcka och är inte ett bra skydd som ger konfidentialitet för din dataöverföring.

För identifiering används asymmetrisk kryptering, med ett nyckelpar som hör ihop. För sådana finns inte samma exporthinder, vilket gör att man här kan använda nycklar med 512 eller 1024 bitar.

Patent & Licenser

Algoritmer för kryptering är väl skyddade av patent och företag som licensierar ut teknologi. RSA var ett amerikanskt företag som ägde många rättigheter till kryptering och licensierar ut till andra företag. En del av patenten för RSAs algoritmer gick ut i september 2000.

Exempel: Säker e-post

Om person X får brev från Y och Y har krypterat brevet med sin privata nyckel kan X tack vare nyckelhanteringen vara säker på att brevet kommer från Y. Brevet är dock inte skyddat för läsning av andra eftersom vem som helst kan få tag på en publik nyckel.

Om Y dessutom krypterar brevet med X publika nyckel, kan bara X läsa brevet med hjälp av sin egen privata nyckel.

Då har man dels säkrat meddelandet för obehörig läsning, dels säkerställt avsändarens identitet.

 

 

Länkar