Схожість пароля


9

Я хотів змінити свій пароль на машині Unix. Я зробив звичайний "passwd" і набрав свій старий і новий пароль.

Потім машина повернулася до мене з таким повідомленням:

BAD PASSWORD: is too similar to the old one

Це змусило мене задуматися ... Це означає, що машина десь має чіткий текст у моєму паролі? Інакше він не повинен мати можливість порівнювати старий і новий пароль, правда? Або є хеш-функція, яка дозволяє це?

Відповіді:


6

Гаразд, тому я пішов на пропозицію Майкла Гемптона і пішов і подивився на код pam_cracklib.c, і здається, що пам_кракліб отримує старий (інакше поточний) пароль з PAM через виклик функції (що я вважаю абсолютно нормальним, як Я щойно ввів цей поточний пароль для автентифікації), а потім виконує аналіз подібності (функцію відстані) між тим старим паролем та новим, який я щойно ввів.

Але це не робить цей аналіз для всіх старих паролів в його історії. Це було б неможливо, оскільки вони зберігаються лише як хеші. Для них може бути перевірка лише в тому випадку, якщо вони однакові. Тож, здається, все в порядку, як я очікував, але зараз я розумію, чому так ... дякую всім.


3

Ваші старі паролі не зберігаються у простому тексті.

Натомість ваші старі хеші паролів зберігаються в /etc/security/opasswdPAM. Потім він проводить порівняння, коли ви переходите до зміни свого пароля, виходячи з того, що було визначено в конфігурації PAM.

Приклад конфігурації PAM:

password required pam_unix.so sha512 remember=12 use_authtok

Тут rememberвін змушує запам'ятати 12 попередніх паролів.

Детальнішу інформацію див. У розділі Безпека пароля Linux із пам’яткою pam_cracklib .


Гм ... ну, це, безумовно, не пароль, який я колись використовував ... Отже, він повинен перевірити, чи є зміни символів на старий пароль. Але якщо все, що збережено, - це хеш цього пароля, то як це зробити порівняння? Чи не одна з основних функцій криптографічно захищених хешей, щоб не дозволяти порівнювати різні чіткі тексти?
дертоні

Ти мене туди завів. Я думаю, вам доведеться прочитати вихідний код, щоб точно відповісти на нього.
Майкл Хемптон

Я б очікував, що він може змінити новий пароль, і якщо будь-який хеш цих варіантів відповідає хешу старого пароля, він занадто схожий. Таким чином, зберігаються лише хеші. Звичайно, я не перевіряв цього у вихідному коді ...
Ladadadada

добре, прочитайте код ... додав відповідь про мої висновки. +1 за допомогу мені знайти відповідь ;-) thx.
дертоні

0

Деякі системи можуть зберігати / обчислювати ентропію (складність пароля) та порівнювати їх, я не знаю, чи так це PAM.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.