Рубрики
Uncategorized

Как правильно исправить пароли — большинство сайтов делают это неправильно

Опубликовать, как правильно определить пароли — большинство сайтов делают неправильно, впервые появилось на QVault …. Теги от Go, языки, Opensource, DevOps.

Пост Как правильно исправить пароли — большинство сайтов делают это неправильно впервые появился на QVault Отказ

Вы, вероятно, посетили сайт и попытались зарегистрироваться только для выполнения ошибок, таких как:

  • Пароль нуждается в заглавной буквы
  • Пароль нужен специальный символ
  • Пароль должен быть не менее 8 символов

Я только что выпустил пакет в том, что решает эту проблему. Проверьте это и дайте ему звезду здесь: Go-Password-Validator Отказ Если вы хотите понять, как это работает, и как правильно проверять пароли пользователя, прочитайте.

Не только правила выше довольно раздражающих, но они также могут быть безопасностью недостаток в системе. Возьмите, например, сильная паровая фраза: Супер червь съел человека Trike . Эта парольная фраза имеет множество энтропии (случайность), но она не пройдет первые две шаги валидации, приведенные выше. XKCD ставит это лучшее:

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

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

Как определить энтропию, данный пароль

Путь Go-Password-Validator Работы — мой любимый (очевидно, я его написал), но наверняка есть комната для улучшения. Давайте посмотрим на процесс. От его Readme :

Во-первых, мы определяем номер «базы». База представляет собой сумму различных «наборов символов», найденных в пароле.

Текущие наборы символов включают в себя:

  • 26 строчных буквы
  • 26 прописных букв
  • 10 цифр
  • 32 Специальные персонажи — ! " # $% & '() * +, -./:; <=>? @ [\] ^ _ {|} ~

Использование хотя бы одного символа из каждого набора вашего базового номера будет 94:

Каждый уникальный персонаж, который не соответствует одному из этих наборов, добавит 1 на базу.

Если вы используете только, например, строчные буквы и цифры, ваша база будет 36: Отказ

После того, как мы рассчитали базу, общее количество догадок грубой силы найден с использованием следующих формул: База ^ Длина

Пароль с использованием базы 26 с 7 символами потребуется 26 ^ 7 или 8031810176 догадки.

Как только мы знаем, что количество догадок, которое потребуется, мы можем рассчитать фактическую энтропию в битах, используя log2 (догадки)

Спасибо за прочтение!

Следуйте за нами в Twitter @q_vault. Если у вас есть какие-либо вопросы или Комментарии

Возьми немного Курсы кодирования на нашей новой платформе

Подписаться на нашу рассылку для большего количества стран программирования

Оригинал: «https://dev.to/qvault/how-to-correctly-validate-passwords-most-websites-do-it-wrong-l46»