Como lo ha dicho el otro, la conexión inicial no está asegurada y al menos contiene la dirección IP (aunque cada vez más el nombre del servidor también se debe a SNI). El servidor de destino responde con un certificado de clave pública y negocian la sesión SSL / TLS.
La clave para evitar los ataques del hombre en el medio es el certificado y el hecho de que haya sido aprobado por una autoridad de certificación en la que su navegador confía.
Supongamos que un hacker intercepta las comunicaciones entre un cliente y un servidor. El cliente ha solicitado una conexión segura al sitio web enlace (por ejemplo). El pirata informático puede enviar la solicitud al sitio web real y transmitir las respuestas. El pirata informático también podrá leer la primera respuesta del servidor al cliente ya que es texto sin formato. Sin embargo, no puede leer el siguiente mensaje del cliente al servidor, ya que está cifrado con la clave pública del sitio web y, por lo tanto, solo se puede descifrar con la clave privada (que el pirata informático no tiene). Dado que estos mensajes posteriores se utilizan para negociar la clave que se usará para la conexión SSL / TLS real, el pirata informático está básicamente bloqueado después de ese primer mensaje.
Alternativamente, en lugar de actuar como un relé directo, el pirata informático puede otorgar un certificado falso (para el que conoce la clave privada) para la conexión cliente-pirata informático y luego puede configurar su propia conexión de servidor pirata informático y pasar. mensajes entre los dos. Sin embargo, en este escenario, a menos que hayan logrado comprometer uno de los principales emisores de certificados que el navegador del cliente acepta automáticamente, habría un gran candado rojo que indicaría que el certificado que el pirata informático envió al cliente es 1) no es real o 2 ) no para este sitio web.
La mayoría de los ataques MITM dependen de mantener la conexión en http estándar. Por ejemplo, vaya a www.mybank.com (de modo que el navegador intente http: // de manera predeterminada, ya que no ha especificado un protocolo). Normalmente, el banco lo redireccionaría a enlace , pero en cambio el hacker intercepta ese redireccionamiento y lo mantiene en http para la conexión cliente-hacker, pero establece un Conexión https adecuada del hacker al servidor. En este escenario, el pirata informático espera que los usuarios no se den cuenta de que no hay un candado verde y no se han cambiado a https. Los hackers están bastante fuera de suerte si el usuario va directamente a https.