Проверка сложности пароля и его составление
Всем известно, что пароли бывают сложными и не очень. Например, alpine - не очень сложный пароль, и устанавливать его паролем пользователя root на миллионе подключенных к Интернету устройств -- по меньшей мере неразумно. 7_U]Ah"C же, напротив, достаточно сложный пароль. Это вам подтвердит любой продвинутый Интернет-пользователь, а некоторые даже смогут объяснить почему. Мол, и длиннее он, и символов в нем разных много: тут вам и заглавные и прописные буквы, и спец-символы всякие. В общем, сложный он, и уж точно сложнее пароля alpine .
А как сравнить сложность двух паролей, когда разница не так очевидна? Например, какой пароль сложнее: 7_U]Ah"C или xrmdCawGZ ? Хотя второй пароль, казалось бы, состоит из меньшего разнообразия символов, - букв разного регистра, - он длиннее на один символ. Достаточно ли этого, чтобы компенсировать скудность алфавита?
Алфавитом называется множество символов, из которых может состоять пароль. В нашем примере пароль 7_U]Ah"C составлен из алфавита, содержащего следующие символы:
- Латинские буквы в обоих регистрах: a-z, A-Z (26*2=52 шт.)
- Цифры: 0-9 (10 шт.)
- Специальные символы: ! , " , # , $ , % ... (32 шт.)
Сложность пароля (или криптоключа) выражается в т.н. коэффициенте трудоемкости шифра (work factor). Наиболее распространенное объяснение сути КТШ звучит так: это время и компьютерные ресурсы, необходимые для взлома пароля путем полного перебора (brute force ) всех его возможных вариантов. Из комбинаторики знаем, что количество комбинаций из M (размер алфавита) по N (длина пароля) равняется M**N (M в степени N).
Сложность пароля обычно называют его битностью . Говоря, что пароль K-битный , мы имеем в виду, что его сложность сравнима со сложностью пароля из K нулей и единиц (алфавита из всего двух символов: 0 и 1). Например, 7_U]Ah"C -- 52-битный пароль: K = log2 (94**8) = log2 (6095689385410816) ~ 52 .
У пароля xrmdCawGZ более скромный алфавит: из латинских букв в обоих регистрах, всего получается 26*2 = 52 символа. Сложность, соответственно, равна M**N = 52**9 = 2779905883635712 , а битность -- K = log2 (2779905883635712 ) ~ 51 . Следовательно, первый пароль приблизительно в два раза сложнее второго, что в общем не является преимуществом.
Возникает вопрос, зачем тогда нам алфавиты из всех этих кавычек, скобочек и прочих закорючек? Не легче ли просто выдумывать длинные пароли из более привычных символов? Ответ прост: не зачем. Лучше и надежнее будет запомнить длинную пассфразу, пусть в ней и не будет экзотических знаков. В настоящее время надежной считается пассфраза битности 128 и выше. То есть, фразы из 20 букв будет вполне достаточно.
Приветствую!
Несмотря на стремительное развитие технологий и появление альтернативных способов распознавания владельца, парольная защита не сдаёт своих позиций и остаётся весьма популярной и по сей день.
Пароль превратился в обыденность и используется для доступа к устройствам и интернет сервисам. И со временем их становится только больше. Сложившаяся ситуация, в конечном итоге, приводит к тому, что пользователи начинают использовать один и тот же пароль на используемых устройствах и сервисах.
Данный подход очень опасен и грозит серьёзными последствиями. Несомненно, скомпрометированный пароль от социальной сети не несёт таких последствий, как пароль от платёжной системы. Но если они будут идентичны, то вероятность того, что доступ будет получен и к остальным используемым сервисам очень высок.
Чтобы этого не произошло, пароли должны быть сложными (стойкими к перебору) и разными.
Принципы, используемые при создании пароля
На большинстве интернет ресурсов существуют минимальные правила для устанавливаемого пароля, которых, зачастую, недостаточно для создания действительно сложного пароля. Необходимо ещё помнить о том, что:
- Логин и пароль не должен быть идентичным
- Пароль не должен состоять из личной информации (дата рождения, телефон и т.д.)
- Пароль не должен состоять исключительно из слов
К примеру, чтобы подобрать пароль, состоящий из 6 цифр – необходимо перебрать всего 1 миллион комбинаций. Современный компьютер справится с этой задачей за считанные минуты. По этой же причине не стоит полагаться на пароли, состоящие исключительно из слов и их сочетаний. Такие пароли перебираются с использованием словарей популярных слов.
Не стоит полагаться и на пароли, которые состоят из слов с добавлением цифр. Они столь же подвержены взлому, хоть на это и требуется куда больше времени. Однако, в случае успешного взлома и понесённых потерь в этой связи, едва ли это будет иметь какое-то значение.
Для лучшего понимания, какой пароль является надёжным, а какой подвержен взлому, стоит обратиться к примерам. Данные цифры были получены с помощью сервиса проверки стойкости пароля.
- Дата рождения 12071996 – 0,003 секунды
- Имя с заглавной буквы Maksim и строчной maksim – не больше полусекунды
- Сочетание, состоящее из букв и цифр 7s3a8f1m2a – около суток
- На перебор следующего сочетания vSA-DFRLLz – 1 год
- Сочетание iu2374NDHSA)DD – 204 миллиона лет
Последние два пароля демонстрируют весьма высокую стойкость к взлому. Работа злоумышленника над взломом аналогичного по сложности пароля, скорее всего, закончится ничем.
Правильно генерируем пароль
С теоретической частью мы разобрались, теперь перейдём непосредственно к генерации стойкого и надёжного пароля.
При создании сложного и стойкого пароля существенную роль играет человеческий фактор. Трудности возникают на самом начальном этапе – придумывании сложного пароля, а после – его запоминания. Ведь комбинация разрозненных символов едва ли предрасполагает к скорому запоминанию.
С проблемой генерации стойкого пароля нам помогут он-лайн сервисы. Их довольно много, из популярных русскоязычных сервисов можно отметить:
Passwordist.com
Online-Generators.ru
PassGen.ru
Работают представленные сервисы по одному принципу, от вас лишь требуется указать какие символы необходимо использовать и выбрать длину генерируемого пароля.
Отдельной особенностью сервиса Passwordist.com можно отметить возможность задать количество создаваемых паролей и генерировать варианты с лучшей читабельностью за счёт исключения похожих символов, к примеру, B и 8.
Хранение паролей
Надёжные пароли сгенерированы, но это ещё полдела. Пароли необходимо правильно хранить, дабы никто посторонний не получил к ним доступ.
В этой связи варианты с записью в текстовый файл или на стикер с последующим прикреплением к монитору сразу отпадают.
Лучше и правильнее доверить конфиденциальную информацию менеджеру паролей.
Среди популярных решений можно отметить программу KeePass . Данная программа бесплатна и в тоже время весьма функциональна. Помимо прочего в ней присутствует генератор паролей, благодаря которому отпадает необходимость в использовании он-лайн генератора.
Для доступа к базе сохранённых паролей необходимо будет установить мастер-пароль. Для его создания можно, к примеру, воспользоваться методикой набора слов в другой раскладке, дабы создать сложный пароль, но при этом самому не забыть его.
Локальная база с паролями на вашем компьютере априори будет менее подвержена взлому, нежели общедоступные сервисы в интернет, так что здесь со сложностью перебарщивать не стоит.
Проверка стойкости паролей
Если вы желаете проверить уже имеющиеся или вновь сгенерированные пароли на стойкость к взлому, то для этого существуют несколько он-лайн сервисов:
1) How Secure Is My Password? После того, как вы введёте пароль в соответствую форму на сайте, вы увидите сколько времени понадобится на взлом методом перебора. Срок в несколько миллионов лет можно считать превосходным.
2) Kaspersky Lab: Secure Password Check Данный сервис создан отечественным разработчиком популярного антивирусного решения. Он также демонстрирует примерное время, которое необходимо на взлом пароля методом перебора.
3) 2IP: Стойкость пароля Сервис категорично выносит вердикт для проверяемого пароля – он может быть либо надёжным, либо нет.
Проверяя ваши пароли не стойкость, не забывайте, что отображаемые там результаты стойкости весьма условны. Они рассчитываются исходя из средней производительности домашнего компьютера, и едва ли будут аналогичными для мощного лабораторного суперкомпьютера.
Одно успокаивает – людям, имеющим доступ к такому оборудованию, едва ли будет интересен ваш пароль от сервиса электронной почты или мессенджера.
Краткий итог
В данной статье я попытался раскрыть все аспекты парольной защиты и объяснить, почему на первый взгляд надёжный пароль по сути таковым совершенно не является.
Надеюсь, что данная информация пригодится, и будут приняты меры, которые оградят от взлома и сопутствующих последствий.
Анализатор паролей SeaMonkey
Этот анализатор паролей разработан как часть проекта SeaMonkey – свободного набора программ для работы в Internet, созданного и поддерживаемого организацией Seamonkey Council, выделившейся из Mozilla Foundation. Сам механизм анализа пароля является частью . Алгоритм его работы заключается в вычислении веса пароля, основывающемся на данных о символах, из которых этот пароль составлен. Вес пароля вычисляется по следующей формуле:pwstrength = ((pwlength * 10) - 20) + (numeric * 10) + (numsymbols * 15) + (upper * 10) , где
- pwlength равно 5, если количество символов в пароле больше 5, или равно длине пароля;
- numeric равно 3, если количество цифр в пароле больше 3, в противном случае - равно количеству цифр;
- numsymbols считается равным 3, если число символов в пароле, отличных от букв, цифр и знаков подчёркивания, больше 3, иначе - количеству таких символов;
- upper равно 3, если количество букв в верхнем регистре больше 3, или количеству заглавных букв в противном случае.
Как видно, описанный анализатор не использует никаких проверок с использованием словарей, что делает его оценки несколько однобокими, и, вероятно, менее точными по сравнению с программами от Google и Microsoft, рассмотренными выше.
Password Strength Meter (jQuery plugin)
Ещё одним вариантом оценщика пароля, работающего на клиентской стороне, является Password Strength Meter () – плагин, разработанный для JavaScript фреймворка jQuery.Процедура оценки работает следующим образом. Известно множество качеств, обладая которыми пароль увеличивает или уменьшает свою стойкость к подбору. Каждое такое качество имеет свой строго определённый вес. Алгоритм заключается в поэтапной проверке наличия у пароля этих качеств и, в случае их присутствия происходит увеличения суммарного веса пароля, по величине которого после просмотра всех характеристик делается заключение об уровне стойкости пароля.
Рассмотрим полный алгоритм процедуры оценки пароля:
- Вес пароля устанавливается равным нулю.
- Если длина пароля менее 4 символов, то работа алгоритма заканчивается и возвращается результат “слишком короткий пароль”. Иначе переходим к шагу 3.
- Вес пароля увеличиваем на величину 4 * len , где len – длина пароля.
- Осуществляется попытка сжатия пароля по следующему алгоритму. Если в пароле встречается подстрока вида SS , где S – строка длины 1, то первая часть этой подстроки удаляется и сжатие продолжается с позиции начала второй части этой подстроки. Например, применяя этот алгоритм к строке aaabbcab , на выходе получим строку abcab . После выполнения операции сжатия вес пароля уменьшается на величину len - lenCompress , где len – длина пароля, а lenCompress – длина пароля после сжатия.
- Проводятся попытки сжатия пароля для случаев строк S длинной 2, 3 и 4 символов. Вес пароля уменьшается аналогично на величину len - lenCompress . Отметим, что сжатие каждый раз производится на проверяемом пароле, а не строках, полученных на предыдущих попытках.
- Если пароль содержит не меньше 3 цифр, то увеличить вес на 5.
- Если пароль содержит не менее 2 знаков, то увеличить вес на 5.
- Если пароль содержит буквы как в верхнем так и в нижнем регистрах, то увеличить вес пароля на 10.
- Если пароль содержит буквы и цифры, то увеличить вес пароля на 15.
- Если пароль содержит знаки и цифры, то увеличить вес на 15.
- Если пароль содержит буквы и знаки, то увеличить вес на 15.
- Если пароль состоит только из букв или только из цифр, то уменьшить вес пароля на 10.
- Если вес пароля меньше 0, то установить его равным 0. Если больше 100, то установить равным 100.
- Пароль, вес которого меньше 34, признаётся “слабым”. Если вес от 34 до 67, то пароль относится к категории “хороший”, а если более 67, то пароль считается “отличным”.
Доступна , демонстрирующая возможность данного плагина.
Cornell University - Password Strength Checker
Официальный on-line сервис , предоставляемый центром безопасности Корнелльского университета (Итака, США). С его помощью пользователи могут проверить свой пароль, заполнив web-форму и отправив его на проверку. Оценка пароля, как и в случае с сервисом Google, производится на стороне сервера.Реализация алгоритма не раскрыта для общего доступа, однако в описании сервиса указаны требования, которым должен удовлетворять пароль, чтобы проверка прошла успешно:
- пароль должен иметь длину не менее 8 символов;
- при составлении пароля используются символы по крайней мере трёх алфавитов из следующего списка:
- заглавные латинские буквы
- строчные латинские буквы
- цифры
- специальные знаки (такие как! * () : |)
- пароль не должен содержать слов из словаря;
- пароль не должен содержать последовательностей повторяющихся букв (например, ААА) и последовательностей вида abc, qwerty, 123, 321.
К такому подходу можно сделать следующее критическое замечания. Так пароль произвольно большой длины, например, какое-то предложение на естественном языке, не будет удовлетворять условию №3, что автоматически обеспечит паролю низкую оценку, хотя это, может быть, и не совсем оправдано.
Password Strength Tester
JavaScript анализатор паролей , который разрабатывается и поддерживается в рамках проекта Rumkin.com.Алгоритм оценки, реализованный в данном анализаторе, основывается на общих положениях теории информации. В качестве основной оценки пароля используется его энтропия, вычисление которой производится с использование таблиц диграмм для английского языка.
Под энтропией (информационной ёмкостью) пароля понимается мера случайности выбора последовательности символов, составляющих пароль, оцененная методами теории информации.
Информационная ёмкость E измеряется в битах и характеризует стойкость к подбору пароля методом полного перебора при условии отсутствия априорной информации о характере пароля и применении злоумышленником оптимальной стратегии перебора, при которой среднее ожидаемое количество попыток до наступления удачной равняется 2 E -1 . По утверждению создателя этого оценщика с целью уменьшения загружаемого на клиентскую сторону объёма информации все небуквенные символы были объединены в одну группу. Эта группа выступает неким универсальным символом, который и используется в частотной таблице. Как отмечает разработчик, при данном допущении значение получаемой энтропии будет меньше, нежели в случае, когда в частотной таблице все символы представлены раздельно.
В зависимости от полученного значения энтропии паролю присваивается соответствующая характеристика его стойкости.
Энтропия | Уровень стойкости |
У любого пользователя есть любимые сайты: там он общается, играет, смотрит видео, слушает музыку. Кто-то совершает покупки в интернете. Конечно, для удобства пользователя регистрируются на сайтах, чтобы иметь персональный доступ к определенным услугам. Один из наиболее важных атрибутов любой учетной записи - это, конечно, пароль. Как проверить надежность пароля, его сложность - я расскажу в сегодняшней статье!
Итак, в интернете существует один очень удобный сервис проверки надежности вашего пароля. Он так и называется .
Внимание! Алгоритм проверки пароля на сложность не подразумевает воровства Ваших паролей!
Все, что Вам нужно - просто ввести пароль в форму и узнать , через какой промежуток времени можно подобрать Ваш пароль. Кроме того, внизу Вы сможете увидеть подсказки по формированию пароля:
- пароль должен быть средним\длинным - не менее 8-10 символов
- желательно использовать различные символы, буквы и цифры в пароле вперемешку
- нежелательно использовать комбинации букв и цифр, которые идут подряд на клавиатуре
Для примера, пароль администратора сайта сайт вот такой:
Надеюсь, Ваши пароли теперь будут не менее надежными и не оставят никаких шансов злоумышленникам! Удачи!
Похожие новости:
Работа с дисками
Проверка пароля на надежность необходима, когда вы не уверены или сомневаетесь в его сложности и достаточной безопасности. К счастью, для этого существуют онлайн-сервисы, позволяющие проверить насколько надежен тот или иной пароль. Об этом по-подробнее.
Для чего проверять надежность пароля?
На самом деле проверка пароля на надежность необходима в первую очередь тем, кто не знает какими должны быть пароли. В статье были даны советы по созданию сложных, практически невзламываемых паролей. 3 онлайн-сервиса, рассмотренные в этой статье, помогут вам создать такой пароль.
Как проверить сложность пароля?
Существуют онлайн-сервисы, которые позволяют проверить сложность пароля, а также сколько требуется времени для его подбора злоумышленниками. Мы сегодня рассмотрим 3 таких сервиса, заслуживающих наибольшего внимания.
Сервис №1.
Данный сервис, как вы уже догадались, наверное, от Лаборатории Касперского, называется он - «Спасаем мир словом ». Сервис этот помогает создавать надежные пароли путем проверки их на сложность.
Сервис показывает, что данный пароль взламывается за 1 секунду. Так и есть, даже с помощью брутфорс (программа для подбора паролей) данный пароль переберут быстрей чем вы скажете «Ой!».
А вот более сложный пароль с использованием , цифр, и букв разного регистра:
Такой пароль будет очень сложно подобрать, в общем пароль надежный и в какой-то степени невзламываемый (неподбираемый).
Как видите сервис показывает за какое время могут взломать тот или иной пароль на различных компьютерах, это - ZX Spectrum (80-х годов), Mac Book Pro (2012), Тьяньхе-2 (суперкомпьютер, разработанный в Китае), а также с использованием сети компьютеров (ботнет).
Сервис №2.
Следующий сервис проверки надежности пароля от Microsoft. Находится он по этому адресу.
Здесь все просто, вводим нужный пароль и программа показывает насколько он надежен. Ничего лишнего. На степень надежности указывают 4 прямоугольника внизу. Один прямоугольник - это очень простой пароль, а четыре зеленых прямоугольника - значит пароль сложный.
Сервис №3.
Третий и последний сервис проверки сложности пароля на сегодня. Сайт так и называется - «Насколько надежен мой пароль? ».
Интерфейс на английском, но ничего страшного. В строке «Password» необходимо ввести пароль и сервис также покажет насколько он безопасный, этот ваш пароль.
На примере выше сервис указывает на то, что пароль хороший (об этом говорит зеленый фон сайта). Если фон сайта красный - то, значит и пароль ненадежный.
Внизу еще можно увидеть примерное время, необходимое для грубого подбора (брутфорс). А также, если пароль введенный вами не является сложным и надежным, то сервис укажет на это и даст советы по созданию более надежного пароля.
Конечно, невзламывамых паролей не бывает, данные сервисы лишь показывают, сколько придется взламывать подборщику (с помощью брутфорс). Но ведь, есть и другие способы взлома - социальная инженерия, использование кейлоггеров без ведома пользователя ПК и так далее. По этому, храните пароли с умом и никому их не передавайте.