Исследование алгоритмов оценки стойкости пароля

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



оку abcab. После выполнения операции сжатия вес пароля уменьшается на величину , где len - длина пароля, а lenCompress - длина пароля после сжатия.

.Проводятся попытки сжатия пароля для случаев строк S длинной 2, 3 и 4 символов. Вес пароля уменьшается аналогично на величину .

Отметим, что сжатие каждый раз производится на проверяемом пароле, а не строках, полученных на предыдущих попытках.

6.Если пароль содержит не меньше 3 цифр, то увеличить вес на 5.

7.Если пароль содержит не менее 2 знаков, то увеличить вес на 5.

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

.Если пароль содержит буквы и цифры, то увеличить вес пароля на 15.

10.Если пароль содержит знаки и цифры, то увеличить вес на 15.

11.Если пароль содержит буквы и знаки, то увеличить вес на 15.

.Если пароль состоит только из букв или только из цифр, то уменьшить вес пароля на 10.

.Если вес пароля меньше 0, то установить его равным 0. Если больше 100, то установить равным 100.

.Пароль, вес которого меньше 34, признаётся слабым. Если вес от 34 до 67, то пароль относится к категории хороший, а если более 67, то пароль считается отличным.

Рисунок 2.1 - Пример оценки стойкости пароля с использованием

Password Strength Meter

2.3 Cornell University - Password Strength Checker

Официальный on-line сервис , предоставляемый центром безопасности Корнелльского университета (Итака, США). С его помощью пользователи могут проверить свой пароль, заполнив web-форму и отправив его на проверку. Оценка пароля, как и в случае с сервисом Google, производится на стороне сервера.

Реализация алгоритма не раскрыта для общего доступа, однако в описании сервиса указаны требования, которым должен удовлетворять пароль, чтобы проверка прошла успешно:

1.Пароль должен иметь длину не менее 8 символов.

2.При составлении пароля используются символы, по крайней мере, трёх алфавитов из следующего списка.

-заглавные латинские буквы;

-строчные латинские буквы;

-цифры;

-специальные знаки (такие как ! * () : |);

3.пароль не должен содержать слов из словаря;

4.пароль не должен содержать последовательностей повторяющихся букв (например, ААА) и последовательностей вида abc, qwerty, 123, 321.

Эти требования должны строго выполняться. Если хотя бы какое-то требование не выполняется, то пароль признаётся ненадёжным.

2.4 Password Strength Tester

JavaScript анализатор паролей, который разрабатывается и поддерживается в рамках проекта Rumkin.com.

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

Под энтропией (информационной ёмкостью) пароля понимается мера случайности выбора последовательности символов, составляющих пароль, оцененная методами теории информации.

Информационная ёмкость E измеряется в битах и характеризует стойкость к подбору пароля методом полного перебора при условии отсутствия априорной информации о характере пароля и применении злоумышленником оптимальной стратегии перебора, при которой среднее ожидаемое количество попыток до наступления удачной равняется . По утверждению создателя этого оценщика, с целью уменьшения загружаемого на клиентскую сторону объёма информации все небуквенные символы были объединены в одну группу. Эта группа выступает неким универсальным символом, который и используется в частотной таблице.

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

В зависимости от полученного значения энтропии паролю присваивается соответствующая характеристика его стойкости.

Таблица 2.1 - Зависимость уровня стойкости пароля от значения

энтропии

ЭнтропияУровень стойкостиКомментарий 128 битСверхнадёжныйПароль обладает очень большой стойкостью к подбору.

В плагине Password Strength Meter для jQuery при оценке осуществляется выявление паролей построенных путём повторения групп символов. Особо следует отметить проект Password Strength Tester, в котором используется математическая модель, построенная на основе положений теории информации.

Необходимо сказать, что в рассмотренных программных решениях существуют ряд проблем, не позволяющих считать оценку уровня надёжности пароля полной. Так on-line анализаторы, реализованные посредствам iенариев JavaScript, выполняемых на клиентской стороне, ограничены в своих ресурсах, что исключает возможность осуществлять проверку по словарям больших объёмов. В тоже время вариант проверки пароля на стороне сервера хотя и решает проблему использования словарей, однако оставляет открытым вопрос о надёжности передачи и, главное, защищённости оцениваемого пароля от несанкционированного использования. В последнем случае пользователь может надеяться лишь на то, что обработку пароля проводит сервер, выполняющий лишь чистые операции, а не служащий поставщиком информации для злоумышле?/p>