Разрешение каждого пароля 6 + символов. Хорошая практика?

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

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

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

  • »«
  • '123456'
  • '! @ # $% ^'
  • 'пароль'

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

Является ли это хорошей практикой или я должен делать это по-другому?

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

ИЗМЕНИТЬ

Как переполнение вопроса в комментариях:

  

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

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

11 голосов | спросил Kid Diamond 21 AMpMon, 21 Apr 2014 11:41:11 +040041Monday 2014, 11:41:11

4 ответа


13

Я уверен, что вы это видели:

  

xkcd comic "Сила пароля"

Источник: http://xkcd.com/936/

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

ответил Jørn E. Angeltveit 21 PMpMon, 21 Apr 2014 15:35:50 +040035Monday 2014, 15:35:50
4

Это немного самозапуск, но в то же время это часть пользовательского опыта, о которой я очень забочусь.

Принимая подход XKCD, нам нужно вознаграждать пользователей за использование сложных паролей и обучать их использованию более сложных паролей. Когда я говорю о сложности, я специально подразумеваю вычислительную сложность, атакуя ее, поэтому «correcthorsebatterystaple» более сложный, чем «Tr0ub4dor & 3».

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

Я разработал плагин jQuery, Complexify , который делает это. Основная идея состоит в том, чтобы посмотреть на наборы символов, которые потребуются для перебора пароля и просмотреть их размеры, подсчитав количество возможных паролей по длине проверяемого пароля. Это означает, что «Tr0ub4dor & 3» оценивает 40%, и не удается проверить, но «correcthorsebatterystaple» оценивает 68% и проходит. Для подсчета очков отметка 100% помещается примерно на 28-значный пароль, содержащий прописные, строчные, пунктуационные и цифры.

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

Я бы рекомендовал этот подход. Хотя мой оригинал - это плагин jQuery, теперь есть версия Node.js и версия Objective-C. Это относительно простая часть кода, поэтому для большинства других языков не требуется больше часа, если они не подходят.

ответил danpalmer 21 PMpMon, 21 Apr 2014 17:08:13 +040008Monday 2014, 17:08:13
1

Я устал от бремени памяти паролей для всего и начал использовать блокиратор паролей (в частности, KeyPassX (не большой, но достаточный)).

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

Проблема UX, с которой я сейчас сталкиваюсь, заключается в том, что «вы не следовали нашим произвольным правилам в отношении силы, и поэтому мы отклоняем ваш пароль». Ограничение «8-15 символов» - это наиболее раздражающее, поскольку оно заставляет меня использовать более короткий пароль, чем я предпочитаю.

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

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

ответил msw 13 Mayam14 2014, 10:10:40
0

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

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

ответил Trevör Anne Denise 21 PMpMon, 21 Apr 2014 13:34:06 +040034Monday 2014, 13:34:06

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132