ingång

I artikeln ”Kryptoalgoritmer i klartext” i TW2011-05 tittade vi närmare på ett antal vanliga krypteringsalgoritmer. De algoritmerna var alla symmetriska, vilket innebär att samma nyckel används för att kryptera och dekryptera ett meddelande. Sändaren och mottagaren måste känna till och hålla nyckeln hemlig. Om nyckeln kommer i fel händer kan någon annan läsa krypterade meddelanden, eller skicka falska meddelanden.

Svårigheten med att använda ett symmetriskt krypto är att föra över nyckeln utan att den hamnar i fel händer. Det här har varit föremål för mången ansträngning genom historien – mest klassisk är jakten på kod- böcker med nycklar för kryptomaskiner under andra världskriget, till exempel den legendariska Enigma.

Diffie-Hellman var först
1976 publicerade Whitfield Diffie och Martin Hellman en metod för att utväxla en hemlig nyckel mellan två parter över en öppen kanal utan att någon som avlyssnar kanalen kan få tag i nyckeln. Basen för en Diffie Hellman-utväxling är asymmetrisk kryptering, även kallat kryptering med publika nycklar. Den benämningen avslöjar en viktig egenskap – nycklarna som används för att kryptera meddelanden behöver inte hållas hemliga. Tvärtom, de är till för att spridas över världen. Att vara publika.

För att dekryptera ett meddelande krypterat med en publik nyckel krävs ytterligare en nyckel. Det är den nyckeln som är din privata nyckel, och den måste hållas hemlig. Den publika och den privata nyckeln utgör alltså ett nyckelpar. Nycklarna i paret skapas tillsammans och är matematiskt kopplade till varandra. Däremot går det inte att räkna ut den ena nyckeln med hjälp av den andra nyckeln eller genom att titta på det krypterade meddelandet.

Publik eller privat kvittar
Det finns flera olika asymmetriska krypton. För de flesta av dem spelar det ingen roll vilken nyckeln som är publik och vilken som är privat. Den ena nyckeln kan dekryptera vad den andra krypterar. Det viktiga är att skydda den nyckel som väljs som privat nyckel.

Nyckelparet kan även användas omvänt. Om du krypterar ett meddelande med din privata nyckel går det bara att dekryptera med den publika nyckeln. Eftersom du är den enda som ska ha din privata nyckel visar detta att du är avsändare till meddelandet.

infograf

Kryptering och signering med publika nycklar. A tar emot meddelanden från B krypterade med A:s publika nyckel. A skickar meddelande till B signerat med sin privata nyckel.


infograf

Skurken i mitten har ersatt A:s och B:s publika nycklar med sin egen och kan läsa deras skyddade kommunikation.
"Genom att skicka publika nycklar till varandra kan vi kommunicera säkert och även visa vem ett meddelande kommer ifrån. Eller kan vi verkligen det? "

Är nyckeln äkta?
Genom att skicka publika nycklar till varandra kan vi alltså kommunicera säkert och även visa vem ett meddelande kommer ifrån. Eller kan vi verkligen det? Hur vet du att den publika nyckel du får verkligen är från mig? Genom att fånga nycklarna när de skickas och ersätta dem med egna nycklar skulle någon kunna ta sig in i vår skyddade kommunikation. Det här kallas för en ”man i mittenattack” – se bilden ovan.

Den här typen av attacker förhindras genom att införa en tredje part som båda parter litar på. Den tredje partens uppgift är att gå i god för att en publik nyckel verkligen tillhör en given part.

Ett exempel på en sådan part är servercertifikat som kan användas för att styrka att en webbplats är äkta. Certifikatet är utställt av en organisation som anses trovärdig, och det går att spåra tillbaka till utställarorganisationen. Rent tekniskt bygger även certifikaten på signering med publika nycklar.

En annan metod är att bygga upp ett nät av parter man litar mer eller mindre mycket på. Genom att en eller flera andra parter går i god för motparten kan du etablera tillit till motparten och dess nyckel. Metoden kallas tillitskedjor eller tillitsnät. Krypteringsprogram som till exempel PGP, Pretty Good Privacy, använder tillitsnät mellan användarna.

Sida 1 / 2

Innehållsförteckning

Fakta

  • asymmetrisk kryptering: Kryptoalgoritm där två nycklar krävs, en för att kryptera och en annan för att dekryptera.
  • certifikat: Ett elektroniskt dokument utfärdat från en tredje part som bedöms vara pålitlig. Dokumentet innehåller en publik nyckel samt en signatur för nyckeln. Signaturen är skapad med den tredje partens privata nyckel.
  • faktorisering: Alla tal som inte är primtal kan skrivas som en multiplikation av primtal. Svårigheten är att hitta vilka primtal som gav produkten - talet. Exempelvis är 6 en produkt av 2 och 3.
  • primtal: Ett heltal som vid division ger ett heltal bara om det delas med sig själv eller ett. De första fem primtalen är 2, 3, 5, 7 och 11. Alla tal som inte är primtal kan brytas ned till en produkt av primtal.
  • symmetrisk kryptering: Kryptoalgoritm där samma nyckel används för att kryptera och dekryptera.
  • signatur: En kontrollkod som visar att ett meddelande kommer från en given avsändare och att det inte ändrats på vägen.
  • tillitskedja: En hierarki med parter där den tillit som tillskrivs en part i kedjan är högre ju längre upp i kedjan som parten befinner sig. Ju fler som litar på en part, desto större tillit har den.