Hoe zat het ook alweer?

Tweefactorauthenticatie betekent heel letterlijk dat je twee “factoren” nodig hebt om je te kunnen authenticeren. Eén van die factoren is je wachtwoord. In het geval van 2FA heb je dus nóg een factor nodig. Dat kun je op verschillende manieren implementeren. Denk bijvoorbeeld aan:

  • Een SMS-code van zes cijfers
  • Een “hardwaretoken” (of “hardwresleutel”) die je een tijdelijke code toont
  • Een app op je mobiel die elke 30 seconden een nieuwe code toont
  • Biometrie, zoals een vingerafdruk
  • Hardwaretokens die moderne standaarden ondersteunen

Als je zo’n vorm inschakelt, heb je dus naast je wachtwoord (die je weet) ook iets nodig dat je hebt. En dat kun je bijvoorbeeld bewijzen met een tijdelijke code.

Op deze manier maak je inloggen een stuk veiliger. Heeft iemand je wachtwoord? Dan kunnen ze nog steeds niet inloggen op je account zonder een unieke, tijdelijke, code. Het wordt dus als een stuk moeilijker om zomaar toegang tot je account te krijgen.

 

Niet elke vorm is even veilig

Niet elke vorm is even veilig, zo worden SMS-codes inmiddels niet meer als veilig gezien. In de praktijk is gebleken dat het mogelijk is om iemand’s telefoonnummer over te nemen (”sim swapping”), waarna een aanvaller de codes op zijn telefoon krijgt in plaats van die van jou.

Apps die gebruikmaken van tijdelijke codes (”TOTP: Time-based One Time Passwords”) zijn veiliger. Denk bijvoorbeeld aan Google Authenticator of Microsoft Authenticator. Er zijn ook alternatieve apps.

Biometrie is (als het goed is geïmplementeerd) nog veiliger, maar biedt obstakels op het gebied van privacy. Zo kun je niet zomaar biometrische gegevens van iemand verzamelen.

Op dit moment zijn hardwaresleutels die de moderne “WebAuthn”-standaard ondersteunen het veiligst. Het NCSC noemt deze vorm ook wel “phishing-resistente authenticatie”.

 

Phishing-resistente authenticatie

Bij een phishingaanval probeert een hacker gegevens van je te ontfutselen, zodat ze bijvoorbeeld je account kunnen overnemen. Bij tijdelijke codes (zoals via een app), zou je de code per ongeluk in kunnen vullen op een phishingsite, als je dacht dat je op de echte site zat.

Bij hardwaretokens die WebAuthn ondersteunen, kan dat niet. Je vult zelf geen gegevens in maar toont aan dat je de sleutel hebt door ‘m aan te sluiten op je computer. Je browser gebruikt deze vervolgens om je te authenticeren op een website.

Deze authenticatie is gebonden aan een domeinnaam. Als je de token dus hebt ingesteld voor mijn.bank.nl, en probeert in te loggen op mijn.bank.hacker.nl, werkt die token niet.

Een hacker kan dus onmogelijk deze factor nabootsen in zijn aanval. Een voorbeeld van zo’n token is een Yubikey, het bekendste merk dat zulke tokens aanbiedt.

 

Denk ook aan je beleid

In de praktijk blijkt keer op keer dat mensen de makkelijkste weg kiezen. Ook als het gaat om cyberveiligheid. Je hebt bijvoorbeeld een manier om veilig documenten te versturen, maar merkt dat medewerkers als nog gevoelige documenten naar elkaar mailen.

Dat is met tweefactorauthenticatie niet anders. Deze tips kunnen je helpen:

  • Maak tweefactorauthenticatie verplicht. Als je Google Workspace of Office 365 gebruikt, kan je systeembeheerder het gebruik van 2FA verplicht maken. Medewerkers kunnen dan niet inloggen zonder tweede factor. Je kunt het ook alleen voor bepaalde gebruikers of groepen verplicht maken.
  • Denk na over het herstellen van accounts. Een tweede factor in de context van 2FA is iets dat iemand heeft, zoals een app of token. Inherent daaraan kunnen ze het ook kwijtraken. In zo'n geval kunnen ze dus niet meer in hun account. Denk goed na over de manier waarop je zo'n account dan herstelt. Neem bijvoorbeeld geen genoegen met een telefoontje naar de helpdesk ("oké, het staat nu uit, probeer nog eens?"), maar vereis dat een medewerker fysiek langskomt. Per organisatie zal natuurlijk verschillen wat haalbaar is.