pam_pwcheck
solo recuerda las contraseñas de un usuario determinado, como dice la otra respuesta.
La otra parte de la pregunta es: "¿Cuál podría ser el objetivo de este tipo de verificación?"
De hecho, hay sistemas que verifican todas las contraseñas existentes. Por lo general, dichos sistemas almacenan contraseñas en texto simple o un hash sin sal que no depende del nombre de usuario o cualquier otra cosa que impida que se encuentre una coincidencia rápidamente. Me he encontrado con esto como usuario, como una solicitud de funcionalidad (que he rechazado como imposible de hacer con cualquier medio razonable de almacenamiento de la contraseña, además de ser inherentemente defectuosa) o como una objeción para corregir el uso de almacenamiento de texto plano.
Y el objetivo es doble:
-
Dado que las contraseñas deberían ser difíciles de adivinar, lo ideal sería que fuesen casi aleatorias en términos de imprevisibilidad (el problema de recordar la contraseña es otro asunto *, y a menudo se olvida cuando las personas desarrollan un nuevo entusiasmo para la seguridad de la contraseña). Como intuitivamente, aleatorio significa que hay poco en el modo de repetición (algo que alguien aquí probablemente sabrá es una falacia pero ciertamente una falacia que se sostiene), entonces la repetición es, por lo tanto, una mala señal.
-
Más razonablemente, si alguien más está usando la contraseña, es probable que sea una contraseña débil que no pudimos detectar (p. ej., usar los detalles de una oficina de la empresa como el número de teléfono para crear la contraseña de una manera que otra el empleado podría intentarlo pero, de lo contrario, pasa las pruebas de resistencia), eso podría ser adivinado, ya que esencialmente el usuario lo ha adivinado.
Las fallas con el primer pensamiento son la falla de no entender la repetición en la aleatoriedad, y al esperar una contraseña completamente aleatoria, a menos que esté respaldada por una política que permita recordar con seguridad la contraseña difícil de recordar.
Las fallas con el segundo pensamiento son:
- Necesitamos almacenar la contraseña de forma relativamente insegura para poder realizar la comprobación en primer lugar.
- Acabamos de filtrar una contraseña a alguien.
- Es probable que hayamos identificado una contraseña débil, pero no avisamos a la persona que realmente la usa.
Pero aún así, esas fallas no significan que no suceda. Después de todo, hay otra falla en el sistema en la broma; rechazando carottegéante
por el diacrítico. Hay razones técnicas para rechazar los signos diacríticos en varios lugares (aunque, a menos que tenga que interactuar con el código de otras personas, esos motivos son absolutamente inexcusables en el código moderno), pero he visto de manera bastante extraña que los sistemas que aceptaban los signos diacríticos lo rechazaban. nombres de usuario! Igualmente muchos sistemas rechazan espacios en contraseñas, y así sucesivamente. En general, lo atribuyo a la programación de la carga de culto; alguien más lo hizo, así que lo copias. Hasta cierto punto, esto no es del todo irracional; Ciertamente copio lo que hacen aquellos que saben mejor que yo cuando se trata de seguridad, por lo que no culparía por completo a alguien por copiar ciegamente tales políticas. Aún así, solo se necesita una breve pausa para darse cuenta de que no hay forma de que aceptar "jdiwmfojkslofklo" pero no aceptar "ﬤסּוּ ﭞﻘﺪ ӐӓҾӌȕ" mejore nada, y de hecho reduce el rango de posibles contraseñas para atacar.
De todos modos, la regla que tienen algunos sistemas contra los espacios nos da un enfoque para traducir la broma al inglés; haz que la segunda contraseña intente "zanahorias gigantes" con un espacio.
* Para eso son las notas post-it, ¿no?