Как вы обеспечиваете соблюдение надежных паролей?

StackOverflow https://stackoverflow.com/questions/167917

  •  03-07-2019
  •  | 
  •  

Вопрос

Существует множество методов для обеспечения безопасности паролей на веб-сайте:

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

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

Итак, какие техники вы используете?Которые обеспечивают наилучшую защиту по сравнениюсоотношение неудобств?

Чтобы прояснить ситуацию, я не имею в виду банковские сайты или сайты, на которых хранятся кредитные карты.Думайте больше с точки зрения популярных (или не очень популярных) сайтов, которые все еще требуют регистрации.

Это было полезно?

Решение

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

  • Оцените каждый пароль и оставьте отзыв пользователю в виде оценки или графической панели и т.д.
  • Установите минимальный балл пароля, чтобы отсеять ужасно единицы
  • Составьте список распространенных слов, которые либо запрещены, либо снижают оценку пароля

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

Другие советы

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

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

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

Почему принуждать это?

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

Кроме того, есть проницательное эссе на почему политика периодической смены пароля - плохая идея при современной модели угроз.

По моему опыту, это действительно зависит от типа сайта, как вы сказали.

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

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

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

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

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

Что касается истечения срока действия паролей, то на практике возникают две заметные проблемы:

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

Редактировать: Это не значит, что я против всей идеи, просто это нужно учитывать наряду с другими факторами.

Существует Ajax-инструмент PasswordStrength, который даст пользователю представление о том, подходит ли его пароль.Мне это нравится, потому что в нем не обязательно запрещать создание пароля.

http://www.asp.net/AJAX/AjaxControlToolkit/Samples/PasswordStrength/PasswordStrength.aspx

Я никогда не видел, как это делается, но, похоже, это сработало бы чудесно:страница создания пароля могла бы содержать расширяемый список, скажем, из 50 наиболее общие пароли, заставляя пользователя немного прокрутить страницу вниз, прежде чем вводить свой пароль.Это, в сочетании с предложением Чекерса, во многом помогло бы предотвратить неосторожный выбор.

Однако решается проблема предотвращения повторного использования пароля...понятия не имею.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top