¿Generar periódicamente una contraseña más segura con salt generado aleatoriamente?

¿Generar periódicamente una contraseña más segura con salt generado aleatoriamente?

¿Hay alguna manera de hacer que las contraseñas sean aún más seguras, por ejemplo, utilizando Bash Script programado para cambiar el salt generado aleatoriamente para las contraseñas de los usuarios, por ejemplo? dos veces al mes sin un servidor normal y corriente, ¿el usuario no sabe nada al respecto o no tiene ningún efecto en el comportamiento del usuario o no tiene que realizar ninguna acción con su contraseña?

El enlace de referencia para el tema anterior del foro donde el moderador me dijo que hiciera una nueva pregunta después de que se eliminó mi comentario se encuentra en Cómo crear una contraseña cifrada

Respuesta1

¡Bienvenido a Unix y Linux StackExchange!

El problema con esa idea es que los hashes de contraseña sonno reversible: en lugar de "descifrar" la contraseña con hash y compararla con la entrada del usuario en el momento de iniciar sesión, la contraseña que ingresa el usuario se procesa con la misma sal que el hash de contraseña almacenado y luego el resultado se compara con el hash almacenado. Si coinciden, se supone que el usuario ingresó una contraseña válida y se acepta el inicio de sesión.

(Sí, es teóricamente posible que dos entradas de contraseña resulten en el mismo hash, pero eso esextremadamenteimprobable.)

Para poder volver a codificar todas las contraseñas con un nuevo salt sin involucrar a los usuarios, tendría que almacenar una versión de texto sin formato (o cifrada reversiblemente y, por lo tanto, equivalente a texto sin formato) de las contraseñas actuales de todos. Eso es precisamente lo que el esquema de hash de contraseñas fue diseñado para evitar en primer lugar.

Volver a aplicar hashes a una contraseña existente con una nueva sal ni siquiera es muy útil: si una persona malvada hubiera logrado obtener una copia de los hashes de su contraseña antes de volver a aplicar el hash, podría aplicar fuerza bruta a los hashes con la antigua sal cuando lo desee, y luego use cualquier contraseña descubierta con su sistema con las nuevas sales,porque las contraseñas reales que el sistema solicita al iniciar sesión siguen siendo las mismas.

El propósito de utilizar hashes salados en el almacenamiento de contraseñas es doble:

1.) evita que los administradores que ven los hashes se den cuenta casualmente de que dos usuarios tienen la misma contraseña real,

2.) si el archivo con los hashes de contraseña llega a manos maliciosas, les da tiempo a los administradores del sistema para notar la filtración y hacer que los usuarios cambien sus contraseñas antes de que puedan ocurrir inicios de sesión maliciosos. (Las buenas contraseñas pueden en realidad ser resistentes a los ataques de diccionario, pero garantizar eso requiere implementar controles de calidad de las contraseñas en el momento en que se establecen o cambian).

Tenga en cuenta que en los sistemas modernos, los hash de las contraseñas se almacenan en /etc/shadowun lugar que los usuarios habituales no pueden leer. Entonces, si los hash caen en manos maliciosas, significa que la seguridad de su sistema ya está seriamente comprometida, ¡y tiene problemas mayores que preocuparse por las quejas de sus usuarios sobre la necesidad de cambiar las contraseñas!

información relacionada