Échange et établissement de clés
Les protocoles d'établissement de clés permettent aux parties de s'accorder sur une nouvelle clé secrète partagée, en la liant à des identités authentifiées afin que les communications ultérieures puissent être protégées par une cryptographie symétrique rapide.
Definition
L'établissement de clé est un protocole par lequel deux parties ou plus parviennent à partager une clé secrète ; dans l'accord de clé, les deux parties contribuent à la clé, tandis que dans le transport de clé, une partie génère et l'envoie de manière sécurisée.
Scope
Ce sujet couvre les protocoles d'échange de clés authentifié (AKE) : l'accord de clé versus le transport de clé, les menaces auxquelles ils doivent résister (attaque de l'homme du milieu, rejeu, usurpation d'identité par compromission de clé), les propriétés de sécurité telles que le secret de session parfait (forward secrecy) et le contrôle contributif de clé, ainsi que les modèles formels (Bellare-Rogaway, Canetti-Krawczyk) utilisés pour les analyser. Il aborde la manière dont l'authentification est ajoutée au protocole Diffie-Hellman brut. Il exclut les aspects mathématiques des problèmes sous-jacents et les protocoles de canal déployés, qui sont traités séparément.
Core questions
- Quelles propriétés de sécurité un protocole d'échange de clés authentifié doit-il garantir ?
- Comment l'authentification est-elle superposée à un protocole d'accord de clé brut comme Diffie-Hellman ?
- Qu'est-ce que le secret de session parfait et comment le choix des clés éphémères le fournit-il ?
- Comment les modèles formels capturent-ils un attaquant actif qui contrôle le réseau ?
- À quelles attaques (homme du milieu, rejeu, usurpation d'identité par compromission de clé, partage de clé inconnu) les protocoles doivent-ils résister ?
Key concepts
- accord de clé vs transport de clé
- échange de clés authentifié
- secret de session parfait
- clés éphémères
- attaque de l'homme du milieu
- usurpation d'identité par compromission de clé
- attaque par partage de clé inconnu
- modèles Bellare-Rogaway et Canetti-Krawczyk
- fonction de dérivation de clé
Key theories
- Échange de clés authentifié
- L'accord de clé brut fournit un secret partagé mais pas l'assurance de l'identité du partenaire ; les protocoles AKE ajoutent une authentification (via des signatures, des certificats ou des clés pré-partagées) afin que chaque partie sache qu'elle partage la clé avec le pair prévu et non un imposteur.
- Secret de session parfait et fraîcheur de la clé de session
- L'utilisation de matériel de clé éphémère frais par session et sa combinaison avec des clés d'authentification à long terme produit une clé de session qui reste secrète même si les clés à long terme sont compromises ultérieurement, tout en résistant au rejeu d'anciennes sessions.
Mechanisms
Un AKE typique combine un échange Diffie-Hellman éphémère avec une authentification : les parties échangent des valeurs publiques éphémères et prouvent leur identité en signant des données de transcription ou en utilisant une clé à long terme pré-partagée ou certifiée. Le secret partagé résultant est passé à travers une fonction de dérivation de clé avec un hachage de transcription pour le lier à la session, déjouant ainsi les attaques par rejeu et par partage de clé inconnu (unknown-key-share) et fournissant des clés de session fraîches et authentifiées.
Clinical relevance
L'établissement de clé est l'acte d'ouverture de presque toutes les sessions sécurisées : la poignée de main (handshake) TLS 1.3, les protocoles X3DH et Double Ratchet de Signal, IPsec IKEv2, SSH et WireGuard exécutent tous des échanges de clés authentifiés avant que des données ne circulent. Leur exactitude détermine si un attaquant peut usurper l'identité d'un serveur ou s'interposer silencieusement entre deux parties.
Evidence & guidelines
Les schémas d'établissement de clés sont standardisés dans le NIST SP 800-56A/B et analysés dans des modèles tels que Bellare-Rogaway et Canetti-Krawczyk. Les protocoles modernes (TLS 1.3, cadre Noise) exigent des échanges éphémères à secret de session parfait et ont fait l'objet d'une analyse de sécurité formelle. Les échanges de clés statiques hérités sans secret de session parfait sont déconseillés.
History
L'échange de clés authentifié est né du protocole Diffie-Hellman de 1976 et de la reconnaissance de la nécessité d'une authentification pour résister aux attaquants actifs. Les années 1990-2000 ont produit des modèles de sécurité rigoureux (Bellare-Rogaway 1993, Canetti-Krawczyk 2001) et des protocoles de type station-to-station et MQV. Les leçons ont été consolidées dans la poignée de main TLS 1.3 et le cadre de protocole Noise, tous deux analysés formellement.
Key figures
- Whitfield Diffie
- Martin Hellman
- Mihir Bellare
- Phillip Rogaway
- Ran Canetti
- Hugo Krawczyk
Related topics
Seminal works
- diffie1976
- katz2020
- menezes1996
Frequently asked questions
- Quelle est la différence entre l'accord de clé et le transport de clé ?
- Dans l'accord de clé (comme Diffie-Hellman), les deux parties contribuent à l'aléatoire, de sorte qu'aucune ne détermine seule la clé finale. Dans le transport de clé, une partie génère la clé et l'envoie chiffrée sous la clé publique de l'autre. L'accord de clé prend plus naturellement en charge le secret de session parfait.
- Pourquoi l'établissement d'une clé une seule fois n'est-il pas suffisant pour une longue session ?
- Les clés à longue durée de vie augmentent l'exposition en cas de compromission et peuvent être affaiblies par la cryptanalyse ou l'observation par un attaquant. Les protocoles renouvellent périodiquement les clés ou les « ratchet » (comme dans Signal) afin que la compromission d'une clé de session n'expose pas les messages passés ou futurs.