Digamos que hay un servidor y un cliente. Normalmente, para conectarse y establecer una sesión cifrada de extremo a extremo, tendrían que llevar a cabo un intercambio de claves, lo que potencialmente le da a un atacante la oportunidad de realizar un ataque MITM.
Supongamos que el cliente tiene la huella digital de la clave pública del servidor o la clave pública codificada. (¿Qué es mejor?) Al conectarse, el servidor envía su clave pública y el cliente compara las huellas digitales. Si coinciden, el cliente envía su clave pública y se establece una sesión segura.
¿Es esta una solución mejor que un intercambio de claves? ¿Hay algún inconveniente potencial? ¿Funcionará? ¿Hay una mejor manera?