El protocolo de enlace SSL / TLS está protegido contra intentos de degradación por el mensaje finalizado, un hash autenticado y firmado del secreto principal y todos los mensajes de protocolo de enlace anteriores.
Considere un cliente que usa una combinación de conjuntos de cifrado fuerte y débil que se conecta a un servidor que admite el mismo conjunto de cifrados. Por lo general, una o ambas partes preferirán un cifrado sólido y la conexión se establecerá de forma segura.
¿Qué capacidades necesitaría tener un atacante para degradar activamente el protocolo de enlace a uno de los conjuntos de cifrado débiles? Supongo que el atacante no puede romper el establecimiento de la clave maestra a través de RSA o (EC) DH.
Creo que deben poder hacer al menos lo siguiente:
- Calcule un valor de hash válido para el protocolo de enlace modificado (p. ej., con algunos conjuntos de cifrado eliminados o modificados por valores no válidos), sin conocer el secreto maestro, y posiblemente también sin conocer el valor de hash original (según el esquema de cifrado utilizado)
- Realice esas modificaciones de hash en ciphertexts (con texto desconocido), ya que el mensaje finalizado está encriptado
- Modifique la etiqueta de autenticación cifrada para el mensaje finalizado (ya que SSL / TLS usa autenticar y luego cifrar) para que sea válida para el hash de handshake modificado, nuevamente sin saber el valor original.
"Cómo está roto" hace una función hash, "¿qué tan maleable" tiene que ser un cifrado para habilitar tal ataque? ¿Existe alguna posibilidad hoy o en un futuro previsible (considerando los ataques existentes en MD5, SHA1, RC4, etc.) de que un ataque sea posible para una de las suites de cifrado heredadas existentes, excepto quizás las versiones de exportación donde podría estar la clave maestra? ¿Bruto forzado por el atacante?
¿O es seguro dejar esas suites de cifrado "moderadamente seguras" habilitadas en el cliente y confiar en la protección de intercambio?