Digamos que quiero hablar con alguna persona desconocida en Internet. Y quiero que el mensaje esté encriptado. Establecer un enlace seguro es fácil; El intercambio de claves D-H hace que sea imposible escuchar a escondidas. ¿Pero a quién acabo de establecer mi conexión? ¿Fue la persona que pensé, o quizás otra otra persona de Internet desconocida que está jugando al hombre en el medio con nosotros?
El cifrado es inútil sin autenticación porque podría estar estableciendo su conexión cifrada con los malos, y los malos estableciendo una conexión conmigo, lo que efectivamente significa que pueden ver o modificar la conexión a medida que avanza. Sin autenticación, también podría ser texto plano. Entonces, ¿cómo nos autenticamos?
Bueno, podrías generar un par de claves RSA y enviarme tu clave pública. ¿Excepto cómo sé que fue usted enviándome su clave pública y no a los malos? Si me lo dieras en persona, tendríamos algo. De lo contrario, estamos de vuelta donde empezamos. Entonces, ¿qué hay de demostrar su identidad a alguien en quien confío cuya clave pública ya verifiqué? (Tal vez un amigo de confianza, tal vez una empresa como Versign), podrían firmar su clave RSA, lo que me permitirá confiar de manera implícita en su clave pública mediante la verificación de las firmas en él.
Eso es más o menos la forma en que funciona SSL y la forma en que funciona PGP. Debe tener algún mecanismo para confiar en las claves públicas, o todo el sistema carece de valor. Y eso significa que las personas tienen que hacer algo para asegurarse de que su clave pública sea confiable. Reunirse en persona, intercambiar claves a través de un canal de confianza o confiar en un tercero.
Pero lo que todos estos mecanismos de confianza tienen en común es que son inconvenientes. A los novatos les resulta difícil hacerlo bien, y son una carga de esfuerzo que la mayoría de las personas preferiría evitar. Y es por eso que las redes de chat cifradas distribuidas nunca son populares.
Ahora que sabe por qué es inconveniente, vaya a descargar Off The Record y agregue su capa de cifrado descentralizada encima de su protocolo de chat favorito.