El intercambio inicial de claves públicas se realiza a través de un canal inseguro. Una vez que ambas partes tienen la clave pública de la otra parte, pueden usar criptografía asimétrica para acordar una clave simétrica. Después de eso, toda la comunicación es cifrada simétricamente. Pero tenga en cuenta que esto depende del intercambio inicial de claves públicas sobre una conexión insegura. ¿Cómo saber si un tercero no ha interceptado la clave pública de una de las partes, ha sustituido su propia y posteriormente ha enviado mensajes entre las dos partes?
Una solución es que las dos partes legítimas conozcan las claves públicas de cada una (o el hash de las claves públicas de la otra) de antemano. Eso es más seguro, pero inusual en 2018.
Otra solución es que ambas partes confíen en una entidad externa, como una autoridad de certificación. Los navegadores y sistemas operativos vienen preempaquetados con una cantidad sustancial de autoridades de certificación confiables. Una cantidad muy sustancial. Y esas autoridades de certificación suelen ser empresas (empresas comerciales con presencia física y oficinas y cuentas bancarias) que operan bajo las gracias de los gobiernos que tienen jurisdicción pertinente sobre ellas. Si dicho gobierno obligara a una autoridad de certificado raíz a emitir un certificado intermedio falso al gobierno, entonces cualquier navegador web que ya confíe en la autoridad de certificación raíz confiaría en ese certificado. Y como señalé, hay MUCHAS autoridades de certificados raíz de confianza en su navegador y / o en su sistema operativo. Cada uno de ellos es vulnerable a la coerción impuesta por el gobierno (o posiblemente al crimen organizado, dependiendo de su impunidad relativa en ese país). En realidad, un compromiso como este ha ocurrido, especialmente en 2011, a una autoridad de certificación llamada DigiNotar. Esto condujo a violaciones de seguridad masivas a nivel de estado-nación.
Por último, existe la solución de contar con una versión más pequeña del sistema de autoridad de certificación compuesta por círculos de confianza, entidades que comúnmente son reconocidas por las partes comunicantes como confiables pero seleccionadas de manera deliberada por adelantado y no instaladas en el navegador de manera predeterminada. Las claves públicas podrían ser firmadas por una entidad de confianza mutua antes de que se intercambien a través del intercambio Diffie Hellman.
El desafío es intercambiar esas claves públicas de manera confiable antes de que ocurra cualquier comunicación encriptada posterior. Diffie Hellman NO es una panacea.