¿Qué sucede si el navegador solicita enlace , pero example.com nunca ha tenido un certificado SSL válido? ¿El navegador redireccionará automáticamente a la versión http: //?
No. Los navegadores modernos no bajan a HTTP simple de forma autónoma. Si un certificado no es válido, el usuario simplemente verá una advertencia de certificado (y eventualmente una opción para agregar una excepción).
Si es así, entonces un operador de proxy malvado debería poder simular esa respuesta, ¿no?
Si los navegadores se redireccionaron a HTTP simple al ver un certificado no válido, un MITM podría degradar silenciosamente cualquier nueva conexión segura al modificar los detalles del certificado transmitido. Eso sería un gran problema de seguridad. Es por eso que, siempre que use HTTPS desde el principio, un MITM no puede redirigirlo a ninguna parte.
Más bien, lo que puede hacer un atacante es tratar de interceptar una respuesta HTTP simple antes de que la conexión se actualice a HTTPS. Por ejemplo, si escribe mybank.com
, su navegador no sabe si el sitio proporciona aún HTTPS e intenta primero http://mybank.com
. Incluso si este sitio HTTP responde inmediatamente con una redirección a https://mybank.com
, un MITM ya podría interceptar la respuesta y eliminar la redirección para mantenerlo en HTTP simple. (La función HTTP Strict Transport Security (HSTS) lo evita ataque exacto indicando a su navegador que siempre visite el sitio a través de HTTPS y rechace todos los intentos de usar HTTP simple.)