Protocoles PAKE et leurs propriétés
Passez en revue la famille des protocoles d’échange de clés authentifié par mot de passe, notamment OPAQUE et SPAKE2.
Protocoles PAKE et leurs propriétés est une leçon Cryptology Academy gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Cryptology Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Cryptology Academy comprend 4 leçons au total.
Introduction à la famille PAKE
L’échange de clés authentifié par mot de passe (PAKE) est une famille de protocoles qui permettent à deux parties ne partageant qu’un mot de passe à faible entropie d’établir une clé de session à forte entropie avec une authentification mutuelle. Contrairement à l’authentification traditionnelle par mot de passe, PAKE fournit une confidentialité persistante et une résistance aux attaques par dictionnaire hors ligne, sans transmettre le mot de passe.
PAKE équilibré et PAKE augmenté
Le PAKE équilibré (B-PAKE) traite les deux parties de manière symétrique : le client et le serveur détiennent tous deux le même secret (le mot de passe ou une transformation symétrique de celui-ci). Le PAKE augmenté (A-PAKE) est asymétrique : le serveur ne détient qu’un vérificateur public dérivé du mot de passe, ce qui rend une compromission du serveur non catastrophique pour la sécurité du client.
Protocole SPEKE
Le protocole d’échange exponentiel simple de clés par mot de passe (SPEKE) est un PAKE équilibré dans lequel les deux parties utilisent le mot de passe pour définir un générateur de groupe g = H(password). L’échange qui suit est un échange de clés Diffie-Hellman utilisant ce générateur dérivé du mot de passe, ce qui garantit que seules les parties connaissant le mot de passe peuvent le mener à bien.
Protocole J-PAKE
L’échange de clés authentifié par mot de passe par jonglage (J-PAKE), RFC 8236, utilise des preuves à divulgation nulle de connaissance pour permettre à deux parties d’établir une clé de session à partir d’un mot de passe partagé. J-PAKE est utilisé dans Thread (protocole de réseau pour objets connectés) et a été implémenté dans OpenSSL. Il est libre de brevets et fournit les propriétés d’un PAKE équilibré.
OPAQUE : PAKE asymétrique
OPAQUE (un projet de l’IETF, draft-irtf-cfrg-opaque) est un PAKE augmenté doté de solides propriétés de sécurité. Lors de l’inscription, le client utilise une PRF aveugle (OPRF) pour dériver une clé à partir du mot de passe sans que le serveur connaisse celui-ci. Le serveur stocke une enveloppe chiffrée contenant la clé privée du client.
Phase de connexion OPAQUE
Lors de la connexion OPAQUE, le client et le serveur exécutent un protocole OPRF pour reconstruire la clé du client sans que le serveur connaisse le mot de passe. Le client utilise ensuite cette clé pour déchiffrer l’enveloppe et récupérer les identifiants nécessaires à l’établissement d’un échange de clés. Le serveur n’observe jamais le mot de passe, quelle que soit la phase.
Résistance d’OPAQUE au précalcul
OPAQUE fournit une résistance au précalcul : même si un attaquant compromet le serveur et obtient toutes les données stockées, il ne peut pas effectuer d’attaque par dictionnaire hors ligne sur les valeurs stockées sans simuler une nouvelle interaction OPRF pour chaque hypothèse. Il s’agit d’une garantie plus forte que celle offerte par SRP.
SPAKE2 et SPAKE2+
SPAKE2 (RFC 9382) est un PAKE équilibré simple fondé sur Diffie-Hellman, avec des clés publiques masquées par un mot de passe. SPAKE2+ est la variante augmentée dans laquelle le serveur stocke des valeurs distinctes pour les rôles client et serveur. Apple utilise SPAKE2+ dans HomeKit pour associer des appareils, et ce protocole est utilisé dans plusieurs protocoles de mise en service d’appareils connectés.
PAKE CPace
CPace (composant de la RFC 9380) est un PAKE composable conçu par Haase et Labrique, adopté par l’IETF comme PAKE équilibré standard. CPace est conçu pour être composé avec des étapes ultérieures de confirmation de clé et est recommandé pour les nouveaux protocoles nécessitant un PAKE équilibré. Il s’agit du B-PAKE sélectionné par CFRG, aux côtés d’OPAQUE en tant qu’A-PAKE.
Comparaison des propriétés de sécurité des PAKE
Tous les PAKE assurent l’authentification et l’établissement de clés. Les A-PAKE fournissent en plus une résistance à la compromission du serveur. OPAQUE offre une résistance au précalcul allant au-delà de la simple résistance à la compromission du serveur. FIDO2 fournit une liaison à l’origine qui empêche l’hameçonnage. Le choix dépend de la nécessité d’une authentification par mot de passe ou de la possibilité de la remplacer par des identifiants à clé publique.
Considérations relatives au déploiement des PAKE
Les protocoles PAKE sont plus complexes à implémenter correctement que le simple hachage de mots de passe et doivent provenir de bibliothèques auditées. L’IETF CFRG a normalisé CPace (B-PAKE) et OPAQUE (A-PAKE) comme choix recommandés pour les nouveaux protocoles. SRP reste utilisé dans les déploiements existants, mais OPAQUE est préférable pour les nouvelles conceptions.
Vérification des propriétés des PAKE
Quelle propriété des PAKE distingue le PAKE augmenté (A-PAKE) du PAKE équilibré (B-PAKE) ?
Récapitulatif de la leçon : panorama des protocoles PAKE
Les protocoles PAKE permettent une authentification mutuelle fondée sur un mot de passe ainsi que l’établissement d’une clé. Les B-PAKE (CPace, SPAKE2, J-PAKE) sont symétriques. Les A-PAKE (SRP, OPAQUE, SPAKE2+) ne stockent que des vérificateurs côté serveur. OPAQUE fournit les garanties les plus fortes, notamment une résistance au précalcul. L’IETF a normalisé CPace et OPAQUE comme choix modernes recommandés.
Apprends Cryptology Academy avec un tuteur IA — gratuit
Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.
- Cours
- 67
- Leçons
- 261
Questions Fréquemment Posées
La leçon « Protocoles PAKE et leurs propriétés » est-elle gratuite ?
Oui — le texte complet de « Protocoles PAKE et leurs propriétés » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Cryptology Academy, passe à CoddyKit PRO. Le cours Cryptology Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Protocoles PAKE et leurs propriétés » ?
Passez en revue la famille des protocoles d’échange de clés authentifié par mot de passe, notamment OPAQUE et SPAKE2. Tu pratiques Cryptology Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Cryptology Academy ?
Aucune expérience préalable n'est requise. Cryptology Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.
Combien de temps prend la leçon « Protocoles PAKE et leurs propriétés » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Cryptology Academy ?
Oui. Chaque leçon Cryptology Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Le problème fondamental de l’authentification par mot de passe
- SRP : protocole de mot de passe sécurisé à distance
- Protocoles PAKE et leurs propriétés
- Authentification sans mot de passe : WebAuthn et FIDO2