Генератор паролей

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

 

Пароли для пользователей

Вы хорошо храните ключи от вашей квартиры? Стараетесь их не потерять, верно? Не даете в руки кому попало? Выбираете надежные замки? Пароль - это ключ от вашей информации, вашей почты, вашего компьютера. В конце концов от вашего аккаунта. Это важно! И относиться к выбору и хранению паролей следует серьезно.

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

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

  1. Узнавание пароля - Социальная инженерия
  2. Подбор по словарю - Словари бывают разные
  3. Полный перебор возможных комбинаций - BruteForce - метод Грубой Силы

Выбор пароля

Хороший пароль: Плохой пароль:
  1. длинный (8-12-15 символов)
  2. содержит как заглавные так и прописные латинские буКвЫ
  3. содержит цифры
  4. не найдется в словаре, это не имя и не русское слово(ckjdj) набранное в латинской раскладке
  5. никак не связан с владельцем
  6. меняется периодически или по мере надобности
  7. не является любимым - разные пароли для разных входов
  8. его возможно запомнить
  1. короткий (меньше 8 символов)
  2. все в одном регистре (все БОЛЬШИЕ плохо как и все маленькие)
  3. не содержит цифр
  4. найдется в словаре или это имя или русское слово(ckjdj) набранное в латинской раскладке
  5. как-либо связан с владельцем
  6. не меняется годами ни при каких обстоятельствах
  7. может быть любимым - один пароль на все
  8. его невозможно забыть


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

Любые слова из словарей не годятся. Даже специфические профессиональные термины - есть тематические словари - по ним подберут. Скорость перебора паролей иногда может достигать сотен тысяч и даже миллионов вариантов в секунду(!) на обычном ПК. Самый толстый словарь врядли содержит миллион слов. Значит такой пароль будет подобран за секунду!

Набирание русского слова в латинской раскладке также плохая идея. Между раскладками есть взаимнооднозначное соответствие - самый толстый русский словарь можно перевести в "латинский-тарабарский" и такой пароль подберется по этому словарю. Другое дело набирать смесь русских слов в латинской раскладке - 90сока наберется 90. Когда словарное слово непредсказуемо смешано с бредом, атака по словарю будет сильно затруднена. Только именно этот пароль не надо использовать! Он уже наверняка включен в крекерские словари, так как опубликован Яндексом, и наверняка есть "умники и умницы" взявшие его "себе". Не доверяйте совету написать слово, где ряд букв заменен цифрами MO5KVA (S заменена на 5). Дело в том таких замен мало: S-5, ч-ch-for-4, to-2, l-L-1, з-З-3, b-б-6, да пожалуй и все. У крекера будет шанс построить из обычного словаря, словарь с такими заменами в разных вариантах. Да это увеличит количество слов, но не на порядки. Значит атака на такие пароли по модифицированному словарю может оказаться успешной.

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


Ну конечно не используйте такие сочетания как 1, 123, 12345, qwerty, asdfgh, zxcvbn, xxxxxxa. В качестве пароля не может выступать ваш логин. Нельзя использовать слова типа god, sex, password, ok, yes - очень популярные пароли в очень далеком прошлом.

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

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

Хранение паролей

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

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

Никому и никогда не сообщайте ваш пароль. Даже очаровательной девушке! Неужели с ней больше не о чем говорить? Другой пользователь должен работать под своим аккаунтом и естественно своим паролем. Администратору ваш пароль не нужен. У админа всегда достаточно прав в системе и без знания вашего пароля.


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

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

Пароли для профессионалов

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

Вещи, которые все знают, но не всегда вспоминают

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

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

Например, пароли на отшаренные ресурсы в Windows-9x можно было подбирать посимвольно! Надо ли объяснять как это упрощало их подбор злоумышленником?

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

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

Узнавание пароля
социальная инженерия, подглядывание за набором, клавиатурные шпионы, разгильдяйство (бумажка с паролем на видном месте).
Угадывание - перебор по словарю
словари бывают разные (модифицированные, по слогам, правилам)
Подбор - полный перебор возможных комбинаций
BruteForce - метод Грубой Силы


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

Длина имеет значение

Две главных характеристики пароля - количество символов (длина) и количество вариантов символа в каждой позиции (алфавит).


Как известно из комбинаторики общее количество возможных паролей при заданной длине(L) и алфавите(A) вычисляется как (A**L). A в степени L. Время(T) за которое пароль заданной длины будет гарантированно подобран методом Грубой силы меньше или равно (A**L)/V, где V - скорость перебора. Итак, мы можем записать T<=(A**L)/V. Эту формулу обычно называют формулой Андерсона. Следующая таблица вычислена по этой формуле и наглядно демонстрирует зависимости указанных величин.



Время полного перебора всех возможных паролей заданного алфавита при скорости перебора 10,000,000 паролей в секунду

алфавит

6 символов

8 символов

10 символов

12 символов

26 (латиница все маленькие или все большие)

31 сек

5 часов 50 мин

163.5 суток

303 года

52 (латиница с переменным регистром)

33 мин

62 суток

458 лет

1,239,463 года

62 (латиница разного регистра плюс цифры)

95 мин

252 суток 17 часов

2,661 год

10,230,425 лет

68 (латиница разного регистра плюс цифры плюс знаки препинания .,;:!?)

2 часа 45 мин

529 суток

6703 года

30,995,621 лет

80 (латиница разного регистра плюс цифры плюс знаки препинания .,;:!? плюс скобки а алфавите 80 (все символы плюс не буквенно-цифровые) будут перебраны за 5 лет и 4 месяца. В то же время все варианты 10 символьного пароля на алфавите "только буквы", будут перебираться без малого в сто раз дольше - 458 лет. Если добавить цифры, то и вовсе 2,661 год.

 

Можно сделать вывод что, как и ожидалось от степенной, быстрорастущей функции, увеличение длины пароля всего на 2 символа дает в 500 раз (2661/5.32) больше вариантов, чем увеличение алфавита на 18 символов (с 62 до 80).


Если вы внимательно ознакомитесь с краткой таблицей заповедей по выбору пароля, то заметите, что в ней нет обычной рекомендации использовать символы кроме больших и малых латинских букв и цифр. Я советую создавать более длинные пароли, чем включать в них спецсимволы. Такие как .,:;()[]{}#$%

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

Я предпочитаю сделать пароль чуть длиннее, и при этом на "нормальном" парольном алфавите - 62 символа. Почему? Пароли не стоит произносить, но произносимость влияет на запоминаемость. А спецсимволы произносимость снижают.

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

Очень важно отметить что привычное место знака равно в указанной формуле по праву занимает оценка меньше или равно. Предположим злоумышленник как-либо узнал, что ваш пароль 9 символов в длину, и собирается последовательно перебрать все комбинации: aaaaaaaaa, aaaaaaaab, aaaaaaaac и так далее до zzzzzzzzz. Что будет если ваш пароль действительно aaaaaaaaa? Он найдется сходу! Не надо думать что в таком случае самый выгодный пароль zzzzzzzzz, так как он будет попробован последним. Алгоритм подбора легко изменить и возможно злоумышленник как раз начнет с конца.

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

Скорость перебора

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

Например в случае если скорость перебора 1,000 паролей в секунду времена в таблице надо умножить на 10,000. Если скорость перебора 15 млн. паролей в секунду, указанные времена нужно поделить на 1.5. К счастью скорости перебора в 100 млн. паролей в секунду на сегодняшнем оборудовании не встречаются. Так что сокращение максимального время нахождения пароля на порядок от указанного в таблице уже невозможно.

"К счастью" потому что все-таки парольные системы призваны защищать. Такие большие времена взлома будут вам очень не к счастью если вы забудете пароль к собственным данным.
 

Если злоумышленник не может предположить длину вашего пароля и вынужден будет перебирать все варианты паролей длиной скажем от 5 до 8 символов, то время такого полного перебора очевидно может быть оценено как сумма времен перебора 5-ти, 6-ти, 7-ми, и 8-ми символьных паролей. Из таблицы времен видно, что главное слагаемое в этом ряду - время перебора паролей максимальной выбранной длины. Остальные слагаемые иногда пренебрежимо малы.

Если вы сами окажетесь в роли злоумышленника, например забыв стойкий пароль на собственный архив, то затратив 252 суток и 17 часов на перебор всех 8 символьных паролей, вы без труда потратите еще 95 минут, на перебор всех 6 символьных. Кстати ситуация вполне реальна. На Zip архивах последних версий нет возможности обойти шифрование, а скорость полного перебора как раз 10 - 15 млн. паролей в секунду. 250 дней на восстановление забытого пароля... Не дай вам бог забыть стойкий пароль. А не стойкие вы не должны использовать.

Генераторы паролей, запоминаемых и нет

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

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

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

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

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

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