|
Сложность пароля. Сложность пароля
Сложность пароля Сло́жность (или сила, стойкость) паро́ля — мера оценки времени, которое необходимо затратить на угадывание пароля или его подбор каким-либо методом, например, методом полного перебора. Оценка того, как много попыток (времени) в среднем потребуется взломщику для угадывания пароля. Другое определение термина — функция от длины пароля, его запутанности и непредсказуемости.
Слабый пароль — пароль, который может быть легко угадан или подобран методом полного перебора. Сильный пароль — пароль, который трудно угадать и долго подбирать методом полного перебора.
Использование Использование сложных паролей увеличивает время, необходимое взломщику для подбора пароля, не отменяет необходимости использования других мер безопасности. Эффективность пароля заданной силы зависит от проектирования и реализации программного обеспечения систем аутентификации, в частности, от того, насколько быстро система аутентификации будет отвечать атакующему при его попытках подобрать пароль, и как надёжно хранится и передаётся информация о пароле. Риски также представлены некоторыми способами взлома безопасности компьютера, не относящимися к сложности пароля. Это такие методы как фишинг, кейлоггинг, телефонная прослушка, социальная инженерия, поиск полезной информации в мусоре, атака по сторонним каналам, уязвимости в программном обеспечении. Определение сложности пароля Существуют два фактора, определяющих сложность пароля:
лёгкость, с которой атакующий может проверить истинность угадываемого пароля; среднее количество попыток, которые атакующий должен предпринять, чтобы найти правильный пароль.
Первый фактор определяется тем, как пароль хранится, и тем, для чего он используется. Второй фактор определяется длиной пароля, набором используемых символов и тем, как пароль был создан.
Проверка предположительного пароля на правильност Самый очевидный способ проверить догадку — попытаться использовать угадываемый пароль для получения допуска к защищённому паролем ресурсу. Однако этот способ может быть медленным или вообще невозможным, поскольку достаточно часто системы задерживают или блокируют доступ к аккаунту после нескольких попыток ввода неверных паролей. Создание пароля Пароли создаются или автоматически (с использованием генераторов случайных чисел), или человеком. Стойкость пароля к атаке методом полного перебора может быть вычислена точно. В большинстве случаев пароли создаются людьми, например, во время создания аккаунтов для компьютерных систем или веб-сайтов. Люди создают пароли, руководствуясь советами или набором правил, но при этом склонны следовать шаблонам, что играют на руку атакующему. Списки часто выбираемых паролей распространены для использования в программах угадывания паролей. Словарь любого языка является таким списком, поэтому словарные слова считаются слабыми паролями. Энтропия как мера сложности пароля Сложность пароля в компьютерной индустрии обычно оценивают в терминах информационной энтропии (понятие из теории информации), измеряемой в битах. Вместо количества попыток, которые необходимо предпринять для угадывания пароля, вычисляется логарифм по основанию 2 от этого числа, и полученное число называется количеством «битов энтропии» в пароле. Пароль со, скажем, 42-битной сложностью, посчитанной таким способом, будет соответствовать случайно сгенерированному паролю длиной в 42 бита. Другими словами, чтобы методом полного перебора найти пароль с 42-битной сложностью, необходимо создать 242 паролей и попытаться использовать их; один из 242 паролей окажется правильным. Согласно формуле при увеличении длины пароля на один бит количество возможных паролей удвоится, что сделает задачу атакующего в два раза сложнее. В среднем атакующий должен будет проверить половину из всех возможных паролей до того, как найдет правильный. Случайные пароли Случайные пароли создаются путём выбора случайным образом какого-либо количества символов из какого-либо набора таким образом, что выбор любого символа из набора равновероятен. Сложность случайного пароля зависит от энтропии используемого генератора случайных чисел; зачастую используются генераторы псевдослучайных чисел. Множество публично-доступных генераторов паролей используют генераторы случайных чисел, находящихся в программных библиотеках, которые предлагают ограниченную энтропию. Однако, большинство современных операционных систем имеют криптографически сильные генераторы случайных чисел, которые пригодны для генерации пароля. Для создания случайного пароля также можно использовать обычные игральные кости. Программы, предназначенные для создания случайных паролей, часто имеют свойство гарантировать, что результат будет удовлетворять местной политике паролей; например, всегда создавая пароль из смеси букв, чисел и специальных символов.
Алгоритм оценки стойкости пароля от Microsoft
Уровень стойкости пароля дается в диапазоне [0; 4] в зависимости от вычисляемой «битовой стойкости» bits
bits ≥ 128 — 4 128 < bits ≥ 64 — 3 64 < bits ≥ 56 — 2 bits < 56 — 1 пустой пароль — 0
Для оценки «битовой стойкости» используется формула
bits = log(charset)*(length/log(2))
где
bits — битовая стойкость log — натуральный логарифм length — длина пароля charset — суммарный размер множеств для каждого из типов ниже, если они присутствуют в строке:
малые английские буквы [abcdefghijklmnopqrstuvwxyz]; заглавные английские буквы [ABCDEFGHIJKLMNOPQRSTUVWXYZ]; специальные символы [ `!@#$%^&*()-_+="]; цифры [1234567890]; остальные символы Формула оценки сложности пароля
N - число символов в пароле Nu - число уникальных символов (с учётом регистра) Ns - число специальных символов (!,",*,?,},…) Nr - число букв, регистр которых отличается от предыдущей (регистр цифр и спецсимволов — нейтральный (не верхний и не нижний)) Nc - число идущих подряд символов одного типа (буквы, цифры, спецсимволы) logNNu≤1 - коэффициент повторений, равен единице, если все символы уникальны
https://password.kaspersky.com/ru/
Рекомендации по созданию сложного пароля Общие рекомендации Рекомендации по выбору хорошего пароля составлены для того, чтобы сделать пароль более стойким к разнообразным ухищрениям взломщиков[7][8].
Минимально рекомендуемая длина пароля — в пределах от 12 до 14 символов. Увеличение длины пароля всего на 2 символа даёт в 500 раз больше вариантов, чем увеличение алфавита на 18 символов. Рекомендуется генерировать случайные пароли, если это возможно. Рекомендуется избегать использования паролей, содержащих словарные слова («password»), повторяющиеся наборы букв («passpass»), буквенные или числовые последовательности («aaa», «123»), ники, имена (собственное имя, имена родственников), клички домашних животных, романтические отсылки (нынешние или прошлые), биографическую информацию. Рекомендуется включать в пароль цифры и иные символы, если это разрешено системой. Рекомендуется использовать как прописные, так и строчные буквы, когда это возможно. Однако, см. пункт 1, может быть лучше добавить к паролю слово, чем каждый раз нажимать и отпускать в нужных местах клавишу Shift. Рекомендуется избегать использования одного пароля для различных сайтов или целей.
Некоторые рекомендации советуют никуда не записывать пароль, в то время как другие, отмечая существование большого количества защищённых паролем систем, к которым пользователь должен иметь доступ, одобряют идею записывания паролей, если, конечно, список паролей будет находиться в надёжном месте.
Политика паролей
Политика создания паролей — набор правил, призванных:
помочь пользователям сочинить пароль, который сложно подобрать; давать пользователям рекомендации в отношении обращения с их паролями.
Некоторые политики требуют, чтобы:
любой пароль, который был потерян или дискредитирован и, возможно, использовался дольше определённого времени, был изменён; любой пароль содержал определённые в шаблоне символы.
Установка интервала времени, в течении которого пароль может использоваться, служит для предоставления гаратий того, что:
атакующему не хватит времени на взлом пароля; например, если время взлома пароля оценивается в 100 дней, то срок годности пароля устанавливается равным менее 100 дней; время доступа атакующего к системе в случае, если пароль был дискредитирован, будет ограничено.
Алгоритм 2
Для анализа стойкости используются следующие показатели:
Длина пароля Количество используемых типов символов: заглавные латинские, малые латинские, цифры, спец-символы Отсутствие слова в словаре (слова длинной от 3 до 16 символов) с учетом подобия символов. Близость слова к словарному с определенной вероятностью.
Стойкость пароля подразделяется на пять классов
Отличный (Best) —
Длина пароля — не менее 14. Количество используемых различных типов символов — не менее 3. В словаре отсутствует близкое с вероятностью 0.6 слово с учетом подобия символов.
Стойкий (Strong) —
Длина пароля — не менее 8. Количество используемых различных типов символов — не менее 3. В словаре отсутствует близкое с вероятностью 0.6 слово с учетом подобия символов.
Средний (Medium) —
Длина пароля — не менее 8. Количество используемых различных типов символов — не менее 2. Слово отсутствует в словаре с учетом подобия символов.
Слабый (Weak) —
пароль состоит как минимум из одного произвольного символа.
Никакой —
Задание.
Создайте программное средство для определения уровня сложности пароля используя один из алгоритмов |
|
|