Как стать автором
Обновить

Комментарии 23

Я же правильно понимаю, если хешировать пароли, то этот пункт не выполним:
при смене пароля новый пароль должен отличаться от старого не менее, чем двумя символами.

И получается, что если его выполнять, то надо историю паролей хранить в открытом виде. Очень вредный пункт

 что если его выполнять, то надо историю паролей хранить в открытом виде

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

Получается у нас был пароль 12345678 и хотим что-то вроде 123X5678.
Храним хеши:
2345678
1345678
...
Итого 8 хешей на минимальный пароль + основной. Это если замена будет символа на другой.
Тут все классно.
А вот, когда мы добавляем символ в начало, конец или середину 12345678X.
Теперь надо каждый символ попробовать удалить. Получается 9.

То есть в сумме храним 9 хешей вместо одного и при смене пароля делаем 18 вычислений хешей (8 + 9 + 1 (это проверка такого же пароля).
Вроде не так страшно, но интересно кто-то так делает. Или я что-то не учел.


Навскидку фильтр Блума можно пристегнуть, но не уверен, что это хорошая идея.

Хэши ещё и "солить" надо и "соль" каждый раз должна быть разная.

Но для паролей, как мне кажется, следует применять криптографические хэш-функции, одним из свойств которых является лавинный эффект. И в такой ситуации уже не представляется возможным обеспечить проверку отличия старого пароля от нового на заданное число символов. Разве что запрашивать сразу старый пароль для сверки.

А если при смене просить ввести старый пароль и сравнивать, и все это на стороне клиента?

при смене пароля новый пароль должен отличаться от старого не менее, чем двумя символами

Все просто. Когда вы меняете пароль вы вводите старый пароль, а затем новый. Между ними и производится проверка. Ничего в открытом виде хранить не надо.

А если у меня пароль vasya123, а затем я его поменял на petya456, а потом решил его опять поменять на vasya123 ?

Такого контроля (что новый пароль должен на N символов отличаться от предыдущих M паролей) я не встречал. Есть проверки, что не должен совпадать с предыдущими паролями, а это решается сохранением истории хэшей.

Не надо. В момент смены пароля пользователь вводит новый и старый пароль.
Система может их сравнить, без обращения к своей БД.

Если браузер помогает заполнить пароли, не запрашивая, мастер-пароль для разблокировки хранилища паролей, значит, он не обеспечивает надёжное хранение. Если браузер может считывать пароли напрямую, то это смогут сделать и вредоносные приложения.

Вообще-то зависит от операционной системы. Доступ к защищённому хранилищу в норме делится по приложениям (естественно, это требует, чтобы приложения были подписаны).

даже с мастер паролем не идеально. Почему чтобы расшифровать 1 пароль, я должен давать возможность расшифровать ВСЕ пароли?

Читал-читал (ну ладно, много скипал) и ждал в конце решений беспарольного доступа будущего. Но, видно, до этого будущего еще далеко.

Один из вариантов - comp128v3 в уме, запрос rand от компьютера, вычисляем в уме sres и вводим. Вуаля, мы аутентифицированы.

Осталось только внедрить мозговые импланты из соседней хабротемы про контроль ИИ. :)

У всего остального есть недостатки - биометрия подделываема и несменяема, проблемы паролей освещены в статье, "железный" ключ можно украсть, и т.д.

Не смотря на дактилоскопический датчик в телефоне, предпочитаю восьмисимвольный ПИН. Ну его нафиг ваше беспарольное будущее.

Мастер-пароли пользователей были скомпрометированы.

А везде пишут что: При этом в LastPass в очередной раз отметили, что мастер-пароли пользователей остались не тронутыми. 

Насколько безопасно использовать https://www.passwordstore.org/ open source. Там по умолчанию GnuPG шифрование. Насколько оно стойкое?

Да, у паролей масса недостатков. Люди плохо их придумывают, плохо запоминают, легко теряют. Но у них есть одно преимущество, отсутствующее у всех прочих форм. Пароль создаётся и меняется только пользователем. Скомпрометированную биометрию сменить невозможно. А карточку и токен -- можно только с разрешения третьих лиц.

А это важно, если "стал злом" не владелец лица или руки, но владелец проверяющего его сервиса. Или чиновник, или корпорация. Пароль в этой ситуации можно сменить и уйти из-под несправедливого ограничения. Лицо или электронный "паспорт" -- нет.

Пароли на сегодня остаются последним способом доказательства своего права доступа, который контролируется самим человеком.

Биометрия это не пароль, это связка логин+пароль. Она и идентифицирует вас, и (в идеале) не может быть скопирована другим человеком.

А проблема "стал злом" и "несправедливое ограничение" это не про пароль, это про логин. Если вас забанят на Хабре, то вы можете сколько угодно менять пароль - право доступа вы себе не вернёте. Если вам принудительно поменяют пароль (а такое возможно) - зайти на Хабр под своей учёткой вы не сможете. Если вам запретят менять пароль (например, не показывая страницу смены пароля) - поменять пароль вы не сможете.

Вы можете создать новый логин, в отличие от новой биометрии. И то только если форма регистрации открыта.

Например, если со мной что-то случиться, у доверенных людей есть возможность получить доступ ко всем активам, что делать при биометрии? Украли телефон, остался бзе связи / интернета? Как дать доступ другому лицу (пароль просто можно пошарить)

Зарегистрируйтесь на Хабре, чтобы оставить комментарий