Vaarwel wachtwoorden: Wat zijn sneltoetsen?
De FIDO Alliance heeft samen met Google de zogenaamde "Passkey" technologie ontwikkeld. Het doel is om wachtwoorden af te schaffen en logins handiger maar toch veiliger te maken. Maar hoe werkt het precies?
Het thema "passkeys" ligt momenteel op ieders lippen. Deze technologie is ontwikkeld door de FIDO Alliance, waartoe veel grote spelers in de techbranche behoren. Dit zijn onder andere Google, Microsoft, Apple en Amazon. FIDO is een afkorting en staat voor "Fast Identity Online" - met andere woorden, snelle online identificatie. Het idee achter Passkeys is dat je toegang hebt tot al je online accounts zonder dat je elke keer hoeft in te loggen met je gebruikersnaam en wachtwoord. Om nog maar te zwijgen over het gedoe van twee-factor authenticatie (2FA).
In plaats daarvan kun je jezelf authenticeren op je mobiel of laptop - zelfs met gezichtsherkenning of een vingerafdruk. Je wordt dan automatisch ingelogd. In theorie heb je geen wachtwoorden meer nodig. Het is sneller en handiger dan het gebruik van een wachtwoord en 2FA. Plus: het is veiliger. Hoe werkt dat?
Wat zijn passkeys en hoe werken ze?
De naam zegt eigenlijk al wat passkeys zijn. Het zijn sleutels om ergens binnen te komen of te passeren (pass = langskomen, passeren, sleutels = sleutel). Om precies te zijn: een sleutelpaar. De ene helft bestaat uit een publieke sleutel, die wordt opgeslagen op de webserver van de website of dienst. De andere helft bestaat uit de private, asymmetrische cryptosleutel. Simpel gezegd kun je het voorstellen als een zeer lange, volledig willekeurig gegenereerde reeks tekens. Deze privésleutel wordt vervolgens opgeslagen op een apparaat naar keuze. Bijvoorbeeld op je smartphone of laptop. Niemand zal er ooit achter komen waaruit hij precies bestaat. Zelfs niet als je er ergens mee inlogt.
Want in tegenstelling tot het opvragen van een wachtwoord, ben jij niet degene die je wachtwoord stuurt naar de plek waar je wilt inloggen. Het werkt andersom: de online dienst - bijvoorbeeld je Google-account - stuurt een verzoek naar het apparaat waarop je privésleutel is opgeslagen. De zogenaamde "uitdaging". De authenticator op je apparaat moet deze oplossen.
Als de authenticator dit heeft gedaan, stuurt hij de opgeloste uitdaging terug naar de online service. De service gebruikt dan de publieke sleutel om te beslissen: "De uitdaging is correct opgelost, dus de ontvanger had de juiste sleutel. Hij mag door". Hiermee heb je effectief bewezen dat je bent wie je zegt dat je bent en dat je de sleutel hebt, maar zonder de exacte samenstelling van je privésleutel te onthullen.
Je kunt precies definiëren wat de authenticator op je apparaat is. Bijvoorbeeld een hoofdwachtwoord. EEN PINCODE. Een patroon op het touchpad van je smartphone. Of gewoon je vingerafdruk of gezichtsherkenning. Afhankelijk van wat het apparaat waarop de sleutel is opgeslagen ondersteunt.
De basis voor passkeys: FIDO2
Passkeys zijn een uitbreiding van FIDO2. Je hebt er misschien al van gehoord. FIDO2 is ook ontwikkeld door de FIDO Alliance en het World Wide Web Consortium (W3C). Het bestaat uit twee "ingrediënten":
- het "Client to Authenticator Protocol" (CTAP2).
- de "WebAuthentication standaard API" (WebAuthn).
Gesimplificeerd zorgt CTAP2 ervoor dat de hardware-authenticator - bijvoorbeeld een Yubikey-achtig veiligheidstoken - en de browser veilig met elkaar kunnen communiceren. CTAP2 ondersteunt USB, Bluetooth en NFC. Dit beperkt de privésleutel tot één apparaat. Daar kom ik zo op terug.
WebAuthn is ondertussen een interface die verantwoordelijk is voor de communicatie tussen een authenticator en de online dienst waarop je wilt inloggen. Als een online dienst Webauthn ondersteunt, kun je inloggen met behulp van het sleutelprincipe dat hierboven is uitgelegd.
Oorspronkelijk wilde de FIDO Alliance met FIDO2 het klassieke wachtwoord met pensioen sturen. Ze hadden echter het probleem dat de privésleutel voor FIDO2 gebonden was aan een specifiek apparaat. Dit principe was echter niet erg handig voor gebruikers: als je meerdere apparaten hebt die je wilt gebruiken als authenticator - bijvoorbeeld een privé- en een zakelijke smartphone - moet je elk apparaat afzonderlijk koppelen aan elke afzonderlijke dienst. Elk apparaat krijgt zijn eigen privésleutel. Als je maar één apparaat hebt gekoppeld dat je niet bij je hebt, is er geen manier om in te loggen. Het klassieke wachtwoordsysteem was handiger. Daarom heeft de FIDO Alliance de standaard ontwikkeld tot Passkeys. In principe is er niets veranderd. Het enige verschil is dat met Passkeys de privésleutel tussen meerdere apparaten gesynchroniseerd kan worden.
Een voorbeeld uit de praktijk: Apple
Apple heeft bijvoorbeeld passkeys geïmplementeerd in zijn sleutelhanger (sinds macOS Ventura en iOS/iPadOS 16). Als je passkey login hebt geactiveerd voor een dienst, zoals je Google account, kun je inloggen op je Mac, iPhone of iPad - mits je dezelfde Apple ID gebruikt voor alle Apple apparaten. Dus zodra je je Mac opstart met het wachtwoord, is de privésleutel actief.
Op de iPhone kan de authenticator ook gezichtsherkenning zijn - als je hier eenmaal doorheen bent bij het ontgrendelen van je iPhone, kun je zonder wachtwoord inloggen bij Google in de browser van je smartphone. Smartphones - of het nu Android (vanaf Android 9) of iOS is - bieden ook een extra functie.
Je kunt het gebruiken als authenticatiemiddel om in te loggen op het apparaat van iemand anders. Als je bijvoorbeeld bij een vriend thuis bent en wilt inloggen op je Google-account op zijn pc, kun je de authenticator op je telefoon gebruiken (omdat de privésleutel daar is opgeslagen).
De fabrikanten leggen stap voor stap uit hoe je passleutels voor services of apparaten activeert. Ik link je naar de instructies van Apple, Google en Microsoft. Je kunt echter ook de instructies voor andere aanbieders vinden met een snelle Google-zoekopdracht.
Wat zijn de verschillen met wachtwoorden?
Passleutels en wachtwoorden hebben een compleet andere aanpak. Terwijl wachtwoorden werken zoals hierboven beschreven, worden wachtwoorden opgeslagen in de databases van de betreffende services, zij het in versleutelde vorm. Als je het wachtwoord samen met de gebruikersnaam invoert, vergelijkt de online service deze gegevens. Als ze identiek zijn, krijg je toegang.
De zwakke punten van dit systeem liggen voor de hand. Het is niet nodig om te bewijzen dat "jij" ook echt jij bent. Iedereen die je wachtwoord en gebruikersnaam kent, kan toegang krijgen tot je account. Dit kan heel snel gebeuren - je wachtwoorden kunnen in verkeerde handen vallen via phishing, oplichtingspogingen of zelfs een hack van de online dienst. Cybercriminelen laten geen middel onbeproefd. Valse e-mails in slecht Duits zijn verleden tijd - phishingmails worden steeds beter en leiden je zelfs door naar exact nagemaakte websites van overheidsinstellingen of Zwitserse bedrijven. Volgens Microsoft zijn er wereldwijd 579 wachtwoordaanvallen per seconde - dat zijn er 18 miljard per jaar.
Het is ook niet zo zeldzaam als je zou denken dat je gegevens online terechtkomen zonder dat je iets doet. Vorig jaar publiceerde Trend Micro een onderzoek naar cyberaanvallen op bedrijven. Volgens dit onderzoek was 88 procent van alle onderzochte bedrijven slachtoffer geworden van cyberaanvallen waarbij klantgegevens verloren gingen of werden gestolen.
Omdat je privésleutel nooit wordt verzonden met Passkeys, kan deze niet worden onderschept of gestolen van de online service.
Wachtwoorden zijn ook veel ingewikkelder om te beheren: je moet verschillende wachtwoorden gebruiken voor alle diensten, anders kunnen cybercriminelen meerdere van je accounts tegelijk hacken als ze maar één wachtwoord hebben gestolen. Wachtwoorden moeten niet te eenvoudig zijn - met wachtwoorden als "Test1234" is een brute force aanval genoeg om het te kraken. Je hebt een wachtwoordmanager nodig om al deze wachtwoorden uit je hoofd te leren.
Of je kunt de twee-factor authenticatie activeren. Je kunt een authenticatie-app of een sms-code gebruiken om te bevestigen dat je echt jezelf bent. Dit is vrij omslachtig en soms gevoelig voor fouten. Als je bijvoorbeeld de 2FA-code verkeerd invoert, moet je de procedure herhalen. Passkeys lossen daarom niet alleen het probleem van een gebrek aan beveiliging op. Ze vereenvoudigen en versnellen ook het inlogproces voor online diensten.
Welke diensten ondersteunen passkeys?
De bekendste bedrijven die passkey-technologie ondersteunen zijn Google, Microsoft en Apple. Maar er zijn er nog veel meer. Ik voeg er waarschijnlijk nog een paar toe terwijl ik dit artikel schrijf. Er is de Passkeys Directory op het web, die ik kan aanbevelen. Dit is een openbaar register waar je diensten kunt vinden die al passkeys ondersteunen. Je kunt daar ook stemmen op je favoriete dienst als die nog geen passkeys ondersteunt. Dan weten ze: Hé, er zijn mensen die willen dat we Passkeys integreren. Wie weet? Misschien digitec en Galaxus ook.
Afbeelding omslag: ShutterstockSinds ik ontdekt heb hoe ik beide telefoonkanalen op de ISDN kaart kan activeren voor meer bandbreedte, ben ik aan het knutselen met digitale netwerken. Ik knutsel al met analoge netwerken sinds ik kan praten. Winterthur door keuze met een rood-blauw hart. En koffie - voor, na, tussendoor en tijdens.