Вопрос: Сходство с паролями


Я хотел изменить свой пароль на unix-машине. Я сделал обычный «passwd» и набрал свой старый и новый пароль.

Затем машина вернулась ко мне со следующим сообщением:

BAD PASSWORD: is too similar to the old one

Это заставило меня задуматься ... Означает ли это, что у машины есть мой пароль в прозрачном тексте? В противном случае он не сможет сравнить старый и новый пароль, верно? Или есть хеш-функция, которая позволяет это?


8
2017-09-10 05:40


Источник




Ответы:


Хорошо, поэтому я последовал предложению Майкл Хэмптон и пошел и посмотрел на код pam_cracklib.c и кажется, что pam_cracklib получает старый (как текущий) пароль из PAM через вызов функции (который я считаю полностью нормально, поскольку я только что ввел текущий пароль для аутентификации), а затем выполняет анализ подобия (функция расстояния) между этим старый пароль и новый, который я только что ввел.

Но он не делает этого анализа для всех старых паролей в своей истории. Это было бы невозможно, потому что они хранятся только как хеши. Для них может быть только проверка, совпадают ли они. Так что все кажется в порядке, как и ожидалось, но теперь я понимаю, почему это ... спасибо всем.


6
2017-09-10 06:33





Ваши старые пароли не сохраняются в виде простого текста.

Вместо этого ваш старый пароль хэши хранятся в /etc/security/opasswd по PAM. Затем он делает сравнение, когда вы переходите на смену пароля, в зависимости от того, что было указано в конфигурации PAM.

Пример конфигурации PAM:

password required pam_unix.so sha512 remember=12 use_authtok

Вот, remember заставляет вспомнить 12 предыдущих паролей.

Более подробно см. Безопасность паролей Linux с помощью pam_cracklib,


3
2017-09-10 05:56



Mhm ... ну, это определенно не пароль, который я когда-либо использовал раньше ... Поэтому он должен проверять изменения персонажа на старый пароль. Но если все, что было спасено, является хэшем этого пароля, как же он выполняет сравнение? Разве не одна из основных функций криптографически защищенных хэшей не позволяет сравнивать между разными четкими текстами? - dertoni
Тут ты меня подловил. Я думаю, вам нужно будет прочитать исходный код, чтобы точно ответить на этот вопрос. - Michael Hampton♦
Я бы ожидал, что он внесет изменения в новый пароль, и если какой-либо из хэшей этих вариантов соответствует хэшу старого пароля, он слишком схож. Таким образом, сохраняются только хеши. Конечно, я не проверял это в исходном коде ... - Ladadadada
хорошо, прочитайте код ... добавил ответ о моих выводах. +1 за то, что помог мне найти ответ ;-) thx. - dertoni


Некоторые системы могут хранить / вычислять энтропию (сложность пароля) и сравнивать их, я не знаю, относится ли это к PAM.


0
2018-06-23 15:19