Les mots de passe sont le maillon faible de la sécurité des comptes. Ils peuvent être hameçonnés, divulgués, réutilisés ou oubliés. C’est pourquoi nous avons ajouté le support des Passkeys WebAuthn - une méthode d’authentification sans mot de passe résistante au phishing, à la fois plus sécurisée et plus pratique.
Que sont les Passkeys ?
Les Passkeys sont des identifiants cryptographiques stockés sur votre appareil (téléphone, ordinateur portable, clé de sécurité) qui remplacent les mots de passe pour l’authentification. Ils utilisent le standard WebAuthn (partie de FIDO2) et offrent plusieurs avantages :
- Résistants au phishing - Les Passkeys sont liés au domaine du site web, ils ne peuvent donc pas être utilisés sur des sites frauduleux
- Aucun secret à divulguer - Seule la clé publique est stockée sur le serveur
- Liés à l’appareil - La clé privée ne quitte jamais votre appareil
- Protégés par biométrie - Généralement sécurisés par Face ID, Touch ID ou Windows Hello
- Synchronisation multi-appareils - Les plateformes modernes synchronisent les Passkeys entre les appareils via les comptes iCloud, Google ou Microsoft
Notre implémentation
Nous avons intégré le support des Passkeys WebAuthn dans notre pile d’authentification django-allauth existante, fournissant des endpoints API pour le web et le mobile.
Flux d’inscription
Lorsqu’un utilisateur enregistre un nouveau Passkey, le flux fonctionne ainsi :
- Le client demande les options d’inscription au serveur
- Le serveur génère un défi avec les informations de l’utilisateur et de la partie de confiance
- L’API WebAuthn du navigateur sollicite l’utilisateur (biométrie ou clé de sécurité)
- Le client envoie les identifiants au serveur
- Le serveur vérifie et stocke la clé publique
| |
Flux d’authentification
Pour l’authentification à deux facteurs avec un Passkey :
- L’utilisateur complète l’authentification primaire (identifiant/mot de passe ou connexion sociale)
- Le serveur retourne un défi pour la vérification WebAuthn
- Le navigateur demande le Passkey (toucher biométrique)
- Les identifiants sont vérifiés par rapport à la clé publique stockée
- L’utilisateur est entièrement authentifié
| |
Gestion des Passkeys
Les utilisateurs peuvent gérer leurs Passkeys enregistrés :
- Lister tous les Passkeys avec la date d’inscription et la dernière utilisation
- Renommer les Passkeys pour une identification plus facile (ex., “iPhone”, “MacBook”)
- Supprimer les Passkeys (avec protection contre la suppression du dernier authentificateur)
| |
Endpoints API
Notre API REST fournit un support complet WebAuthn pour l’application mobile :
| Endpoint | Méthode | Description |
|---|---|---|
/api/webauthn/register/options/ | GET | Obtenir le défi d’inscription |
/api/webauthn/register/complete/ | POST | Compléter l’inscription |
/api/webauthn/authenticate/options/ | GET | Obtenir le défi d’authentification |
/api/webauthn/verify/ | POST | Vérifier les identifiants pour 2FA |
/api/webauthn/ | GET | Lister les Passkeys enregistrés |
/api/webauthn/<id>/ | PATCH | Renommer un Passkey |
/api/webauthn/<id>/ | DELETE | Supprimer un Passkey |
Considérations de sécurité
Codes de récupération
Lorsqu’un utilisateur enregistre son premier authentificateur (Passkey ou TOTP), nous générons automatiquement des codes de récupération. Ces codes à usage unique peuvent être utilisés si toutes les autres méthodes d’authentification deviennent indisponibles :
| |
Prévention du verrouillage
Les utilisateurs ne peuvent pas supprimer leur dernier Passkey si cela les laisserait sans aucune méthode d’authentification à deux facteurs :
| |
Surveillance
Nous suivons l’utilisation des Passkeys via les métriques Datadog pour la surveillance de la sécurité :
| |
Support des navigateurs
WebAuthn est supporté par tous les navigateurs modernes :
- Chrome 67+
- Firefox 60+
- Safari 13+
- Edge 79+
- Chrome mobile, Safari, Firefox
Pour les navigateurs plus anciens, les utilisateurs peuvent toujours utiliser TOTP (applications d’authentification) ou les codes de récupération.
L’expérience utilisateur
Ajouter un Passkey ne prend que quelques secondes :
- Allez dans Paramètres → Sécurité → Authentification à deux facteurs
- Cliquez sur Ajouter un Passkey
- Nommez votre appareil (ex., “iPhone 15”)
- Authentifiez-vous avec Face ID / Touch ID / Windows Hello
- C’est fait ! Votre Passkey est enregistré
Les connexions futures ne nécessitent qu’une confirmation biométrique - plus besoin de taper des mots de passe ou de copier des codes d’applications d’authentification.
Pourquoi nous avons choisi les Passkeys
| Méthode | Risque de phishing | Expérience utilisateur | Récupération |
|---|---|---|---|
| Mots de passe | Élevé | Mauvaise (oubliés, faibles) | Réinitialisation par email |
| SMS 2FA | Moyen (échange de SIM) | Correct | Numéro de téléphone |
| Applications TOTP | Faible | Saisie manuelle de code | Clés de sauvegarde |
| Passkeys | Très faible | Excellente | Codes de récupération |
Les Passkeys représentent l’avenir de l’authentification. Ils sont déjà supportés par les plateformes Apple, Google et Microsoft, les rendant accessibles à presque tous nos utilisateurs.
Prêt à passer au sans mot de passe ? Activez les Passkeys dans vos paramètres de sécurité !