Sécurité et limites
L'attaque de l'homme du milieu
Diffie-Hellman a une faiblesse qui n'est pas mathématique. Elle est bien plus embarrassante, et tu dois absolument la connaître.
Le scénario
Eve ne se contente plus d'écouter : elle intercepte et remplace.
Alice Eve Bob
--- A --->
--- E --->
<--- B ---
<--- E' ---
s1 = (Alice-Eve) s2 = (Eve-Bob)
Alice croit parler à Bob mais négocie avec Eve. Bob croit parler à Alice mais négocie aussi avec Eve. Eve détient deux secrets : s1 avec Alice, s2 avec Bob.
Elle déchiffre chaque message avec l'un, le lit, éventuellement le modifie, le rechiffre avec l'autre et le transmet. Les deux voient une conversation parfaitement fluide.
La cause
Le protocole garantit que le secret est partagé avec la personne à l'autre bout. Il ne dit rien sur qui est cette personne.
C'est un problème d'authentification, pas de confidentialité. Diffie-Hellman fait exactement ce qu'il promet ; il ne promet simplement pas d'identité.
La parade
Il faut lier l'échange à une identité vérifiable. En pratique :
- une signature : Bob signe sa valeur
Bavec sa clé privée, dont Alice vérifie la clé publique par un certificat. C'est ce que fait TLS ; - un secret préalable, même court, mêlé à l'échange ;
- une comparaison hors canal : les messageries chiffrées affichent une empreinte que les deux personnes comparent de vive voix ou en se rencontrant.
Une leçon générale
Retiens ceci, car cela dépasse largement Diffie-Hellman : chiffrer sans authentifier ne protège de rien. Un canal parfaitement chiffré vers le mauvais interlocuteur reste un canal vers le mauvais interlocuteur. La confidentialité sans l'identité offre surtout l'illusion de la sécurité.

