Wachtwoorden zijn de zwakste schakel in accountbeveiliging. Ze kunnen worden gephisht, gelekt, hergebruikt of vergeten. Daarom hebben we ondersteuning toegevoegd voor WebAuthn Passkeys - een phishing-resistente, wachtwoordloze authenticatiemethode die zowel veiliger als handiger is.
Wat zijn Passkeys?
Passkeys zijn cryptografische inloggegevens die zijn opgeslagen op uw apparaat (telefoon, laptop, beveiligingssleutel) en die wachtwoorden vervangen voor authenticatie. Ze gebruiken de WebAuthn-standaard (onderdeel van FIDO2) en bieden verschillende voordelen:
- Phishing-resistent - Passkeys zijn gebonden aan het domein van de website, dus ze kunnen niet op valse sites worden gebruikt
- Geen geheimen om te lekken - Alleen de publieke sleutel wordt op de server opgeslagen
- Apparaatgebonden - De privésleutel verlaat nooit uw apparaat
- Biometrisch beschermd - Doorgaans beveiligd door Face ID, Touch ID of Windows Hello
- Cross-device synchronisatie - Moderne platforms synchroniseren Passkeys tussen apparaten via iCloud-, Google- of Microsoft-accounts
Onze implementatie
We hebben WebAuthn Passkeys-ondersteuning geïntegreerd in onze bestaande django-allauth authenticatiestack, met zowel web- als mobiele API-eindpunten.
Registratiestroom
Wanneer een gebruiker een nieuwe Passkey registreert, werkt de stroom als volgt:
- Client vraagt registratieopties aan de server
- Server genereert een uitdaging met gebruikers- en relying party-informatie
- Browser’s WebAuthn API vraagt de gebruiker (biometrie of beveiligingssleutel)
- Client stuurt inloggegevens terug naar de server
- Server verifieert en slaat de publieke sleutel op
| |
Authenticatiestroom
Voor tweefactorauthenticatie met een Passkey:
- Gebruiker voltooit primaire authenticatie (gebruikersnaam/wachtwoord of sociale login)
- Server retourneert uitdaging voor WebAuthn-verificatie
- Browser vraagt om Passkey (biometrische aanraking)
- Inloggegevens worden geverifieerd tegen de opgeslagen publieke sleutel
- Gebruiker is volledig geauthenticeerd
| |
Passkey-beheer
Gebruikers kunnen hun geregistreerde Passkeys beheren:
- Alle Passkeys weergeven met registratiedatum en laatste gebruik
- Passkeys hernoemen voor eenvoudigere identificatie (bijv. “iPhone”, “MacBook”)
- Passkeys verwijderen (met bescherming tegen het verwijderen van de laatste authenticator)
| |
API-eindpunten
Onze REST API biedt volledige WebAuthn-ondersteuning voor de mobiele app:
| Eindpunt | Methode | Beschrijving |
|---|---|---|
/api/webauthn/register/options/ | GET | Registratie-uitdaging ophalen |
/api/webauthn/register/complete/ | POST | Registratie voltooien |
/api/webauthn/authenticate/options/ | GET | Authenticatie-uitdaging ophalen |
/api/webauthn/verify/ | POST | Inloggegevens verifiëren voor 2FA |
/api/webauthn/ | GET | Geregistreerde Passkeys weergeven |
/api/webauthn/<id>/ | PATCH | Een Passkey hernoemen |
/api/webauthn/<id>/ | DELETE | Een Passkey verwijderen |
Beveiligingsoverwegingen
Herstelcodes
Wanneer een gebruiker zijn eerste authenticator registreert (Passkey of TOTP), genereren we automatisch herstelcodes. Deze eenmalige codes kunnen worden gebruikt als alle andere authenticatiemethoden niet beschikbaar zijn:
| |
Uitsluiting voorkomen
Gebruikers kunnen hun laatste Passkey niet verwijderen als dit hen zonder tweefactorauthenticatiemethode zou achterlaten:
| |
Monitoring
We volgen Passkey-gebruik via Datadog-metrics voor beveiligingsmonitoring:
| |
Browserondersteuning
WebAuthn wordt ondersteund in alle moderne browsers:
- Chrome 67+
- Firefox 60+
- Safari 13+
- Edge 79+
- Mobiele Chrome, Safari, Firefox
Voor oudere browsers kunnen gebruikers nog steeds TOTP (authenticator-apps) of herstelcodes gebruiken.
De gebruikerservaring
Een Passkey toevoegen duurt slechts enkele seconden:
- Ga naar Instellingen → Beveiliging → Tweefactorauthenticatie
- Klik op Passkey toevoegen
- Geef uw apparaat een naam (bijv. “iPhone 15”)
- Authenticeer met Face ID / Touch ID / Windows Hello
- Klaar! Uw Passkey is geregistreerd
Toekomstige logins vereisen slechts een biometrische bevestiging - geen wachtwoorden typen of codes kopiëren uit authenticator-apps.
Waarom we voor Passkeys hebben gekozen
| Methode | Phishing-risico | Gebruikerservaring | Herstel |
|---|---|---|---|
| Wachtwoorden | Hoog | Slecht (vergeten, zwak) | E-mail reset |
| SMS 2FA | Gemiddeld (SIM-swap) | Oké | Telefoonnummer |
| TOTP-apps | Laag | Handmatige code-invoer | Back-upsleutels |
| Passkeys | Zeer laag | Uitstekend | Herstelcodes |
Passkeys vertegenwoordigen de toekomst van authenticatie. Ze worden al ondersteund door Apple-, Google- en Microsoft-platforms, waardoor ze toegankelijk zijn voor bijna al onze gebruikers.
Klaar om wachtwoordloos te gaan? Activeer Passkeys in uw beveiligingsinstellingen!