El propósito de la distribución de sal cuando las contraseñas de hash es evitar que contraseñas idénticas den como resultado los mismos valores de hash. Si todas sus contraseñas son, como usted dice, largas y generadas por un CSPRNG, entonces no tendrá contraseñas idénticas en su base de datos para diferentes usuarios; Todos serán únicos, y el uso de sal no agrega nada a la seguridad de estas contraseñas.
Sin embargo, puede haber una advertencia. Y es decir, si tiene algunas contraseñas que no son aleatorias. I.E., si las contraseñas aleatorias que genera son contraseñas iniciales, pero los usuarios tienen la capacidad de elegir una contraseña diferente. Si este es el caso, entonces deberías más seguramente ingresar tus contraseñas, incluyendo las generadas aleatoriamente. Hay dos razones para esto.
-
Agregar lógica de bifurcación para eliminar algunas contraseñas pero no otras es una complejidad innecesaria, y la complejidad innecesaria es costosa y perversa. Al aprovechar todo, no está reduciendo ni aumentando la seguridad de las contraseñas aleatorias, sino simplificando la lógica de la aplicación y reduciendo la posibilidad de errores, seguridad u otros.
-
Esto podría drásticamente reducir la seguridad de las contraseñas no aleatorias. Si se conoce su esquema y los hashes y sales son extraídos por un atacante, podrán determinar inmediatamente qué contraseñas (las contraseñas con sal) no se generan de forma aleatoria y deben ser atacadas. Si todas las contraseñas están incluidas, las contraseñas aleatorias serán indistinguibles de las contraseñas definidas por el usuario.