ЛАБОРАТОРНАЯ РАБОТА №2 «ПОДСИСТЕМЫ ПАРОЛЬНОЙ АУТЕНТИФИКАЦИИ ПОЛЬЗОВАТЕЛЕЙ. ГЕНЕРАТОРЫ ПАРОЛЕЙ. ОЦЕНКА СТЕПЕНИ СТОЙКОСТИ ПАРОЛЬНОЙ ЗАЩИТЫ»
Цель - исследование парольных подсистем аутентификации пользователей. Реализация простейшего генератора паролей, обладающего требуемой стойкостью к взлому.
Теоретический материал
Под идентификацией пользователя понимают присвоение ему некоторого несекретного идентификатора, который он должен предъявить СЗИ при осуществлении доступа к объекту. В качестве идентификатора может быть использован, например, login, физическое устройство и т.д.
Под аутентификацией понимают подтверждение пользователем своего идентификатора, проверка его подлинности. Данный этап необходим для устранения фальсификации идентификатора, предотвращения несанкционированного доступа в случае утери пользователем идентификатора.
Подсистемы идентификации и аутентификации пользователя играют очень важную роль для систем защиты информации.
Стойкость подсистемы идентификации и аутентификации пользователя в системе защиты информации (СЗИ) во многом определяет устойчивость к взлому самой СЗИ. Данная стойкость определяется гарантией того, что злоумышленник не сможет пройти аутентификацию, присвоив чужой идентификатор или украв его.
Парольные системы идентификации/аутентификации является одними из основных и наиболее распространенных в СЗИ методов пользовательской аутентификации в силу их простоты и прозрачности. В данном случае информацией, аутентифицируюЛабораторная работа №3 «Методы криптографической защиты...» щей пользователя, является некоторый секретный пароль, известный только легальному пользователю.
Парольная аутентификация пользователя является, как правило, передним краем обороны СЗИ. В связи с этим модуль аутентификации по паролю наиболее часто подвергается атакам со стороны злоумышленника. Цель злоумышленника в данном случае - подобрать аутентифицирующую информацию (пароль) легального пользователя.
Методы парольной аутентификации пользователя являются наиболее простыми методами аутентификации и при несоблюдении определенных требований к выбору пароля являются достаточно уязвимыми.
Основными минимальными требованиями к выбору пароля и к подсистеме парольной аутентификации пользователя являются следующие.
К паролю:
- 1. Минимальная длина пароля должна быть не менее 6 символов.
- 2. Пароль должен состоять из различных групп символов (малые и большие латинские буквы, цифры, специальные символы ‘(’, ‘)’> и Т-Д-)-
- 3. В качестве пароля не должны использоваться реальные слова, имена, фамилии и т.д.
К подсистеме парольной аутентификации '.
- 1. Администратор СЗИ должен устанавливать максимальный срок действия пароля, после чего он должен быть сменен.
- 2. В подсистеме парольной аутентификации должно быть установлено ограничение числа попыток ввода пароля (как правило, не более 3).
- 3. В подсистеме парольной аутентификации должна быть установлена временная задержка при вводе неправильного пароля.
Как правило, для помощи администратору безопасности в формировании паролей подчиненных ему пользователей, удовлетворяющих перечисленным требованиям к паролям, используются особые программы - автоматические генераторы паролей пользователей.
При выполнении перечисленных требований к паролям и к подсистеме парольной аутентификации единственно возможным методом взлома данной подсистемы злоумышленником является прямой перебор паролей (brute forcing). В данном случае количественная оценка стойкости парольной защиты осуществляется следующим образом.
Количественная оценка стойкости парольной защиты
Пусть А - мощность алфавита паролей (количество символов, которые могут быть использованы при составлении пароля. Например, если пароль состоит только из малых английских букв, то А=26).
L - длина пароля.
S = AL - число всевозможных паролей длины L, которые можно составить из символов алфавита А.
V - скорость перебора паролей злоумышленником.
Т - максимальный срок действия пароля.
Тогда вероятность Р подбора пароля злоумышленником в течение срока его действия V определяется по следующей формуле:
~ S ~ AL '
Эту формулу можно использовать в обратную сторону для решения следующей задачи.
Задача. Определить минимальные мощность алфавита паролей А и длину паролей L, обеспечивающих вероятность подбора пароля злоумышленником не более заданной Р, при скорости подбора паролей V, максимальном сроке действия пароля Т.
Данная задача имеет неоднозначное решение. При исходных данных V, Т, Р однозначно можно определить лишь нижнюю границу 5* числа всевозможных паролей. Целочисленное значение нижней границы вычисляется по следующей формуле:
s* =
V *Т
(2)
где [ J - целая часть числа, взятая с округлением вверх.
После нахождения нижней границы 5* необходимо выбрать такие А и L для формирования S=AL, чтобы выполнялось неравенство (2).
S*L.
(3)
При выборе 5, удовлетворяющего неравенству (2), вероятность подбора пароля злоумышленника (при заданных V и Т) будет меньше, чем заданная Р.
Необходимо отметить, что при осуществлении вычислений по формулам (1) и (2) величины должны быть приведены к одним размерностям.
Пример
Исходные данные - Р=10'6, Т=7 дней = 1 неделя, У=10 па
ролей / минуту = 10*60*24*7=100800 паролей в неделю.
Тогда, s* —
100800*1
ГсР
= 1008*108-
Задание на лабораторную работу
- 1. В таблице 1 найти для вашего варианта значения характеристик Р, V, Т, а также группы символов, используемых при формировании пароля.
- 2. Вычислить мощность алфавита паролей А, соответствующую Вашему варианту.
- 3. Вычислить по формуле (1) нижнюю границу 5* для заданных Р, V, Т.
- 4. Зная мощность алфавита паролей А, вычислить минимальную длину пароля L, при котором выполняется условие (2).
- 5. Используя программу Simple Passwords задать исходные и вычисленные характеристики парольного генератора, соответствующие Вашему варианту. Построенный генератор будет обладать стойкостью ко взлому не менее заданной Р.
- 6. Сформировать в парольном генераторе Simple Passwords 20 паролей, которые внести в отчет (пример оформления отчета приведен в конце лабораторной работы).
- 7. Реализовать на языке программирования программу, реализующую генератор паролей с характеристиками, соответствующими Вашему варианту. Программа, аналогично Simple Passwords, должна формировать случайную последовательность символов длины L, должны использоваться символы из тех групп, которые выданы Вашему варианту.
- 8. Оформить в тетради отчет по лабораторной работе согласно примеру, приведенному на последней странице.
Замечания. При реализации программы могут быть полезны следующие функции:
- 1. RANDOM(N) - возвращает случайное число 0 < г < N.
- 2. RANDOMIZE - сбрасывает начальное состояние датчика случайных чисел случайным образом.
3. CHR(X) - возвращает символ с ASCII кодом X. Коды различных групп символов приведены ниже.
Коды символов: коды английских символов: «А»=65,..., «Z»=90, «а»=97,..., «г» =122; коды цифр: «О» = 48, «9» = 57; коды специальных символов:! - 33, “ -34, # - 35, $-36, % - 37, &-38, ‘ - 39, (- 40, ) - 41, * - 42; коды русских символов : «А» — 128, ... «Я» - 159, «а» — 160,..., «п» - 175, «р» -224,..., «я» - 239.
Контрольные вопросы
- 1. Что понимается под идентификацией и аутентификацией пользователя?
- 2. Чем определяется стойкость к взлому подсистемы идентификации и аутентификации пользователя?
- 3. Перечислите основные требования к выбору пароля и к реализации подсистемы парольной аутентификации пользователя.
- 4. Как количественно оценить стойкость подсистемы парольной аутентификации к взлому?
- 5. Как изменится стойкость к взлому подсистемы парольной аутентификации при увеличении характеристик Р, V, 7? При их уменьшении?
Таблица 1
Варианты заданий для выполнения лабораторной работы
Вариант |
Р |
V |
Т |
Используемые группы символов пароля |
1 |
10’4 |
15 паро-лей/мин |
2 недели |
|
Продолжены табл. 1
2 |
10’5 |
3 паро-лей/мин |
10 дней |
|
3 |
10'6 |
10 паро-лей/мин |
5 дней |
|
4 |
10'7 |
11 паро-лей/мин |
6 дней |
|
5 |
10’4 |
100 паро-лей/день |
12 дней |
|
6 |
10'5 |
10 паро-лей/день |
1 месяц |
|
7 |
10'6 |
20 паро-лей/мин |
3 недели |
|
Продолжены табл. 1
8 |
10-' |
15 паро-лей/мин |
20 дней |
|
9 |
10'4 |
3 паро-лей/мин |
15 дней |
|
10 |
10’5 |
10 паро-лей/мин |
1 неделя |
|
11 |
10‘6 |
11 паро-лей/мин |
2 недели |
|
12 |
10’7 |
100 паро-лей/день |
10 дней |
|
13 |
10‘4 |
10 паро-лей/день |
5 дней |
|
Продрлжние табл. 1
14 |
10’5 |
20 паро-лей/мин |
6 дней |
|
15 |
10'6 |
15 паро-лей/мин |
12 дней |
|
16 |
10'7 |
3 паро-лей/мин |
1 ме сяц |
|
17 |
10’4 |
10 паро-лей/мин |
3 недели |
|
18 |
10'5 |
11 паро-лей/мин |
20 дней |
|
19 |
10'6 |
100 паро-лей/день |
15 дней |
|
Продолжение табл. 1
20 |
10-' |
10 паро-лей/день |
1 неделя |
|
21 |
10'4 |
20 паро-лей/мин |
2 недели |
|
22 |
10’5 |
15 паро-лей/мин |
10 дней |
|
23 |
10‘6 |
3 паро-лей/мин |
5 дней |
|
24 |
10’7 |
10 паро-лей/мин |
6 дней |
|
25 |
10‘4 |
11 паро-лей/мин |
12 дней |
|
Окончание табл. 1
26 |
10’5 |
100 паро-лей/день |
1 месяц |
|
27 |
10'6 |
10 паро-лей/день |
3 недели |
|
28 |
10'7 |
20 паро-лей/мин |
20 дней |
|
29 |
10’4 |
15 паро-лей/мин |
15 дней |
|
30 |
10'5 |
3 паро-лей/мин |
1 неделя |
|
Пример оформления отчета по лабораторной работе
ЛАБОРАТОРНАЯ РАБОТА №2
НАЗВАНИЕ ЛАБОРАТОРНОЙ РАБОТЫ
ВЫПОЛНИЛ: ст. гр...... ФИО
ВАРИАНТ № ...
ЦЕЛЬ ЛАБОРАТОРНОЙ РАБОТЫ
Р=...
V=...
Т=...
S*= (привести вычисления) = ....
В качестве алфавита символов, используемых при генерации пароля были использованы следующие наборы . Мощность данного набора А =.
При минимальном значении L=... выполняется условие
s*l.
Примеры паролей, сгенерированных программой Simple Passwords'.
- 1)...
- 2) ...
- 3) ...
- 6)...
ТЕКСТ ПРОГРАММЫ
Примеры сгенерированных программой паролей:
- 1).....
- 2) .....
- 3) .....
- 4) .....
- 5) .....