Esta pregunta no se puede responder realmente sin saber cuál es el software cliente involucrado. El cliente decide qué entra en el ClientHello
. Algunos (la mayoría) de los navegadores web pueden configurarse para usar o no usar cualquier versión específica de SSL / TLS. Por ejemplo, con Firefox, puede utilizar la URL about:config
para acceder a las opciones de configuración interna, en particular, security.tls.version.min
y security.tls.version.max
.
Sin embargo, aún podemos evitar que dicha alteración no se pueda forzar desde el exterior (por ejemplo, un firewall o proxy) porque el protocolo de enlace finaliza con mensajes de control (llamados " Finished
") cuyos contenidos son verificados por el par (el servidor verifica el contenido del Finished
del cliente y viceversa); los contenidos son en realidad un valor de hash calculado sobre el contenido completo de todos los mensajes de intercambio anteriores. Esto asegura que el cliente y el servidor realmente vieran los mismos mensajes, hasta el último bit. Si modifica un ClientHello
en tránsito, entonces los mensajes Finished
al final de la conexión no coincidirán y el saludo no tendrá éxito.
(El término genérico para forzar a un cliente y servidor SSL a usar una versión inferior a la que les gustaría a ambos es un ataque de reversión de versión ; SSL / TLS incluye protecciones efectivas contra eso, específicamente el contenido de los mensajes Finished
.)