Geen standaard accountnamen gebruiken, wel lange en complexe wachtwoorden kiezen en bij controlevragen alternatieve antwoorden noteren: het zijn allemaal maatregelen om de beveiliging van een account te verbeteren. Maar uiteindelijk zijn ze allemaal te kraken en ben je dus kwetsbaar. Een betere methode om de beveiliging van een account te verhogen, is tweefactorauthenticatie. Dat klinkt moeilijk, maar is het niet. Dit artikel laat zien welke opties er zijn en hoe je een account er beter mee beveiligt.
Gebruikersnamen en wachtwoorden behoren tot de meest gezochte informatie onder hackers. Krijgen ze die in handen, dan hebben ze al snel onbeperkt toegang tot gebruikersaccounts, systemen en vooral ook heel veel persoonlijke gegevens. Gebruik van sterke en voor elke site andere wachtwoorden verandert daar weinig aan. Je hoeft maar één keer je wachtwoord in het verkeerde venster te typen of slachtoffer te zijn van een phishingmail, en de status van je online accounts gaat razendsnel van goed beveiligd naar helemaal verloren.
Een manier om gebruikersaccounts beter te beschermen die bovendien heel goed de andere beveiligingsmaatregelen aanvult, is het gebruik van tweefactorauthenticatie (2FA). Behalve een gebruikersnaam en een wachtwoord, wordt dan bij het inloggen nog een extra bewijs gevraagd dat de persoon die inlogt ook echt is wie hij zegt te zijn. Omgekeerd zorgt de extra authenticatiefactor ervoor dat gelekte inloggegevens nutteloos zijn voor kwaadwillenden. De hacker heeft immers dat extra bewijs niet.
Was het toevoegen van extra authenticatiefactoren jarenlang complex en kostbaar, de laatste jaren zijn de mogelijkheden snel goedkoper en gebruiksvriendelijker geworden. Een smartphone is nu vaak al voldoende.
1. De meeste online accounts zijn beveiligd met alleen een e-mailadres en een wachtwoord.
Door een extra authenticatiefactor toe te voegen bij het inloggen, verandert de tweede stap van het zogenoemde toegangscontroleproces. Dit zijn de stappen die doorlopen worden bij het inloggen en daarna gebruiken van een computer of een online dienst. Het proces bestaat uit drie stappen: identificatie, authenticatie en autorisatie. Deze termen worden vaak door elkaar gebruikt, maar betekenen zeker niet hetzelfde, al hebben ze wel met elkaar te maken.
2. In drie stappen regelt het toegangscontroleproces of je wel of geen toegang krijgt tot een online dienst, een systeem of gegevens.
Identificatie is de eerste stap in het toegangscontroleproces. Het is feitelijk niets anders dan zeggen wie je bent of eigenlijk claimt te zijn. Bij computers en online services komt dit meestal neer op het intypen van een gebruikersnaam of e-mailadres, waarna je op oké klikt.
Het is iets wat iedereen kan voor iedere gebruikersnaam of e-mailadres, dus ook met een andere dan de eigen gebruikersnaam of adres. Daarom dat de authenticatie, de tweede stap in het toegangscontroleproces, bij digitale communicatie zo belangrijk is. Bij deze tweede stap wordt gecontroleerd of de persoon die zich heeft aangediend, ook echt de persoon is die hij zegt te zijn. Daarvoor wordt eerder door of over die persoon vastgelegd bewijs vergeleken met informatie die nu wordt aangeleverd.
Komt die informatie overeen, dan heeft de persoon zich succesvol geïdentificeerd en volgt als derde stap de autorisatie. Daarbij krijgt de persoon rechten toegewezen (autorisaties), bijvoorbeeld om een document te lezen, het te bewerken of te verwijderen. Klopt de opgegeven informatie niet, dan valt de authenticatie negatief uit en volgt er geen autorisatie. De persoon krijgt dan dus geen toegang tot het account of de bijbehorende gegevens.
VERSCHILLENDE FACTOREN
Bij digitale diensten is de authenticatie extra lastig, omdat gebruikelijke vormen van authenticatie, zoals iemand herkennen of het vergelijken van een paspoort, online niet werken. Het soort bewijs dat gebruikt kan worden voor de authenticatie valt in drie categorieën uiteen: iets wat je weet, iets wat je hebt en iets wat je bent.
Een voorbeeld van iets wat je weet, is een wachtwoord of pincode. Iets wat je hebt, kan bijvoorbeeld een pasje of token zijn. En een voorbeeld van iets wat je bent, is een vingerafdruk, stem- of gezichtsherkenning. Of bijvoorbeeld een irisscan, waarbij de textuur van een deel van het oog wordt gebruikt om iemand te herkennen.
3. DigiD voorziet in meerdere manieren van authenticatie die verschillende zekerheden geven dat de persoon die inlogt ook is wie hij zegt te zijn.
Geen van deze factoren geeft overigens honderd procent zekerheid. Iets wat je weet, kan worden geraden of afgeluisterd. Iets wat je hebt, kan worden gestolen. En iets wat je bent, kan worden gekopieerd. Maar door als bewijs van de identiteit meer dan alleen een wachtwoord te vragen, wordt misbruik ineens wel heel veel moeilijker.
Belangrijk is dat multifactorauthenticatie niet zozeer de beveiliging verbetert door meerdere authenticatiefactoren te vragen, maar door authenticatiefactoren uit de verschillende eerdergenoemde categorieën te vragen. Dus iets wat je weet én iets dat je hebt, of iets dat je weet én iets dat je bent.
Iets wat je niet weet
Van alle authenticatiefactoren is het wachtwoord het meest bekend. Al in vroeger tijden werd een geheime code gevraagd als bewijs dat iemand toegang tot de burcht mocht hebben in tijden van een conflict. Het ging dan om een afgesproken woord of zin, ongeacht de persoon die het uitsprak.
Een wachtwoord om toegang te krijgen tot een computer of digitale dienst is juist niet bekend bij anderen, ook niet bij het systeem waartoe toegang wordt gekregen. Die kent alleen de hash van het wachtwoord, een onomkeerbare berekening met een altijd identieke uitkomst, en kan die vergelijken. De kwetsbaarheid van wachtwoorden maakt dat vooral in professionele omgevingen wordt ingezet op complex, lang en uniek, wat het gebruiksgemak van wachtwoorden flink aantast.
Iets wat je bent
De extra factor met misschien wel de beste gebruikerservaring is de derde, iets wat je bent. Hierbij wordt een fysiek of gedragskenmerk van een persoon gebruikt als bewijs. Denk aan een vingerafdruk, een irisscan of gezichtsscan, maar het kan ook stemherkenning zijn.
Biometrische authenticatie heeft als voordeel dat het kenmerk dat gecontroleerd wordt onlosmakelijk verbonden is met de persoon. Je hebt het altijd bij je. Ook zijn biometrische factoren moeilijk te kopiëren.
Nadelen zijn er ook. Zo is specifieke hard- en software nodig om een biometrisch persoonskenmerk te scannen. Windows 10 biedt met Windows Hello standaard ondersteuning voor biometrische authenticatie, maar een vingerafdrukscanner of webcam die geschikt is om een gezichtsscan te kunnen uitvoeren, is verre van standaard.
Hier komt nog bij dat biometrische gegevens tot de bijzondere persoonsgegevens behoren en daarmee onder de hoogste privacyregelgeving vallen. Ook wordt bij veel biometrische herkenning meer gezien dan alleen de informatie die nodig is voor de identificatie, wat het ook weer risicovoller maakt.
4. Windows biedt inmiddels een veelheid aan opties om je aan te melden.
2FA is MFA, maar MFA is meer dan 2FA
Bij authenticatie gaat het al snel over 2FA en MFA. 2FA staat voor tweefactorauthenticatie en betekent dat er twee authenticatiefactoren worden gevraagd. MFA staat voor multifactorauthenticatie en betekent dat er meer dan één authenticatiefactor wordt gevraagd. Dit kunnen er twee zijn (2FA), maar wanneer nog hogere beveiliging is gevraagd ook meer. Omdat de meeste accounts nog met alleen een wachtwoord werken, krijgt 2FA als eerste stap de meeste aandacht.
Iets wat je hebt
De populairste extra authenticatiefactor, afgezien van het wachtwoord, is iets wat je hebt. Hierbij gaat het dan om een fysiek element zoals een pasje of een token.
De uitdaging bij online authenticatie is om vast te stellen dat de persoon die wil inloggen, op dat moment ook echt dat fysieke element bezit. Dit gebeurt veelal door op het apparaat of met behulp van een paslezer een code te genereren. Die code is uniek voor dat apparaat op dat moment en vaak ook maar beperkte tijd bruikbaar. Naast het wachtwoord moet bij het inloggen dit One-Time Password (OTP) of Time-based One-Time Password (TOTP) worden ingevoerd.
5. Facebook is een van de diensten die gebruik van een verificatie-app voor extra beveiliging ondersteunt en zelfs aanbeveelt.
Smartphone als token
Omdat bijna iedereen een smartphone bij zich draagt, wordt deze steeds meer als 2FA-token gebruikt. Dit gebeurt met een authenticatie- of verificatie-app op de smartphone die de unieke codes genereert. De app zelf is eerst leeg, maar online diensten laten zich er eenvoudig mee verbinden, waarna de app elke dertig seconden voor elke dienst een nieuwe inlogcode genereert.
Het verbinden van de app met de online dienst gebeurt door in te loggen bij de dienst en daar de tweefactorauthenticatie in te schakelen. De site genereert dan een sleutel die je handmatig kunt invoeren of via een QR-code kunt scannen, zodat de app aan de dienst wordt gekoppeld. Invoer van een eerste code rondt de koppeling af.
De app heeft geen toegang tot het account en communiceert nadat de koppeling is gemaakt ook niet meer met de online dienst. De app berekent slechts codes op basis van gegevens die tijdens de koppeling werden uitgewisseld. Het werkt dus ook wanneer de smartphone geen internetverbinding heeft.
Doordat de achterliggende techniek gebaseerd is op standaarden, zijn de apps uitwisselbaar en is het goed mogelijk bijvoorbeeld een Google-inlog te koppelen in de verificatie-app van Microsoft of omgekeerd.
6. De authenticatie-app genereert voor elke gekoppelde inlog om de zoveel minuten een nieuwe unieke code.
Authenticatie-apps
Het aanbod aan authenticatie-apps is groot. Nadrukkelijk aanwezig zijn Google en Microsoft met hun Authenticator. Die van Google is – voor een bedrijf dat van advertenties leeft – opvallend basic en sober. De eigen Google-diensten krijgen zelfs geen voorkeursbehandeling. Misschien komt dit doordat Google op Android aanvullende 2FA-functionaliteit biedt die daardoor niet in de app zit, ook niet in de iOS-versie.
Microsoft Authenticator vereist een Microsoft-account en is behalve een tokengenerator ook een wachtwoordmanager. Bij diensten die dat ondersteunen, kun je ook inloggen door op een pop-upbericht te klikken in plaats van de OTP-code over te nemen. De app openen kan met gezichtsherkenning en vingerafdruk, en accounts kunnen online worden opgeslagen.
Maar er zijn zeker alternatieven voor de apps van Microsoft en Google. FreeOTP is bijvoorbeeld opensource en wordt onderhouden door RedHat. Ook heb je Authy, dat in staat is om accounts te synchroniseren tussen Authy-apps op verschillende apparaten. Daarnaast biedt Authy een optionele versleutelde back-up in de cloud, handig voor als de telefoon wordt vervangen of zoekraakt. Authy vraagt hiervoor wel het telefoonnummer en een e-mailadres, terwijl je dit soort apps misschien liever anoniem houdt.
LastPass en Keeper zijn voorbeelden van wachtwoordmanagers met een eigen verificatie-app.
7. Authy biedt versleutelde back-up, maar koppelt de app wel aan het telefoonnummer en je e-mailaccount.
Real-time phishing attack
Is 2FA de oplossing voor alle dreigingen? Niet altijd. Gebruik je een smartphone als OTP-token, dan kan een hacker via een real-time phishing-attack nog steeds je sessie overnemen.
Hierbij ontvangt de gebruiker een phishing-mail (1) en klikt op de link in die mail. Deze verbindt hem met de phishing-site (2) die functioneert als proxy en de verbinding doorzet naar de echte site (3). Als man-in-the-middle vangt de phishing-site eerst de gebruikersnaam en wachtwoord (6 en 7) en daarna ook de OTP-code af (9). Zodra die laatste is ontvangen, gebruikt de hacker die om de sessie met de echte site over te nemen (10).
Een real-time phishing-attack is een geavanceerde hack die een 2FA-inlog met een verificatie-app te slim af is.
Back-up en noodcodes
Het toevoegen van 2FA via bijvoorbeeld een authenticatie-app zorgt voor extra beveiliging, maar introduceert ook nieuwe risico’s. Wat als de telefoon defect raakt, gestolen wordt of vergeten in de trein? Elke site genereert naast de OTP-codes ook een aantal noodcodes die altijd bruikbaar zijn. Hiermee kun je inloggen als de telefoon niet beschikbaar is, maar ook 2FA uitschakelen en een nieuwe telefoon verbinden.
Om jezelf niet buiten te sluiten, is het essentieel dat je deze noodcodes downloadt en veilig bewaart (en dat doe je beter niet in een wachtwoordmanager die je met dezelfde 2FA hebt beveiligd!). Ook is het zeer verstandig om de codes te printen en bijvoorbeeld in te stellen dat je 2FA-codes ook ontvangt via sms of e-mail. Dit zorgt ervoor dat het ook zonder kwijtgeraakte telefoon of met juist een nieuwe telefoon werkt.
8. De noodcodes zijn eenmalige 2FA-codes om in te loggen wanneer de gewone 2FA-codegenerator defect of zoek is.
Voorbij OTP
Gebruik van een authenticatie-app is door de eenvoud en lage kosten zeer succesvol. Maar niet iedereen heeft een smartphone of wil die hiervoor gebruiken. Daarbij is OTP best gebruiksvriendelijk, maar telkens de app moeten openen is dat niet. Daarbij is de beveiliging nog niet perfect, zoals je in het kader over real-time phishing-attacks kunt lezen. De oorzaak: ook bij OTP gaat er uiteindelijk een wachtwoord over de lijn. Zelfs al is dat een uniek eenmalig wachtwoord, het blijft een wachtwoord.
Daarom heeft een groot aantal techbedrijven, verenigd in de FIDO Alliance (“Fast Identity Online”), nieuwe authenticatietechnieken ontwikkeld zoals U2F (“Universal 2nd Factor”) en FIDO2. Deze technieken gebruiken geen OTP om vast te stellen dat de gebruiker over de token beschikt, maar doen dit met een zogeheten challenge-response.
Deze aanpak maakt gebruik van public key-cryptografie, waarbij de inlog een ‘challenge’ genereert en versleutelt met de private sleutel van de gebruiker. De online dienst ontsleutelt deze challenge met de publieke sleutel van die gebruiker. Dit gebeurt op een slim apparaat met een security-kern waarin de private sleutel veilig zit opgeborgen.
BEVEILIGINGSSLEUTEL
Google en Thetis verkopen zulke hardwarematige beveiligingssleutels, maar het meest bekend is de Yubikey van Yubico. De Yubikey 5 is de nieuwste versie en beschikbaar in verschillende uitvoeringen. Functioneel zijn al deze modellen identiek, het verschil zit hem in de mogelijkheid van verbinden met een pc (usb-a/c) of smartphone (usb-c/lightning/NFC).
Er zijn ook grotere sleutels, veelal met een gat erin, handig om aan een sleutelbos te hangen. Daarnaast zijn er kleine (‘nano’) modellen die min of meer vast in een pc kunnen blijven (dit is veilig mits die pc zelf veilig is). Er zijn geen drivers nodig om ze te laten werken, de ondersteuning is standaard ingebouwd in het besturingssysteem en de modernere browsers.
9. Yubikey biedt meerdere modellen hardwarematige beveiligingssleutels die onderling alleen verschillen in de manier van verbinden met pc of smartphone.
Het koppelen van een hardwarematige beveiligingssleutel aan een online dienst is vergelijkbaar met het verbinden van een smartphone-app. Je logt met het eigen account in bij de dienst, waarna je bij de opties voor tweefactorbeveiliging (of tweestapsverificatie, zoals het in het Nederlands ook wel wordt genoemd) kiest voor een beveiligingssleutel. Dan moet de sleutel worden geplaatst en de koppeling met een druk op de knop op de sleutel worden bevestigd.
Bij gebruik van FIDO2 wordt ook een pincode gevraagd voor de beveiligingssleutel. Deze is onderdeel van de FIDO2-standaard die wachtwoordloos inloggen nastreeft, maar daarvoor wel een pincode of biometrische beveiliging vereist. Een Yubikey met een vingerafdruksensor is al langere tijd in de maak, maar nog niet uitgebracht. Anders dan een authenticatie-app is een hardwarematige beveiligingssleutel niet gratis. Prijzen beginnen bij 50 euro per stuk.
10. Het koppelen van de beveiligingssleutel verloopt niet heel anders dan het koppelen van een authenticatie-app.
Denk aan de back-up
2FA met een hardwarematige beveiligingssleutel werkt erg gebruiksvriendelijk. Geen gedoe met een app en codes, maar gewoon de sleutel plaatsen, op de knop drukken en klaar. Toch kent ook de beveiligingssleutel zijn uitdagingen. Wat moet je bijvoorbeeld doen als de sleutel kwijtraakt, gestolen wordt of stukgaat? De beveiliging van de sleutel is zo stevig dat deze niet gekopieerd kan worden. Een Yubikey is zelfs zo dichtgetimmerd dat het niet eens mogelijk is de firmware te updaten.
Opnieuw is het verstandig de noodcodes te bewaren. Ook kun je meerdere sleutels registreren bij dezelfde dienst. Dit is wel arbeidsintensief omdat je dan dus telkens niet één, maar bijvoorbeeld twee of drie sleutels moet koppelen, maar het maakt het wel veiliger. Een andere optie is dat je ook de verificatie via smartphone en app of sms/e-mail in stand houdt. Door die alleen in noodgevallen te gebruiken, wordt het allemaal al een stuk veiliger.
Sites die 2FA ondersteunen
Steeds meer sites ondersteunen 2FA/MFA en dat geldt zeker voor de ‘grote’ websites zoals Google, Facebook, Twitter, verschillende Microsoft-sites, cloudopslag zoals Google Drive, Dropbox, maar ook NAS-apparaten en een heel groot aantal applicaties waaronder veel wachtwoordmanagers.
Een goed overzicht van sites en de ondersteunde vorm van MFA/2FA is te vinden op www.2fa.directory en specifiek voor Yubikeys op www.tiny.cc/yubikey. Bij elke site die genoemd wordt, vind je een verwijzing naar de uitleg over het koppelen van de Yubikey.
Online zijn meerdere overzichten te vinden van sites en diensten die de verschillende vormen van 2FA ondersteunen, inclusief informatie over hoe je die kunt koppelen.