Metoder för säker kommunikation

Det finns ett antal olika metoder som kan användas för att uppnå autentisering, integritet, oavvislighet och konfidentialitet.

  • Statiska lösenord
  • Dynamiska lösenord
  • Symmetrisk kryptering
  • Assymetrisk kryptering (PKI) där certifikaten är utfärdade för signering, autentisering och kryptering

Statiska lösenord

Ett vanligt sätt att autentisera användare är att använda statiska lösenord, d.v.s. lösenord som används under en längre period, vanligtvis fler än en gång. Oftast finns det applikationsspecifika regler för hur länge lösenordet får användas innan det måste bytas av användaren själv eller av en administratör.

En lösning med statiska lösenord kräver vanligtvis ingen ytterligare installation av programvara eller andra hjälpmedel eftersom det i standardprogramvara där autentisering fordras ofta finns stöd för statiska lösenord. Detta medför att användning av statiska lösenord ofta är lätt att införa. Administration och support av lösenord kan däremot vara tidskrävande och kostsamt.

Statiska lösenord ger ett svagt skydd eftersom de kan vara lätta att knäcka om de inte hanteras på rätt sätt. Användare skriver ofta ner lösenordet på en oskyddad plats eller använder ord som är lätta att gissa, exempelvis ord i ordböcker eller namn på partner. Det finns även risk att någon lyssnar av nätverket och på det sättet fångar upp lösenord som skickas utan kryptering. Det krävs också bra rutiner för hur lösenorden ska hanteras, exempelvis för att undvika att supportpersonal luras att lämna ut lösenord till bedragare.

Dynamiska lösenord

En starkare form av autentisering kan uppnås med dynamiska lösenord. Dynamiska lösenord används bara under en kortare period, vanligtvis endast vid ett tillfälle, och kan genereras exempelvis med dosor och s.k. skraplotter.

I en lösning med dosor har varje användare en unik nyckel som finns lagrad i dosan. Nyckeln är endast tillgänglig för den som kan lösenordet till dosan. Samma nyckel finns lagrad hos den som tillhandahåller tjänsten, exempelvis en internetbank. Tjänstetillhandahållaren måste garantera att nyckeln och vilken användare den tillhör hålls hemligt. Vid autentisering genererar systemet ett tal som användaren matar in i sin dosa och en kod genereras. Koden används sedan för att logga in i systemet. I systemet kontrolleras att talet ger samma kod baserat på den nyckel som tillhör användaren. Fullständigt integritetsskydd och oavvislighet kan dock inte uppnås med dynamiska lösenord eftersom både tjänstetillhandahållaren och användaren har tillgång till samma nyckel.

I en lösning med skraplotter har både användare och tjänstetillhandahållare tillgång till samma lista med lösenord. Båda parter måste hålla listan och vem den tillhör hemlig. Lösenorden kan bara användas en gång och är dolda tills de skrapas fram.

Mobilt sms är en annan typ av dynamiskt lösenord. I en sådan lösning har användaren i förväg anmält sitt mobiltelefonnummer till tjänstetillhandahållaren. Endast användaren har tillgång till telefonen och känner till den kod som krävs för att logga in. Autentisering sker genom att en kod skickas till mobiltelefonen och användaren uppger koden för att verifiera sin identitet exempelvis vid inloggning. På samma sätt som i en lösning med dosor kan koden som skickas till mobiltelefonen baseras på innehållet i transaktionen och därigenom kan ett visst integritetsskydd uppnås.

Kryptering och signaturer

För att skydda informationen när den skickas kan kryptering användas. Dels skyddas informationen från insyn, konfidentialitet, och dels kan man vanligtvis upptäcka om informationen förändras under kommunikationen, integritetskydd. De flesta krypteringsmetoder använder en hemlig nyckel för att kryptera informationen och göra den oläsbar för utomstående. Vid symmetrisk kryptering används samma nyckel för att kryptera och dekryptera och det förutsätter en säker metod för att utbyta nycklar.

Vid asymmetrisk kryptering används två nycklar, en privat nyckel och en publik nyckel som görs tillgänglig för alla. Om A vill skicka ett meddelande till B, krypterar han meddelandet med B:s publika nyckel. För att läsa meddelandet krävs B:s privata nyckel som endast B har tillgång till. På detta sätt skyddas informationen mot insyn från andra än B och konfidentialitet uppnås. I praktiken utnyttjas dock asymmetriska kryptering endast för att utbyta en temporär symmetrisk nyckel som sedan används för att kryptera informationen som ska skickas. Orsaken till detta är att symmetrisk kryptering är mindre resurskrävande än asymmetrisk kryptering.

Asymmetrisk kryptering kan även användas för att säkerställa vem som skickat ett meddelande (oavvislighet) och för att kontrollera att informationen inte förändrats vid transporten (integritet). I det fallet används den privata nyckeln för att skapa en elektronisk signatur som skickas med meddelandet. Signaturen är en omvandling av meddelandet som endast innehavaren av den privata nyckeln kan utföra. Med hjälp av signaturen kan mottagaren kontrollera vem som skickat meddelandet och att innehållet i meddelandet inte förändrats. Det går till så att A signerar dokumentet med sin privata nyckel och B verifierar att det verkligen är A som signerat genom att använda A:s publika nyckel. Eftersom signaturen baseras på meddelandets innehåll kan B även kontrollera att innehållet inte förändrats vid överföringen.

En krypteringsmetod som ofta används vid överföring av information på internet är Secure Sockets Layer (SSL). SSL används vid kommunikationen mellan användarens klientprogramvara och tjänstetillhandahållarens server. SSL kan användas både för att kryptera informationen och för att autentisera de ingående parterna.

Infrastruktur för publika nycklar (PKI)

För att få asymmetrisk kryptering att fungera i ett öppet eller större system, där parterna inte i förväg utbytt nycklar, måste det finnas en infrastruktur som håller reda på vilka nycklar som finns, vilka som är deras ägare och vilka nycklar som av olika skäl spärrats. En metod för att uppnå detta är PKI (Public Key Infrastructure).

I PKI är det vanligtvis en betrodd organisation, kallad certifikatutfärdare (Certification Authority), som delar ut och spärrar certifikat. Registrering och autentisering av användare och deras personuppgifter utförs av en registreringsinstans (RA, Registration Authority). Ofta bedrivs både CA- och RA-verksamhet av en och samma organisation. Den ursprungliga tanken att det skulle finnas en global CA har idag emellertid övergetts till förmån för en mer pragmatisk inställning, certifikatutgivare kan finnas på nationell nivå, lokal nivå, inom en sektor eller inom en affärsrelation.

Den publika nyckeln lagras i ett certifikat tillsammans med uppgifter om den som innehar motsvarande privata nyckel. Certifikatet kan innehålla personlig information såsom namn och personnummer och kan då kopplas till en viss person. Om informationen om innehavaren är opersonlig, exempelvis en roll eller en pseudonym, kan certifikatet inte utnyttjas för att verifiera vilken person som innehar certifikatet. Certifikatet kan också vara utställt till en juridisk person och innehålla företagsspecifik information som organisationsnummer.

Certifikatutfärdaren signerar certifikatet med sin privata nyckel vilket garanterar att ingen annan utfärdat certifikatet och att informationen inte har ändrats av någon utomstående. Certifikatutfärdaren ansvarar för att spärra certifikat vid behov och för att publicera information om vilka certifikat som är spärrade. Riktlinjerna för certifikatutfärdarens verksamhet anges i en policy för certifikatutgivning (Certificate Policy). De mer detaljerade reglerna för framställande, utgivning och spärrning av certifikat anges i ett regelverk för certifikatutgivning (Certification Practise Statement, CPS).

Den privata nyckeln kan lagras på ett s.k. smart kort (hårt certifikat) eller på diskett eller hårddisk (mjukt certifikat). I båda fallen används en PIN (Personal Identification Number) eller lösenord för att få åtkomst till nyckeln.

Om nyckeln lagras på ett smart kort, hårt certifikat, genomförs processen för autentisering och signering på kortet. Detta minskar exponeringen av nyckeln och risken att förlora nyckeln blir mindre. Hårda certifikat är dock dyrare än mjuka certifikat eftersom smarta kort kräver kortläsare och programvara som måste installeras och underhållas. Kravet på kortläsare med tillhörande programvara medför också att lösningen inte kan användas från vilken dator som helst så länge som inte alla datorer har kortläsare.

En lösning med mjuka certifikat förutsätter att programvara, nycklar och certifikat installeras på den dator där de ska användas. I många fall räcker det dock med en webbläsare eller e-postklient som har inbyggt stöd för signering, autentisering och kryptering. Genom att nycklarna lagras på datorn finns det en viss risk att någon utomstående får tag på nyckeln genom dataintrång. Det är därför viktigt att ha brandvägg och virusskydd på den dator där nycklarna lagras. Behovet av att installera certifikat och nycklar begränsar också möjligheten att använda lösningen från olika platser.

Både mjuka och hårda certifikat kan användas för att skapa signaturer för oavvislighet och integritetsskydd. Samma teknik, med privata och publika nycklar, kan användas för autentisering och för att kryptera. Idag är alltså PKI den enda metod som kan användas för att tillhandahålla autentisering, oavvislighet, integritetsskydd och konfidentialitet med en och samma tekniska lösning.

Biometriska metoder

Ytterligare ett sätt att autentisera användare är att utnyttja biometriska metoder. Då används någon egenskap hos personen för att verifiera identiteten. Idag är användningen av biometriska metoder begränsad, men tekniska lösningar finns på marknaden. Dessa metoder utnyttjar exempelvis fingeravtryck, iris, röst eller ansiktsform för autentisering.

Biometriska metoder drabbas ofta av två typer av problem, endera avvisar systemet individer som skall accepteras eller så accepterar det individer som skall avvisas. De flesta biometriska system kan justeras så att en av feltyperna reduceras, men detta sker dock vanligtvis på bekostnad av den andra feltypen. Därför används ofta måttet Crossover Error Rate (CER) som betecknar systemets felprocent då de båda feltyperna är lika frekventa.