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.

Votre appareil Serveur Mot de passe + Argon2id (local) Masque aléatoire (aveuglement OPRF) Clé secrète (reste ici) Évaluation OPRF sur le message masqué Stockage : enveloppe + clés publiques Aucun mot de passe stocké message masqué évaluation
Le mot de passe et la clé secrète restent à gauche. Seuls des messages cryptographiques circulent ; à droite, il ne reste qu'une enveloppe chiffrée et des clés publiques.

Ce qui se passe concrètement

  1. À 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.

  2. 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.

  3. À 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

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.