Waarom ‘Two factor authentication’?

 
14 juni 2013

Na een hack bij de online notitieapplicatie Evernote in maart 2013, waardoor wachtwoorden (weliswaar versleuteld) op straat kwamen te liggen, heeft het bedrijf zijn 50 miljoen gebruikers gedwongen om het wachtwoord te wijzigen en heeft het de ontwikkeling van zijn two factor authentication versneld[1]. In de media wordt vaak gesproken over two factor authentication en dat veel applicaties overgaan op two factor authentication of al overgegaan zijn. Two factor authentication is een veilige methode om in te loggen, doordat het een tweede of derde authenticatie vereist. In dit artikel gaan we in op de vraag waarom two factor authentication veiliger is dan de reguliere authenticatie methodes, maar ook wat de nadelen zijn. Ook wordt er gekeken naar hoe two factor authentication in de praktijk bij bekende applicaties wordt toegepast en wat de toekomst is van two factor authentication.

Waarom veiliger?

Om de vraag te beantwoorden waarom two factor authentication veiliger is ten opzichte van de gebruikelijke authenticatie is, wordt eerst beschreven wat two factor authentication inhoudt.

Wat is ‘Two factor authentication’?

Two factor authenticatie (ook wel Multi factor authentication genoemd) is een extra stap tijdens het login process (authenticatie). Two factor authentication wordt gebruikt in applicaties tijdens de authenticatie proces bovenop de normale authenticatie, wat meestal niet meer is dan een gebruikersnaam en/of mail met het wachtwoord. Two factor authentication vereist twee of meer authenticatiemiddelen (factoren), deze zijn:
• Iets wat de gebruiker weet,
• iets wat de gebruiker heeft,
• iets wat de gebruiker is.
Door het gebruik van twee of meer factoren zou de applicatie beter beveiligd zijn tegen kwaadwillende, zoals hackers. Er wordt vooral ingegaan op “iets wat de gebruiker heeft” omdat de meeste applicaties hier gebruik van maken.

Iets wat de gebruiker weet
Applicaties gebruiken meestal alleen een wachtwoord om de gebruiker in te laten loggen. Dit is iets wat alleen de gebruiker weet[2].
Een andere variant hierop is een pincode. Dit is een combinatie van vier cijfers, die meestal wordt gebruikt bij het ontgrendelen van een telefoon of om een pinpas te authenticeren zodat daarmee betaald of geld opgenomen kan worden. Voor een Android telefoon is er ook een andere mogelijkheid om met kennis een telefoon te ontgrenden. Dit gebeurt door middel van het tekenen van een patroon die de gebruiker heeft ingesteld.
Deze factor wordt het meest gebruikt om een gebruiker te authenticeren zonder een tweede factor, ook wel single factor authentication genoemd.

Iets wat de gebruiker heeft
Een ander veelgebruikt authenticatiemiddel is het gebruik van iets wat in het bezit is van de gebruiker. Dit kan een token of een mobiele telefoon zijn[2].
Dit authenticatiemiddel is te vergelijken met een sleutel om een deur van het slot te halen. De sleutel bevat een geheim dat gedeeld is met het slot. Dit principe geldt ook voor computersystemen.

Token
Als extra authenticatiemiddel wordt vaak een token gebruikt. Een token is een klein apparaatje op broekzakformaat en heeft een klein scherm. Het apparaat genereert een code die wordt weergeven op het scherm, die de gebruiker moet invullen op zijn computer om verder te komen in het authenticatieproces. Het apparaat heeft verder geen verbinding met een andere bron. Het apparaat bevat een geheime sleutel die ook bekend is bij het authenticatie systeem.
Er zijn meerdere soorten tokens, namelijk een basis token, een tijdsgebaseerde token en een wat uitgebreidere token.

Basis token
De simpelste token is een apparaat met een knop. Na het indrukken van de knop verschijnt er een code en per druk op de knop maakt het apparaat een nieuwe code aan die herkend wordt door de server.

Tijdsgebaseerde token
Een tijdsgebaseerde token heeft een ingebouwde klok waarmee de gegenereerde code afhankelijk is van de huidige tijd. Deze apparaten genereren om de dertig of zestig seconde een nieuwe code, omdat de vorige niet meer geldig is.

Uitgebreide token
De uitgebreide token heeft een klein geïntegreerd toetsenbord. De gebruiker dient eerst een code in te vullen waarmee het apparaat een nieuwe code genereert. De ingevulde code kan een pincode zijn of een code die de applicatie meegeeft als extra verificatie. Mocht de gebruiker een code verzinnen dan wordt er wel een code genereert, maar wordt deze code niet herkend door de applicatie.

Mobiele telefoon
Een mobiele telefoon kan ook gebruikt worden als authenticatiemiddel. Een mobiele telefoon heeft meerdere middelen om te gebruiken voor authenticatie. Een gebruiker kan bijvoorbeeld via een sms een authenticatiecode ontvangen en via een mobiele applicatie.

SMS code
De gebruiker kan een extra code via een SMS bericht ontvangen als er tijdens de registratie op een website gevraagd wordt naar een mobiel nummer. Deze dient na het registreren geverifieerd te worden. Verificatie gebeurt door middel van een code die de gebruiker ontvangt via SMS en op de website moet bevestigen. Als het mobiele nummer is geverifieerd, dan kan de mobiele telefoon gebruikt worden als extra authenticatiemiddel tijdens het inloggen. Dit authenticatiemiddel hoeft niet alleen gebuikt te worden tijdens het inloggen. Dit kan ook als extra middel gebruikt worden om de identiteit te bevestigen van de gebruiker na het opnieuw opvragen van het wachtwoord.
In tegenstelling tot een mobiele app is voor dit authenticatiemiddel geen smartphone vereist, maar voldoet een oudere telefoon ook.

Mobiele app
Smartphones, maar ook tablets, kunnen door middel van een mobiele app een code laten genereren. Dit is in principe hetzelfde als een token waar de code op het scherm wordt weergeven. Door middel van een knop in de mobiele app wordt de code gegeneerd.

Iets wat de gebruiker is
Een ander steeds meer opkomend authenticatiemiddel is ‘iets dat de gebruiker is’. Denk hierbij aan biometrische gegevens. Gebruikers kunnen zich biometrisch authenticeren door middel van een vingerafdruk, stem opname, irisscan en een gezichtsherkenning. Hiervoor is extra hardware vereist.
Deze methode is betrouwbaar doordat deze gegevens uniek zijn per gebruiker.

Veilig
Two factor authentication is minder makkelijk dan simpelweg in te loggen met een gebruikersnaam en wachtwoord. Dit maakt het veel moeilijker voor hackers om een account over te nemen en te misbruiken in naam van de gebruiker die het account bezit.
Gebruikersnamen en wachtwoorden zijn voor een hacker makkelijker te krijgen dan een andere factor. Als two factor authentication is ingeschakeld dan zou de hacker ook iets anders nodig hebben zoals een mobiele telefoon, token of een vingerafdruk en dat is vanaf zijn bureaustoel wat lastiger te verkrijgen.
Two factor authentication houdt in dat er gebruik gemaakt wordt van twee of meerdere factoren van verschillende types. Als er gebruik gemaakt wordt van twee dezelfde factoren dan is dit geen two factor authentication. Het is niet effectief als de authenticatie twee keer vraagt naar “iets wat de gebruiker weet”. Een voorbeeld is dat er eerst een wachtwoord wordt gevraagd en vervolgens om een antwoord op de geheime vraag. Er wordt niet gevraagd naar iets wat de gebruiker heeft of wat de gebruiker is, waardoor dit geen geldige two factor authentication kan zijn[3].

Waarom geen two factor authentication?

Er kunnen meerdere redenen zijn om geen gebruik te maken van two factor authentication. Een reden om two factor authentication niet te gebruiken is omdat het tijdrovend is. Ook kan het zijn dat niet alle factoren beschikbaar zijn. Een andere reden om geen gebruik te maken van two factor authentication is, omdat het niet altijd even veilig is.

Tijdrovend
Een reden om geen gebruik te maken van two factor authentication is omdat het tijdrovend kan zijn. Elke keer moet de gebruiker zijn identiteit twee keer bewijzen en dat kan voor veelgebruikte applicaties een irritatiepunt zijn. Telkens moet dan de mobiele telefoon erbij gehaald worden om een code te ontvangen of er dienen extra handelingen verricht te worden om met een reader, een pas en een pincode een inlogcode te ontvangen.

Ontbrekende factoren
Nog een onhandige reden om geen gebruik te maken van two factor authentication is dat de gebruiker altijd verplicht is om een extra item bij zich te houden mits gebruikt gemaakt wordt van de factor “iets wat de gebruiker heeft”.
Als de gebruiker zijn token (mobiele telefoon, reader, etcetera) niet bij de hand heeft dan kan de gebruiker niet inloggen.
Als de gebruiker zijn hulpmiddel kwijt raakt, dan moet de gebruiker de klantenservice inschakelen om het account te herstellen.

Misbruik
Alhoewel two factor authentication een veilige oplossing is, kan de aanwezigheid van two factor authentication ook extra misbruik opleveren. Bij applicaties waarbij een gebruiker de optionele two factor authentication niet heeft geactiveerd, kan een hacker die door hacken of iets dergelijks in het bezit is gekomen van de eerste factor (gebruikersnaam/wachtwoord) de gebruiker de toegang ontzeggen tot zijn eigen account. De hacker kan een (prepaid) mobiel nummer koppelen aan het account, waardoor two factor authentication geactiveerd is maar niet op het nummer van de gebruiker. De gebruiker kan onmogelijk inloggen en moet hulp vragen aan de supportmedewerkers. Een handeling waar niemand op zit te wachten [4].

Gedeelde account
Het komt regelmatig voor dat een bedrijf updates plaatst op een Twitter account. Het kan voorkomen dat meerdere medewerkers hier voor verantwoordelijk zijn en niet aan het werk zijn op dezelfde locatie.
Two factor authentication is hier geen optie doordat de tweede factor het gebruik is van iets wat de gebruiker heeft en in het geval van Twitter is dit een code die via een sms bericht wordt verstuurd naar één telefoon. Aangezien de telefoon maar op één plek tegelijk kan zijn, is het lastig om verschillende medewerkers in te zetten voor het bijhouden van de Twitter account[4].

Geen two factor authentication?
De opgenoemde nadelen kunnen voor een gebruiker een reden zijn om geen gebruik te maken van two factor authentication. Als two factor authentication niet optioneel is, wat inhoudt dat de applicatie niet uitgeschakeld kan worden, dan kan de gebruiker dit ook als reden zien om helemaal geen gebruik te maken van de applicatie.

Bekende applicaties met two factor authentication

Om een duidelijker beeld te geven van two factor authentication, wordt hieronder beschreven welke veelgebruikte applicaties gebruik maken van two factor authentication.

Google
Google biedt meerdere two factor authentication opties aan voor zijn gebruikers door middel van een mobiele telefoon om een zescijferige code te genereren. De gebruiker kan een sms of spraakoproep ontvangen of gebruik maken van de mobiele app Google authenticator. Het voordeel hiervan is dat dit gebruikt kan worden voor alle Google applicaties[5].
Google authenticator kan ook gebruikt worden door andere applicaties. Dropbox is een bekende applicatie die hier gebruik van maakt [6].

Facebook
Facebook biedt zijn gebruikers de optie om two factor authentication in te schakelen als zij inloggen vanaf een onbekende locatie. De gebruiker ontvangt een SMS met een authenticatiecode. De gebruiker heeft ook de keuze om de onbekende locatie toe te voegen aan de lijst van veilige locaties waardoor een extra authenticatiestap de volgende keer niet meer nodig is[7].

Linkedin
Recentelijk was LinkedIn in het nieuws na het introduceren van two factor authentication. Zij zijn de laatste van de grote social-media sites die dit hebben geïntroduceerd.
Gebruikers moeten een code invoeren als zij inloggen vanaf een niet herkend apparaat of niet herkende browser. Deze code ontvangt de gebruiker op zijn mobiele telefoon door middel van een SMS bericht.
Vorig jaar werd LinkedIn gehackt, waardoor de wachtwoorden van miljoenen gebruikers op straat kwamen te liggen. Door two factor authentication zouden de gevolgen van deze hack kleiner moeten zijn, mits de gebruiker deze optionele methode heeft ingeschakeld.

Twitter
Twitter heeft bekend gemaakt dat zij two factor authentication gaan invoeren, nadat Twitter-accounts zijn gehackt.
Gebruikers hebben nu de optie om het invullen van een verificatie code te verplichten na het inloggen. Deze zescijferige code zal de gebruiker ontvangen door middel van een SMS bericht. Dit betekent dat een telefoonnummer vereist is om gebruik te maken van deze functionaliteit.
Twitter hoopt dat deze functionaliteit gebruikers beschermt tegen hackers, dit nadat accounts van meerdere bekende nieuwsmediums zijn gehacked. Deze maatregel maakt het een stuk lastiger om te hacken en Twitter claimt dat deze maatregel bevestigd dat alleen de eigenaar toegang heeft tot zijn account. Uiteraard kan een telefoon ook gestolen worden.

Blizzard
Blizzard, bekend van het spel World of Warcraft, heeft al enige tijd two factor authentication als optie. Door middel van een token (ook wel authenticator genoemd) kunnen gebruikers inloggen bij één van de spellen van Blizzard. Tegenwoordig hebben zij ook een mobiele applicatie die een code genereert welke ingevuld moet worden na het reguliere inlogproces.
Hoewel two factor authentication een optie is, verplicht Blizzard two factor authentication als er in het spel handel gedreven wordt met echt geld[8].

Evernote
Evernote heeft na een database hack ook de mogelijkheid voor two factor authentication gekregen. Dit is optioneel.
Evernote genereert een zescijferige code en verstuurd deze via een sms naar de gebruiker of de code wordt gegenereerd door een mobiele app, afhankelijk van de voorkeuren van de gebruiker.

Conclusie
Veel bekende en veelgebruikte applicaties gaan over op two factor authentication. De ontwikkelaars van deze applicaties doen dat om hun gebruikers een veilige omgeving aan te kunnen bieden, zodat kwaadwillenden de applicatie niet kunnen benaderen onder de naam van de gebruiker.
Two factor authentication is een veilige oplossing doordat er gebruik gemaakt wordt van een extra factor bovenop de gebruikersnaam/wachtwoord combinatie (“iets wat de gebruiker weet”).
De factor “iets wat de gebruiker heeft” is de meestgebruikte tweede factor bij de two factor authenticatie. De gebruiker moet een hulpmiddel hebben die een extra code genereert om in te loggen. Een uniek hulpmiddel voor de gebruiker die hackers niet hebben. Dit kan een token zijn, authenticatie via een sms of authenticatie via een mobiele app.
Bekende applicaties en websites zoals Google, Facebook, Twitter, Linkedin, Dropbox, Evernote en velen andere maken gebruik van two factor authentication met “iets wat de gebruiker heeft” met vele verschillende implementaties hiervan.
Een nadeel is dat applicaties gebruikers kunnen gaan verliezen, doordat zij two factor authentication tijdrovend vinden. Two factor authentication vereist een extra stap en dit kan voor gebruikers die veel gebruik maken van een applicatie irritaties opleveren.
Ook kan een gebruiker die gebruik maakt van een app met de factor “iets wat de gebruiker heeft” zijn hulpmiddel niet bij de hand hebben. Hierdoor kan de gebruiker niet altijd gebruik maken van de applicatie wat ook tot irritaties kan leiden.
De vraag voor bedrijven is of zij dit als een knelpunt zien om two factor authentication aan te bieden of dat zij veiligheid belangrijker vinden dan de irritatiepunten waar gebruikers mee te maken hebben. In dat geval zal de applicatie veel veiliger zijn dan voorheen.

Bronnen
[1] http://www.informationweek.com/security/application-security/linkedin-evernote-add-two-factor-authent/240156025
[2] http://news.cnet.com/8301-1009_3-57586014-83/two-factor-authentication-what-you-need-to-know-faq/
[3] http://blog.pistolstar.us/blog/diving-into-two-factor-authentication-simple-and-complex/
[4] http://securityaffairs.co/wordpress/14767/security/two-factor-authentication-security.html
[5] http://www.google.com/landing/2step/#tab=how-it-protects
[6] https://www.dropbox.com/help/363/en
[7] https://www.facebook.com/note.php?note_id=10150172618258920
[8] http://arstechnica.com/gaming/2012/06/blizzard-ups-security-reqs-for-diablo-iii-real-money-auctions/

Over de schrijver
Dit artikel is geschreven door Rory Scholman, 25 jaar en student aan de hogeschool te Rotterdam. Rory heeft tijdens zijn opleiding veel geleerd over softwareontwikkeling, softwarearchitectuur, databaseontwikkeling en security. Rory is graag bezig met software ontwikkeling en houdt de nieuwe technieken bij om zijn kennis op peil te houden.


Werken met ?
Kijk dan bij onze mogelijkheden voor starters en/of ervaren IT'ers.


Categorieën: Development, Digitale rechten


Reactie

Trackback & Pingback (1)

  1. Van roryy.nl | artikel two factor authentication op 18 juni 2013 at 21:33

    […] Meer lezen? Het artikel is te lezen op: http://www.software-innovators.nl/2013/06/14/waarom-two-factor-authentication/ […]