Генератор «удобных» паролей

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

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

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

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

Что такое удобный пароль?

Дальше я предлагаю код функции генератора «удобных» паролей. Идея не придумана мной, здесь я даю лишь свою реализацию на php. В «удобном пароле» должны чередоваться гласные и согласные буквы, а для пущей красоты в середину вставим какое-нибудь число, чтобы разбить длинную последовательность букв.

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

Как работает функция генерации паролей?

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

  • словарь гласных букв — 5 симв
  • словарь согласных букв (тут убрали l — слишком похожа на единицу) — 20 симв.
  • и словарь цифр (я исключил ноль, который можно спутать с буквой О) — 9 симв.

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

В итоге получаются вот такие парольчики:

Посчитаем число комбинаций, (силу) данного пароля. 6 согл. букв, 4 гласных и цифра, дают — 360 миллиардов комбинаций. Вполне приличное число. Можно добавить блокировку по ip после нескольких неудачных попыток, к примеру, на 30 мин. Тогда пароль станет проще украсть, чем угадать. И такой пароль не подобрать по словарю — только brute force.

Функция генерации пароля на php

Ещё пара слов в заключении …

Функция простая, как видите. Да и идея довольно простая. Самое важное — это удобство пользователя. Пусть часть из них поменяет пароль на какой то свой, это уже говорит о том, что пользователю пароль важен, и у него достаточно терпения, чтобы позаботиться о своей безопасности. Большинство же из них доверяет свои пароли различным системам запоминания реквизитов, браузерам и т.п. Но даже если они введут этот пароль всего один раз (да и то перенесут его через буфер обмена), думаю, они оценят вашу заботу о них.

Написать комментарий

Мало букафф? Читайте есчо !

Будни антихака продолжаются

Октябрь 10, 2015 г.

Ранее я рассказывал о сайте, который мне пришлось латать от дыр sql injection.  Залатал я их не мало и уже успокоился. Но как оказалось, покой нам только ...

Читать

А что? А вдруг прокатит?

Май 10, 2017 г.

Сегодня получил ещё одни пример того, как работает "социальная инженерия" в руках хакеров. Клиент переслал мне любопытное письмо, якобы от ру-центра, ...

Читать

 

Комментарии к «Генератор «удобных» паролей»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: