L'homme au milieu peut-il non seulement prendre les clés échangées par les adversaires, changer les clés, puis déchiffrer et chiffrer à nouveau le message?
Oui, ils peuvent.
Un protocole d'échange de clés comme (la version "manuel" de) DH est sécurisé contre les écoutes (c'est-à-dire, simplement en observant ce qui est transmis sur le canal), mais se décompose complètement contre les attaques de l'homme du milieu (MITM), comme vous avez déclaré.
Les certificats sont une tentative pour y remédier, mais un autre problème se pose: comment pouvez-vous vous assurer que les deux parties reçoivent le certificat correct? De toute évidence, vous ne pouvez pas simplement envoyer les certificats sur le canal non sécurisé, car cela est à nouveau susceptible d'une attaque MITM.
La solution est l'existence d'un canal alternatif, (complètement) sécurisé . Ce serait soit les deux parties se rencontrant en personne et échangeant leurs certificats physiquement ou via un autre canal fiable (par exemple, par téléphone, si cela peut être fiable).
Dans les réseaux informatiques, le canal alternatif est généralement une infrastructure à clé publique (PKI). Cela signifie que votre système d'exploitation ou votre navigateur dispose d'un ensemble de certificats racine préconfigurés à partir desquels d'autres certificats sont signés (et peut-être même d'autres certificats les utilisant comme certificats intermédiaires ). Par conséquent, lorsque vous visitez un site Web, il présente un certificat signé , qui est signé à l'aide d'une (chaîne de) certificats auxquels vous faites déjà confiance. Ensuite, en utilisant ce certificat, un échange de clé authentifié est possible (par exemple, pour convenir d'une clé éphémère à utiliser avec un chiffrement symétrique ordinaire).