He visto que se menciona varias veces aquí que un enfoque para evitar que los cambios forzados de contraseñas se cambien a contraseñas trivialmente similares (por ejemplo, mysecurepassword1
se cambia a mysecurepassword2
, etc.) consiste en hash múltiples variaciones que puede ser comparado posteriormente a Esto se puede hacer buscando patrones y haciendo cosas como incrementar números, agregarlos, etc.
Tengo curiosidad por las implicaciones de esto en la seguridad. Estos hashes darían más oportunidades para un forzador de brutos, ¿no es así? Son esencialmente colisiones. Aunque, por otro lado, uno esperaría que si alguien es forzado por la fuerza bruta, probablemente probaría las variantes en un tiempo similar, por lo que parece que no necesariamente ahorraría mucho tiempo de fuerza bruta. Tampoco estoy seguro de cuánto importan las colisiones si la contraseña es lo suficientemente segura. Por ejemplo, si tenemos 10 variaciones de hash, eso significa teóricamente que se necesitarían 10 veces menos intentos para forzar la contraseña, ¿no? Pero la magnitud de la magnitud del tiempo que se necesita para forzar la fuerza bruta de una contraseña segura es a menudo tan grande que incluso una disminución de 10 veces es un período de tiempo imprácticamente grande.
Entonces, sí, ¿el hash de estas variaciones debilita significativamente la seguridad? ¿Es lo suficientemente pequeño como para que no importe (especialmente en comparación con los beneficios de evitar la reutilización de contraseñas similares)?