ingång-mobil


Att använda statiska lösenord för autentisering har många nackdelar. Har man ett lösenord som är enkelt att komma ihåg är det ofta även lätt att gissa. Ett komplext lösenord vill användare gärna skriva ned, vilket i sig innebär risker.

Tvåfaktorautentisering överkommer dessa problem eftersom autentiseringen inte endast kräver ett lösenord att komma ihåg utan även något som man bär med sig. Det finns en mängd olika lösningar för tvåfaktorautentisering, till exempel de olika typer av säkerhetsdosor som vanligen används för internetbanker. De medför dock problemet att komma ihåg att ta med sig själva säkerhetsdosan och att inte förlägga den.


Mobilen är nya dosan
Med intåget av smarta mobiler finns det en lösning på det problemet. Genom att låta den smarta mobilen agera säkerhetsdosa uppnår man ett läge där användaren alltid har med sig sin säkerhetsdosa. Allt krångel med skrapkoder och säkerhetsdosor är därmed borta. Dessutom blir kostnaden för tvåfaktorlösningen ofta betydligt lägre än om du måste köpa in säkerhetsdosor.

En vanlig typ av tvåfaktorautentisering är den modell som ofta används av säkerhetsdosor, där dosan innehåller en nyckel som används för att framställa engångskoder. En fördel med de koderna är att säkerhetsenheten inte kräver kontakt med något nätverk vid autentisering.

Vanligt för mobila lösningar är även att engångslösenord distribueras genom sms till den smarta mobilen. Det har fördelarna att man får ett helt slumpmässigt engångslösenord och man inte behöver ha nycklar lagrade i mobilen. Mobilens nycklar kan alltså inte kopieras till en annan enhet.

Å andra sidan krävs kommunikation mellan mobil och server vid autentiseringstillfället, vilket kan skapa problem om det är dålig täckning i gsm-nätet.

Vissa lösningar använder även tcp/ip och krypterar kommunikationen för att upprätta en säker kanal mellan användarens mobiltelefon och server. Till exempel kan asymmetrisk kryptering och mjuka klientcertifikat i mobilen användas för att säkra kommunikationen mellan klient och server.


Vad är Oath?

Det finns ett antal olika metoder för tvåfaktor-autentisering. De vanliga metoderna baseras på standarder framtagna genom Oath, Initiative for Open Authentication, ett internationellt samarbetsprojekt där ett trettiotal leverantörer av säkerhetssystem är medlemmar. Syftet med samarbetet är att underlätta för ökad användning av stark autentisering.

Exempel på autentiseringsmetoder utvalda för Oath är hotp, hmac-baserad one time password, och totp, tidsbaserad one time password. Algoritmer för hotp och totp innebär i praktiken en hash-funktion med en hemlig nyckel som delas mellan klient och server. Pin-kod och inkrementerande heltalsvärde (hotp) eller tidsstämpel (totp) som indata används sedan för att säkerställa att endast en token i taget är giltig.


Authme – en svensk lösning
infograf-authme

Authme är en autentiseringsprodukt från det svenska företaget Accumulate, grundat 2004. Företaget uppger att lösningen i nuläget finns i cirka 50 miljoner applikationer världen över.

Authme bygger på plattformen Mobile Everywhere som även kan användas för andra tjänster, till exempel mobila betalningar och signering av dokument. Accumulate uppger att plattformen är godkänd för miljöer med höga säkerhetskrav.

Mobilapplikationen för Authme finns i dag för de flesta plattformarna, bland annat Android, Iphone, Symbian, Java ME och Blackberry. Den lanserar även för Windows Phone inom kort.

Authme är tänkt att vara en enkel och säker lösning för inloggning mot företagets servrar. Autentiseringsservern är som standard en tjänst som tillhandahålls av Accumulate, men servern kan även, om kunden önskar, lyftas in till företagets egen serverpark.

Eftersom servern är konstruerad för Java så kan den exekvera under alla plattformar som stödjer Java, som Windows eller Linux. Integrationen med existerande säkerhetslösningar sker, precis som i liknande produkter, genom radius-protokollet.


Mobile OTP – med öppen källkod

Mobile OTP har hunnit få ett antal följeslagare genom åren och utvecklas fortfarande. Numera finns även appar för Android och Iphone.
Mobile OTP är en öppen källkodslösning för tvåfaktorautentisering. Den har funnits sedan 2003 och framställs av dess utvecklare som en standard för autentisering via one time password, otp, med säkerhetstoken framställd i mjukvara. Det uppges i dag att det finns ett fyrtiotal lösningar som använder konceptet.

Bland annat används Mobile OTP för radius-servrar, vilket gör att systemet kan integreras med en mängd andra enheter som har stöd för radius. Installationsexempel finns för exempelvis Freeradius. Viss hårdvara har även inbyggt stöd för Mobile OTP, till exempel Drayteks Vigor 2955 ssl vpn-brandvägg.

Det finns även Apache-moduler för Mobile OTP-algoritmen och några banker har implementerat algoritmen för autentisering av kontoinnehavare. Färdiga mobilklienter, även de med öppen källkod, finns för Java ME, Iphone och Android.

Mobile OTP-algoritmens popularitet beror möjligen på dess enkelhet, med tidssynkroniserade engångstoken för autentisering.

Flödet i Mobile OTP ser ut så här:
1. Användaren matar in sin pin-kod i klientapplikationen.
2. Klientprogrammet genererar en md5-hash som består av:
a. pin-kod (fyra tecken)
b. 16-bytes delad hemlighet
(skapas vid initiering av klient)
c. Tidsstämpel (10-sekunders-
intervaller).
3. När pin-koden matas in i klientapplikationen så visas de första sex tecknen av md5-hashen. Detta är otp-koden.
4. Användaren ansluter mot servern där autentisering ska utföras.
Användaren matar in otp-koden
i sin klientapplikation, till exempel vpn-klient eller webbapplikation, och postar den till autentiseringsservern.
5. Otp-koden verifieras av autentiseringsservern.
Integration mot andra system är enkel eftersom själva autentiseringsmekanismen är ytterst okomplicerad. Exempelkod för finns för att implementera autentiseringsmekanismen, med endast ett tiotal kodrader, i flertalet programspråk, bland annat Perl, PHP, sql och Python. Det behövs ingen kommunikation mellan mobil-app och autentiseringsservrar.

För att lösningen ska vara säker så är det viktigt att skydda autentiseringsservern eftersom pin-koder och initieringsnyckel (delad hemlighet) lagras i klartext. Men att till exempel skydda sin radius-server noggrant bör vara en självklarhet för alla.