FIDO2: naar een internet zonder wachtwoorden

Wanneer je inlogt op een website moet je jezelf bekendmaken via een gebruikersnaam en wachtwoord. Als dat een uniek en complex wachtwoord is, dan is het risico dat hackers je wachtwoord kunnen raden heel klein. Maar eens je het hebt ingevoerd, heb je geen controle meer over wat de website ermee doet en of je logingegevens veilig worden opgeslagen.
Helaas zijn er al talloze voorbeelden van websitehacks, waarbij miljoenen gebruikersnamen en wachtwoorden zijn vrijgekomen. Daarnaast gebruiken hackers methodes als phishing om je te doen inloggen op een nagemaakte webpagina om je inloggegevens te stelen.
Dankzij wachtwoordloze logins moeten die problemen verleden tijd worden. FIDO2, ontwikkeld door de FIDO2 Alliance, is de standaard die authenticatie zonder wachtwoord mogelijk maakt.
Bij asymmetrische encryptie zijn er twee stukjes informatie: een private sleutel en een publieke sleutel. De private sleutel bewaar je ergens lokaal – dus niet toegankelijk via het internet – bv. op je computer. Die sleutel kan je gebruiken om een authenticatie-aanvraag (bv. van een website) te tekenen. De publieke sleutel, die online op die website wordt bewaard, zal op zijn beurt het resultaat van die aanvraag controleren en gebruiken om jouw identiteit te bevestigen.
Een concreet voorbeeld
Een voorbeeld maakt het een en ander duidelijk. Inloggen via FIDO2 werkt alleen indien jij en de website waarbij je wilt aanmelden over een unieke combinatie van een private en publieke sleutel beschikken. Stel dus dat je via FIDO2 wilt aanmelden bij de website van PayPal, dan zal jouw toestel eerst dat unieke paar aanmaken. De private sleutel wordt lokaal op jouw toestel bewaard, de publieke sleutel wordt verstuurd naar en bewaard op de servers van PayPal.In een FIDO2-aanmeldproces functioneert jouw eigen (lokale) toestel als zogenaamde authenticator: het is enkel jouw toestel dat kan aantonen dat het over de private sleutel beschikt die uiteindelijk nodig is om je op de website met de gekoppelde publieke sleutel (in dit geval PayPal) aan te melden.
Als je via je computer wilt inloggen op de website van PayPal, dan gebeurt het volgende: PayPal stuurt een authenticatie-aanvraag – zie dit als een zeer groot willekeurig getal – naar jouw browser met het verzoek om de aanvraag te tekenen via jouw private sleutel. Je browser stuurt die vraag door naar je computer (de authenticator), die vervolgens aan jou toestemming vraagt om de aanvraag te mogen tekenen. Via bv. een scan van je gezicht of een swipe-beweging op je smartphone ontgrendel je de private sleutel en via een complex controleproces zorgen je computer en de PayPal-website ervoor dat je uiteindelijk ingelogd wordt op de website.
FIDO2-authenticatie is een behoorlijk complex proces achter de schermen, maar daar merk je als gebruiker niets van omdat je niets hoeft in te typen of te onthouden en je je identiteit kan bewijzen zonder iets van “geheime” informatie prijs te geven. Je vingerafdruk of andere (biometrische) authenticatiemethode wordt immers lokaal bewaard.
Alle grote browsers (Mozilla, Chrome, Edge, Safari) kunnen ondertussen al overweg met de standaard. En sinds de mei 2019-update van Windows 10 is Windows Hello, waarmee je via gezichtsherkenning of vingerafdrukscan kunt inloggen op je toestel, ook officieel gecertificeerd voor FIDO2. Binnenkort zal je ook FIDO certificatielogo’s terugvinden op nieuwe Windows 10-pc’s.
Nu is het vooral nog aan de individuele websites om de standaard te ondersteunen. Pas dan kan een internet zonder wachtwoorden in de praktijk ook succesvol zijn.