OPAQUE expliqué simplement : le mot de passe ne quitte jamais l'appareil
La plupart des services stockent votre mot de passe sous forme « hachée ». Si leur base de données fuite, un attaquant peut tester des milliards de mots de passe hors ligne. Nous avons choisi une approche différente, où le serveur ne détient rien qui permette de deviner votre mot de passe.
Le problème des mots de passe classiques
Quand vous vous inscrivez quelque part, le mot de passe est normalement envoyé au serveur, qui le transforme avec une fonction de hachage avant de le ranger. L'idée est bonne, mais elle a une limite : un hash reste une empreinte du mot de passe. Si la base fuite, on peut essayer des millions de candidats hors ligne jusqu'à retrouver celui qui produit la même empreinte. Plus le mot de passe est faible, plus c'est rapide.
Ce que fait OPAQUE
OPAQUE est un protocole d'authentification conçu pour supprimer ce risque : c'est un « aPAKE » (une famille de protocoles où le mot de passe ne transite jamais en clair, même vers le serveur). Au lieu d'envoyer votre mot de passe, votre appareil et le serveur échangent des messages cryptographiques. À aucun moment le serveur ne voit le mot de passe, et il ne conserve pas non plus d'empreinte à partir de laquelle on pourrait le retrouver hors ligne.
Ce qui se passe concrètement
-
À l'inscription
Votre appareil aveugle votre mot de passe avant tout envoi. Le serveur ne reçoit qu'un message qu'il ne peut pas relier au mot de passe. À la fin, votre appareil calcule une clé secrète qui ne part jamais.
-
Ce que le serveur enregistre
Une enveloppe chiffrée et des clés publiques — pas votre mot de passe, et rien qui permette de le tester hors ligne.
-
À la connexion
Le même échange recommence. Votre appareil prouve qu'il connaît le mot de passe sans jamais l'envoyer. Le serveur valide sans le voir.
Pourquoi c'est plus solide
- Protection contre une fuite de la base : si un attaquant obtient la base seule (l'enveloppe et les clés publiques), il n'a aucune empreinte du mot de passe à casser hors ligne. La clé longue-terme du serveur, elle, est gardée hors de la base, dans notre coffre de secrets : c'est le point critique, et sa compromission combinée à la base rouvrirait une attaque hors ligne — nous traitons ce risque en priorité.
- Le secret ne circule pas : réseau, journaux et serveur ne voient jamais le mot de passe en clair.
- Mitigation de l'énumération de comptes : à la connexion, un compte inconnu est répondu comme un mauvais mot de passe, pour ne pas révéler qui possède un compte.
Nos choix techniques
Nous utilisons l'implémentation opaque-ke (écosystème RustCrypto) avec la courbe Ristretto255, l'échange de clés TripleDH et la fonction de dérivation Argon2id. La clé maîtresse du compte est dérivée localement à partir du secret OPAQUE et chiffrée sur votre appareil : le serveur ne détient ni cette clé, ni le mot de passe.
Ce que ça ne protège pas
OPAQUE protège le mot de passe et l'authentification. Il ne protège pas un appareil déjà infecté (un logiciel espion peut lire ce que vous tapez), et il n'a jamais été conçu pour cela. La confidentialité de vos contenus repose sur le chiffrement de bout en bout, qui est un autre mécanisme — nous y consacrons le prochain billet.
Un doute, une question ? Écrivez-nous depuis votre espace ou consultez notre page Sécurité. Pour le détail du mécanisme, voir la RFC 9807.