WebAuthn
Wat is WebAuthn?
Web Authentication (afgekort: WebAuthn) is een manier om in te loggen zonder wachtwoord of 2FA.
WebAuthn is een techniek die gebaseerd is op het Fido-protocol↗.
Dit is een wereldwijde standaard om veilig in te kunnen loggen.
Het enige wat je nodig hebt, is een e-mailadres en een apparaat (smartphone, laptop, tablet, PC, Security key) of wachtwoordbeheerder waarop je een vergrendeling hebt ingesteld (bijvoorbeeld een pincode, vingerafdruk of gezichtsherkenning).
Sleuteldrager
Dit apparaat of deze wachtwoordbeheerder noem ik hierna voor het gemak de 'sleuteldrager'.
Passkeys
De sleuteldrager slaat de codes op. Deze codes noemen ze meestal Passkeys (toegangssleutels).
De eerste keer (registeren)
Als je op een website aangeeft dat je met een Passkey wil werken,
maken de website en jouw 'sleuteldrager' samen een setje codes aan dat zowel de website als jouw sleuteldrager later kan identificeren: de Passkey.
De volgende keren (aanmelden of inloggen)
Later tijdens het inloggen wisselen de website en jouw sleuteldrager die codes uit, waardoor zowel de website als jouw sleuteldrager zeker weten dat jullie zijn wie jullie zeggen te zijn.
Een (vrij technische) uitleg vindt je in het Engels op de site webauthn.guide↗ en verderop op deze pagina.
Waarom gebruik je WebAuth?
De Webauthn-techniek koppelt door middel van de Passkey één website aan één sleuteldrager.
Je hebt zelf geen invloed op de sleutels: de computers maken ze en slaan ze veilig op.
Zelfs als de sleutels in verkeerde handen zouden vallen, zijn ze veilig: zonder jouw pincode, vingerafdruk of gezicht kan niemand er iets mee beginnen.
Fishing (als een website doet alsof hij een andere is) werkt niet omdat de 'vissende' website de code niet heeft die bij de echte website hoort.
Hij valt dus door de mand zodra jouw sleuteldrager de website code opvraagt.
Hoe gebruik je WebAuth?
Als een website WebAuthn ondersteunt, zal hij je waarschijnlijk vragen om dat te gebruiken.
Waarschijnlijk spoort hij je aan om een toegangssleutel of passkey aan te maken.
Als je daarop ingaat, is het instellen een fluitje van een cent.
Probeer het maar, het is superveilig.
Je kunt meerdere sleuteldragers hebben
Je bent niet aan één sleuteldrager gebonden.
Je kunt én je smartphone én je laptop én jouw wachtwoordbeheerder gebruiken, afhankelijk wat voor jou voor een bepaalde website handig is.
Wat meer in de techniek
Het gaat dus om
De eerste keer: WebAuthn aanzetten
Bij het registreren op een website geef je jouw e-mailadres.
De website waar je registreert,
vraagt jou om een openbare sleutel (daaraan kan de website jou later herkennen).
Je bepaalt zelf waar je die sleutel aanmaakt (wie de sleuteldrager wordt): op de computer, tablet, smartphone of in jouw wachtwoordbeheerder (als die daar geschikt voor is).
Jouw sleuteldrager maakt nu speciaal voor deze website:
een privé-sleutel (Private Key), die hij versleutelt en goed bewaart (en die de sleuteldrager nooit verlaat), en
een bijpassende openbare sleutel (Public Key), die hij aan de website geeft om jou te kunnen herkennen.
Daarna stuurt de sleuterdrager de website een bericht met daarin:
gegevens waaraan de website de sleuteldrager kan herkennen en de manier waarop de website er later mee kan communiceren.
de zojuist aangemaakte openbare sleutel voor die site.
De website/app heeft nu dus:
jouw e-mailadres;
jouw openbare sleutel;
en gegevens over jouw sleuteldrager.
Noot: Google noemt de openbare en privé sleutels samen: Passkey.
Daarna: inloggen met WebAuthn
Bij het inloggen geef je jouw e-mailadres.
De website herkent dat en ziet dat hij al een openbare sleutel van jou heeft.
De site heeft ook de gegevens waaraan hij jouw sleuteldrager kan herkennen.De site stuurt jouw sleuteldrager een bericht dat hij met de privé-sleutel voor die site moet ondertekenen.
De sleuteldrager controleert of de combinatie domeinnaam en openbare sleutel van de site klopt.
Zo ja:
De sleuteldrager geeft een schermmelding waarin hij je vraagt of jij inderdaad op die site wilt inloggen.
Als je dat hebt bevestigd, moet je de sleuteldrager ontgrendelen om te bewijzen dat jij toegang hebt.
Als dat is gebeurd, maakt de sleuteldrager een antwoord dat hij ondertekent met de privé-sleutel en stuurt dat terug.
De website weet nu dat jij het echt bent. De website ziet jouw privé-sleutel niet, maar kan aan de hand van jouw openbare sleutel wel controleren dat jij het juiste antwoord op de vraag hebt gestuurd.
Als alles klopt, ben je ingelogd.
Je hebt dus geen wachtwoord meer nodig, alleen een e-mailadres en een sleuteldrager die je met een pincode, vingerafdrukscanner of camera kan ontgrendelen.
Zelf proberen?
Op de website https://webauthn.io↗ kun je zelf proberen hoe het werkt.
Je moet je eerst registreren. Gebruik hiervoor:
jouw eigen e-mailadres.
de computer waarop je bezig bent of jouw mobiel.
Als je geregistreerd bent, kun je authenticeren (inloggen).
Jouw passkeys opslaan in Bitwarden
Mijn favoriete wachtwoordbeheerder bitwarden.com ondersteunt het opslaan van passkeys in Bitwarden. Ook in de gratis versie.
Dit maakt het werken met passkeys makkelijker, want je hoeft nu niet meer voor elk apparaat waarmee je bij een website wil inloggen, een aparte passkey te maken.
Dit is de uitleg van Bitwarden↗ (Engels).
Noot: Voorlopig ondersteunen alleen de extensies van Bitwarden het werken met passkeys.
De Bitwarden-apps volgen snel (volgens Bitwarden).