Назад | Перейти на главную страницу

Запоминание паролей

Я наткнулся на этот вопрос раньше, и это заставило меня задуматься. Все сталкивались с системами, которые требуют, чтобы вы меняли свой пароль каждые x дней и не использовали повторно ни один из ваших последних y паролей. Подобные вещи всегда оставляли меня смутно обеспокоенным - как хранятся старые пароли? Не следует ли полностью удалять старые пароли? Разве не небезопасно не делать этого?

Есть ли что-то, о чем я здесь упускаю или забываю думать?

Пароли можно хранить с помощью хеши которые хранят не пароль, а число, представляющее пароль. Как правило, хэш не может быть превращен обратно в пароль, поэтому вероятность того, что компрометация безопасности приведет к получению оригинального пароля, очень мала. Например, простой хеш может назначить A = 1 B = 2 C = 3 и т. Д., А затем суммировать все значения для соответствующих букв в пароле. Если вы использовали этот пароль раньше, хеш всегда будет совпадать, но нет никакого способа получить исходный пароль, зная хэш.

Таким образом, определенно можно узнать, использовался ли ранее пароль, даже не зная, каким был пароль. Однако вы не можете быть уверены в том, использует ли какой-либо конкретный веб-сайт этот метод.

РЕДАКТИРОВАТЬ - обратите внимание, что приведенный выше пример чрезвычайно прост, он предназначен только для передачи концепции хэша. Это НЕ то, как вы должны вычислять хэш в реальном мире, не в последнюю очередь из-за преобладания паролей, которые дают один и тот же хеш.

РЕДАКТИРОВАТЬ 2 - лучшая ссылка может быть http://en.wikipedia.org/wiki/Cryptographic_hash_function, который описывает хэши в контексте криптографии. Предыдущая ссылка на хеши говорит о них больше в контексте группировки данных, для которой они также могут использоваться.