Qu'est-ce que Échange de clés Diffie-Hellman ?

Méthode par laquelle deux parties créent un secret partagé en n'utilisant qu'un canal public, publiée par Diffie et Hellman en 1976. Un nombre premier p et un générateur g sont publics ; A et B choisissent des valeurs secrètes a et b, s'envoient g^a mod p et g^b mod p, et chacun élève la valeur de l'autre à la puissance de son propre secret, si bien que tous deux obtiennent le même g^(ab) mod p. Sa sécurité repose sur la difficulté du problème du logarithme discret. La version sur courbe elliptique s'appelle ECDH, et les versions qui utilisent des valeurs jetables pour chaque connexion s'appellent DHE et ECDHE ; ces dernières assurent la confidentialité persistante. La méthode n'authentifie pas l'autre partie ; on la combine donc avec des signatures et des certificats pour empêcher les attaques de l'homme du milieu.

Nom japonais: ディフィー・ヘルマン鍵交換

« Échange de clés Diffie-Hellman » apparaît dans 9 questions d'entraînement réparties sur 2 thèmes, dont Bases et applications de la cryptographie, Bases des réseaux informatiques.

Domaine: Bases et applications de la cryptographie

S'entraîner : questions sur Échange de clés Diffie-Hellman

Dans des protocoles comme TLS 1.3, le secret partagé obtenu par un échange de clés ECDHE n'est pas utilisé directement comme clé de chiffrement : les clés sont produites en le faisant passer par une fonction de dérivation de clé (KDF) comme HKDF. Quelle en est une raison appropriée ?

  1. ALe passage par une fonction de dérivation de clé rend le secret partagé sûr même face aux ordinateurs quantiques
  2. BLa valeur issue de l'échange de clés est trop courte, si bien que l'on ralentit délibérément le calcul pour freiner la force brute
  3. CLa valeur issue de l'échange de clés n'est pas forcément uniformément aléatoire : on la transforme en une clé sans biais et l'on dérive une clé distincte pour chaque usage
Afficher la réponse et l'explication

Réponse : C. La valeur issue de l'échange de clés n'est pas forcément uniformément aléatoire : on la transforme en une clé sans biais et l'on dérive une clé distincte pour chaque usage

Le secret partagé obtenu par un échange de clés est par exemple la coordonnée d'un point d'une courbe elliptique, et tous ses bits ne sont pas forcément uniformément aléatoires. HKDF utilise HMAC pour d'abord extraire du secret partagé une clé pseudo-aléatoire sans biais (Extract), puis l'étendre avec des étiquettes comme « chiffrement du client vers le serveur » (Expand) afin de produire autant de clés de la longueur voulue que nécessaire. Utiliser des clés indépendantes pour chaque usage évite qu'un problème touchant une clé ne s'étende aux autres usages. PBKDF2 et Argon2, qui dérivent des clés de mots de passe, sont volontairement lents, alors que HKDF est une opération légère qui suppose une entrée d'entropie suffisamment élevée.

Dans l'échange de clés Diffie-Hellman, un nombre premier p et un générateur g sont publics ; A et B choisissent des valeurs secrètes a et b et s'envoient g^a mod p et g^b mod p. Pourquoi estime-t-on qu'un attaquant qui écoute la communication ne peut pas trouver le secret partagé g^(ab) mod p, même après avoir vu toutes ces valeurs publiques ?

  1. ALe problème consistant à trouver a à partir de g^a mod p (problème du logarithme discret) est réputé impossible à résoudre efficacement lorsque p est grand
  2. Bg^a mod p et g^b mod p sont en plus chiffrés avec la clé publique de l'autre partie avant l'envoi, si bien que l'attaquant qui écoute ne peut pas les lire
  3. CLe secret partagé est fabriqué à partir d'une phrase secrète convenue par les deux parties lors d'une rencontre préalable
Afficher la réponse et l'explication

Réponse : A. Le problème consistant à trouver a à partir de g^a mod p (problème du logarithme discret) est réputé impossible à résoudre efficacement lorsque p est grand

Calculer g^a mod p est rapide, mais retrouver a à partir du résultat est réputé impossible en un temps réaliste lorsque p est suffisamment grand (problème du logarithme discret). Même s'il voit g^a mod p et g^b mod p, l'attaquant qui écoute ne peut pas former g^(ab) mod p sans connaître a ou b. A, en revanche, élève simplement la valeur de B à la puissance a, et B celle de A à la puissance b, et tous deux obtiennent le même g^(ab) mod p. Faire la même chose sur une courbe elliptique s'appelle ECDH, qui repose sur la difficulté du problème du logarithme discret sur courbe elliptique.

« Échange de clés Diffie-Hellman » dans les explications

Questions mentionnant « Échange de clés Diffie-Hellman » (9)

  1. Dans des protocoles comme TLS 1.3, le secret partagé obtenu par un échange de clés ECDHE n'est pas utilisé directement comme clé de chiffrement : les clés sont produites en le faisant passer par une fonction de dérivation de clé (KDF) comme HKDF. Quelle en est une raison appropriée ?
  2. Dans l'échange de clés Diffie-Hellman, un nombre premier p et un générateur g sont publics ; A et B choisissent des valeurs secrètes a et b et s'envoient g^a mod p et g^b mod p. Pourquoi estime-t-on qu'un attaquant qui écoute la communication ne peut pas trouver le secret partagé g^(ab) mod p, même après avoir vu toutes ces valeurs publiques ?
  3. On vérifie l'échange de clés Diffie-Hellman avec de petits nombres. Soit p = 23 et g = 5 ; A choisit la valeur secrète a = 6 et B la valeur secrète b = 15. A envoie A = g^a mod p et B envoie B = g^b mod p. Quel secret partagé les deux obtiennent-ils ?
  4. Quelle association entre une faiblesse de l'échange de clés Diffie-Hellman sans authentification et sa contre-mesure est correcte ?
  5. Quelle affirmation décrit correctement l'idée de l'échange de clés hybride, utilisé pendant la migration vers la cryptographie post-quantique, qui combine X25519 (échange de clés Diffie-Hellman sur une courbe elliptique) et ML-KEM ?
  6. Avec TLS, pourquoi un navigateur peut-il conclure que le serveur auquel il se connecte n'est pas un imposteur ?
  7. Avec TLS, quelle méthode d'échange de clés procure la propriété selon laquelle les communications enregistrées auparavant ne peuvent pas être déchiffrées même si la clé privée du certificat du serveur fuit plus tard (confidentialité persistante) ?
  8. Quelle affirmation décrit correctement un changement de TLS 1.3 (RFC 8446) par rapport à TLS 1.2 ?
  9. Quelle combinaison indique correctement ce que spécifie la suite cryptographique TLS_AES_128_GCM_SHA256 de TLS 1.3 ?

Termes associés

TLS (Transport Layer Security) Cryptosystème RSA HMAC Confidentialité persistante (forward secrecy) Chiffrement authentifié (AEAD) Entropie de l'information Cryptographie post-quantique (PQC) ML-KEM Autorité de certification Mode d'opération de chiffrement par blocs

Retour au glossaire