2013-03-01 2 views
2

Некоторые сайты, например, такие как Halifax и Barclaycard, будут запрашивать у пользователя конкретные буквы своего пароля. Но если пароль пользователя солен и хэширован, я не вижу, как можно использовать отдельные буквы. Таким образом, либо пароль не хэшируется, либо есть другой процесс. Возможно, каждая отдельная буква пароля соленая и хеширована, но это не кажется особенно надежным.Как аутентифицироваться в отношении конкретных букв пароля

Может ли кто-нибудь объяснить, какая модель аутентификации используется здесь? Учитывая, что это довольно распространенное место, я должен предположить, что существует надежная модель для поддержки этой практики.

Редактировать: Лучший ответ, который я нашел, на самом деле находится на security.stackexchange.com 'How do some sites (e.g. online banks) only ask for specific characters from a password without storing it as plaintext?', поэтому я также буду голосовать, чтобы закрыть мой вопрос.

+0

Надеюсь, вы не собираетесь использовать эту модель для своего собственного проекта. – Gumbo

+0

Нет, еще нет, но учитывая, что он существует в ситуациях, которые я описываю, это заставило бы меня поверить, что за этим стоит прочная модель. И из-за этого я хотел бы знать, является ли это жизнеспособным вариантом и как это работает, предпочтительно от того, кто его реализовал. – Digbyswift

+0

О, ты не должен этого допускать! Даже несмотря на то, что он используется, казалось бы, крупными компаниями, они все равно могут ошибаться. Я имею в виду, если вас попросят только три буквы вашего пароля, пароль для доступа к вашей учетной записи также будет всего в трех буквах, независимо от того, как долго ваш фактический пароль. – Gumbo

ответ

1

Ваше доверие потенциально неуместно. Соление не препятствует нападению грубой силы, только использование радужных столов. Если вы соленый каждый отдельный персонаж, это будет тривиально взломать. Точно так же соление и хеширование каждой комбинации из четырех символов также было бы тривиально взломать грубой силой. Ваш пароль почти наверняка хранится в незашифрованном виде.

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

Если вы думаете об этом, то не может быть безопасным способом. Если у вас есть оракул, который займет 1 секунду, чтобы подтвердить четыре символа пароля (каждый из которых мог бы иметь, скажем, 36 возможных значений), тогда вы можете взломать четыре символа после того, как в среднем будет выполнено 839 808 попыток, что займет 10 дней. Если пароль составляет 12 символов, потребуется всего месяц, чтобы полностью его взломать. Вход в систему занимает значительно меньше 1 секунды.

+0

Знаете ли вы, что это так? Я был бы поражен, если бы финансовые учреждения хранили наши незашифрованные пароли, даже если доступ к базам данных был пригвожден. Не забывайте, что многие нарушения безопасности в прошлые годы фактически привели к тому, что данные были удалены за пределы площадки. – Digbyswift

+0

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

+0

@Digbyswift Я отредактировал свой ответ, чтобы усилить эту точную точку. – jleahy

Смежные вопросы