Échange et distribution de clés

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche

Portail > Gestion des clés

Le talon d'Achille de la cryptographie symétrique est le partage de la clé secrète : comment deux parties qui ne se sont jamais rencontrées obtiennent-elles une clé commune sans qu'un espion l'intercepte ? Cette page présente les réponses modernes.

Le problème

Le chiffrement symétrique suppose une clé déjà partagée. La transmettre par un canal non sûr la révèle ; la transmettre hors bande (clé USB, courrier) ne passe pas à l'échelle. Il faut un moyen d'établir un secret commun à travers un canal public.

Échange Diffie-Hellman

L'échange Diffie-Hellman (et sa variante sur courbes elliptiques, ECDH) permet à deux parties de calculer un secret partagé en n'échangeant que des valeurs publiques. Un observateur du canal ne peut pas reconstituer ce secret.

<mermaid> flowchart LR

   A[Alice : privé a, public A] -- A --> B[Bob]
   B[Bob : privé b, public B] -- B --> A
   A ---|calcule a·B| S[Secret partagé]
   B ---|calcule b·A| S

</mermaid>

(Schéma en Mermaid.)

Le secret obtenu est ensuite passé dans une KDF (HKDF) pour produire les clés symétriques de session.

Attention : Diffie-Hellman seul n'authentifie pas les parties → vulnérable à l'« homme du milieu ». Il faut authentifier les échanges (signatures, certificats).

Chiffrement hybride

Autre approche : générer une clé symétrique aléatoire, puis la chiffrer avec la clé publique du destinataire (Cryptographie asymétrique). Le destinataire la déchiffre avec sa clé privée. On combine ainsi la rapidité du symétrique et la commodité de l'asymétrique. La formalisation moderne de ce procédé est le KEM (Key Encapsulation Mechanism), au cœur des schémas post-quantiques.

Confidentialité persistante (forward secrecy)

En utilisant des clés Diffie-Hellman éphémères (DHE/ECDHE), chaque session a un secret indépendant : compromettre une clé long terme plus tard ne permet pas de déchiffrer les sessions passées. C'est la forward secrecy, standard en TLS moderne.

Lien avec TLS

TLS illustre la combinaison : un échange ECDHE authentifié par certificat établit un secret partagé, dérivé en clés symétriques qui chiffrent ensuite le trafic (Chiffrement en transit et cryptographie hybride). L'asymétrique sert à établir et authentifier ; le symétrique fait le gros du travail.

Points clés à retenir

  • Le défi du symétrique est le partage de la clé sur canal non sûr.
  • Diffie-Hellman / ECDH établit un secret commun via des valeurs publiques, mais doit être authentifié.
  • Chiffrement hybride / KEM : transmettre une clé symétrique protégée par l'asymétrique.
  • Clés éphémères ⇒ forward secrecy.

Voir aussi

Cryptographie symétrique — Portail
Fondamentaux Principe · Bloc et flot · Modes opératoires · Padding · IV et nonces
Intégrité / auth. MAC et HMAC · AEAD
Gestion des clés Aléa / CSPRNG · KDF · Échange de clés · Stockage / rotation
Algorithmes AES · ChaCha20/Salsa20 · DES / 3DES · Blowfish et Twofish · RC4 · Camellia, ARIA et SM4 · AES-GCM · ChaCha20-Poly1305 · Hachage
Applications Données au repos · En transit / hybride
Sécurité avancée Attaques · Conformité · Post-quantique