Engangspassord

Formålet med et **engangspassord** er å gjøre det vanskeligere å tilegne seg uautorisert tilgang til ressurser som er begrenset, slik som en konto på en datamaskin. Tradisjonelle statiske passord er enklere å finne av en uautorisert angriper, så lenge en har nok tilgjengelige forsøk og tid. Ved å kontinuerlig endre passordet, slik som man gjør med et engangspassord, kan denne risikoen begrenses betraktelig.

Det finnes i utgangspunktet tre typer engangspassord: den første typen bruker en matematisk algoritme for å generere et nytt passord basert på det forrige. Den andre typen er basert på tidssynkronisering mellom autentiseringstjeneren og -klienten som gir passordet. Den tredje typen bruker også en matematisk algoritme, men passordet er basert på en utfordring (challenge), for eksempel et vilkårlig tall valgt av autentiseringstjeneren, kombinert med en teller, i stedet for å baseres på det forrige passordet.

## Implementering av en matematisk algoritme for engangspassord

En fremgangsmåte, kreditert Leslie Lamport bruker en enveis funksjon (kalt *f*). Engangspassordsystemet starter med å bruke et initielt såkorn *s*, og vil så generere passord: *f*(*s*), *f*(*f*(*s*)), *f*(*f*(*f*(*s*))), ... så mange ganger som nødvendig. Om en uendelig serie passord er ønsket, så kan en ny såkornsverdi velges etter at settet *s* er uttømt. Hvert passord blir så utdelt i revers, med *f*(*f*(...*f*(*s*))...) først, til *f*(*s*).

Om en inntrenger tilfeldigvis ser ett engangspassord, kan det hende at de får aksess i en periode eller under e innlogging, men det vil bli ubrukelig så fort perioden er over. For å finne det neste passordet i serien basert på det forrige, må man finne en måte å kalkulere den inverse funksjonen *f*−1. Siden *f* er enveis, er dette meget vanskelig å utføre. Hvis *f* er en kryptografisk hashfunksjon, og den er som regel det, er det frem til nå en umulighet å gjennomføre.

## Implementering av et tidssynkronisert engangspassord

Tidssynkroniserte engangspassord er som regel lenket til fysiske enheter. En slik enhet, kalt **token**, kan gis til hver enkelt bruker, da denne genrerer engangspassord. Inne i dette token er det en nøyaktig klokke som er synkronisert med klokken på autentiseringstjeneren. I disse engangspassordsystemene er tid en viktig del av passordalgoritmen, da genereringen av nye passord er basert på klokkeslett, og ikke på det forrige passordet eller en hemmelig nøkkel.

Mobiltelefoner og PDAer kan også brukes for å generere tidssynkroniserte engangspassord, slik som i FiveBarGate konseptet. Denne vinklingen kan være mer kosteffektiv enn å bruke egne token, siden mange, om ikke de fleste, internettbrukere allerede har en mobiltelefon. I tillegg vil en slik løsning være enklere, da brukeren ikke vil behøve å bære på et ekstra token for hvert sikkerhetsdomene hen har behov for å aksessere.

## Implementering av en utfordringstype engangspassord

Bruken av engangspassord krever av en bruker at han autentiserer en tidssynkronisert utfordring (challenge) på riktig måte. Dette kan gjøres ved å sende et svar på utfordringen. For å unngå duplikater, kan man legge til en teller, slik at om man får samme utfordringen to eller flere ganger, vil resultatet fremdeles gi forskjellige engangspassord.

## Sammenligning av teknologier

Det finnes en del innlysende kostbesparende fordeler ved tidssynkroniserte engangspassord, da brukere har tendens til å generere et passord, for så å enten ikke bruke det, eller skrive det inn feil. Om man har et engangspassordsystem som ikke er tidssynkronisert, vil dette medføre at klienten blir usynkronisert med autentiseringstjeneren, og man må i verste fall bytte ut klientene, noe som kan medføre ekstra kostnader. Alternativ kan tjeneren ta hensyn til dette ved å ignorere feil passord, og akseptere eksempelvis ett av de 10 neste passordene i stedet for kun det neste passordet. Dette vil kunne kreve ekstra innsats i implementeringen av et engangspassordsystem, som kan påvirke faktorer som prisen på det ferdige systemet.

På den andre siden finnes det noen innlysende kostbesparelser ved å bruke et engangspassordsystem som ikke bruker tidssynkronisering, da dette ikke trenger en innebygget klokke, og derfor ikke trenger kontinuerlig strøm, slik at et batteri kan vare lenger, eller ikke være fullt så kraftig.

Alt i alt, vil man ved en stor installasjon kunne forvente at et tidssynkronisert engangspassordsystem vil være dyrere enn alternativene.

Engangspassord som ikke er tidssynkroniserte er sårbare for nettfiskere. På slutten av 2005 ble en del kunder av Nordea bank i Sverige lurt til å gi fra seg engangspassordene. Selv tidssynkroniserte engangspassord er sårbare for nettfiske, om passordet blir brukt raskt nok av angriperen. Dette ble sett i 2006 under et angrep på kundene av Citibank i USA. Brukere av slike systemer må i utgangspunktet være klar over at de er sårbare overfor mellommanns-angrep, og må aldri gi sitt engangspassord til tredjepart. Hvorvidt man bruker tidssynkroniserte enganspassord eller ei er i utgangspunktet irrelevant for graden av sårbarhet. Dette gjelder også for utfordrings-baserte (challenge) engangspassord, selv man må utvide angrepet på tidssynkronsierte engangspassord en del til et fullt mellommanns-angrep.

Standardisering er bra. De fleste gode tidssynkroniserte enganspassords-teknologier er patentert og ikke tilgjengelig for allmennheten. Matematiske algoritmer for engangspassord er derimot en god erstatning for disse, siden mange sikkerhetseksperter rynker pannen når de ser sikkerhet gjennom uklarhet-prinsipper, som så ofte er faktum når det gjelder tidssynkroniserte engangspassord. Andre typer engangspassord kan og er ofte basert på kryptografiske algoritmer som er godt kjent og aksepterte.

En vanlig teknologi for å levere engangspassord er SMS Short Message Service (SMS). Siden SMS er en tilsynelatende allestedsnærværende kommunikasjonskanal, tilgjengelig i de fleste om ikke alle mobiltelefoner, og med en bred kundebase, har SMS-meldinger det største potensialet for å rekke ut til alle forbrukere med en lav totalkostnad. Token, smartkort og andre tradisjonelle autentiseringsmetoder koster mer å implementere, er dyre å vedlikeholde og blir ofte møtt med motstand hos forbrukere. De er også sårbare for mellommanns-angrep, hvor nettfiskere kaprer online sesjoner ved å lure kunder til å oppgi engangskoder som blir generert av tokens eller smartkort. I tillegg kan tokens mistes, og derfor kan det å integrere engangspassord i mobiltelefoner være sikrere og enklere.

## Referanser


## Eksterne lenker
* Initiative for open Authentication (OATH) 
* RSA Labs OTP standardization proposal