Hasta donde entiendo la respuesta en enlace , la intención de los clientes es evitar que los atacantes amorticen los costos de la fuerza bruta cálculos de hash al poder reutilizar los resultados de los cálculos
- para múltiples usuarios y / o
- para múltiples servidores
Sin embargo, incluso en la variante de Autenticación Digestiva más simple (qop = none), el username
y el realm
(supuestamente único por servidor) y el nonce
(más que solo único por servidor) están incluidos en el datos que se vuelven (generalmente MD5) hash.
¿Esto ya no hace que sea imposible reutilizar los hash precomputados en los usuarios / servidores?
Por lo tanto, una referencia de cliente solo se agregaría a la seguridad, si enlace es correcto:
Se sabe que la capacidad de elegir el nonce hace que el criptoanálisis sea mucho más fácil [8].
Pero esa misma sección continúa diciendo
Sin embargo, actualmente no se conoce ninguna forma de analizar la función unidireccional MD5 utilizada por Digest utilizando texto sin formato elegido.
Esta es una declaración de 1999. Desde entonces, se han publicado varios ataques de colisión para MD5, pero ninguno de los cuales ayudaría en este caso, si no me equivoco.
¿Qué me estoy perdiendo?
Actualizar Creo que tiene sentido explicar de qué estamos hablando exactamente. En la forma más básica de autenticación implícita, el cliente calcula y envía al servidor el resultado de lo siguiente:
MD5(MD5(username + ":" + REALM + ":" + password)
+ ":" + NONCE + ":" +
MD5(http-method) + ":" + uri))
A excepción de la contraseña, todos los valores también se envían en texto sin formato.
Para hacerlo más claro, las variables cuyos valores son establecidos por el cliente son minúsculas , mientras que las variables que el cliente recupera del servidor están en mayúsculas . (Esto hace que mi falacia de 'reino y nonce' arriba, señalada por David Wachtfogel de inmediato sea obvia, ya que un MITM puede elegir libremente esos valores en mayúsculas, asumiendo que el reino no está controlado por el cliente, que, a juzgar por la "sofisticación" I visto en la mayoría de las contraseñas de administrador, sería la norma, en lugar de la excepción).
Por cierto, el valor del uri se supone que es un uri absoluto , como http://servername/path?query
, y por lo tanto sería único a nivel mundial, sin embargo, eso depende de la implementación del cliente y mientras que Opera lo implementa de esa manera , las versiones de Chrome, IE, Firefox probé no y, en lugar de eso, solo usamos '/ path? query' (por favor, esto es en violación de enlace ).
Entonces, si una tabla precomputada sería reutilizable en todos los servidores depende de la implementación del cliente, y si MITM puede elegir, por supuesto preferirá los navegadores más débiles a Opera, si tiene una tabla precomputada.