Решение прямой и обратной задачи
В качестве иллюстрации к таблице 7.1. рассмотрим задачу на определение минимальной мощности пространства паролей (зависящей от параметров А и L) в соответствии с заданной вероятностью подбора пароля в течение его срока действия и обратную задачу.
Прямая задача
Задана вероятность Р=10-6. Необходимо найти минимальную длину пароля, которая обеспечит его стойкость в течение одной недели непрерывных попыток подобрать пароль при заданном значении мощность алфавита А.
Пусть скорость интерактивного подбора паролей V=10 паролей/мин. Тогда в течение недели можно перебрать
10*60*24*7= 100800 паролей (в 1 неделе 7 суток, в сутках 24 часа, в часе 60 мин)
Далее, учитывая, что параметры S, V, Т и Р связаны соотношением
P=V*T/S,
получаем: S=100*800/10-6 = 1,008 * 1011 ≈ 1011.
Если алфавит содержит А=26 символов, то применяя формулу (4) получим минимальную длину пароля:
L = ln(1011) / ln26 = 11∙ln10 / ln 26 = 7,77 ≈ 8
Таким образом, минимальная длина пароля, которая обеспечит его стойкость в течение одной недели непрерывных попыток со скоростью 10 паролей в минуту для алфавита, состоящего из 26 букв составляет 8 символов.
Обратная задача
Пусть скорость перебора паролей V = 100 000 = 105 паролей в секунду. Срок действия (жизни) пароля T = 30 суток. Длина пароля L = 8 символов.
Согласно формулам (1) и (2) рассчитаем соответствующие вероятности подбора пароля при мощности алфавита A равного 36 символам.
Вероятность подбора пароля вычисляется по формуле (2) P = VT/S. Поскольку V и T заданы, то для определения вероятности не хватает величины мощности пространства паролей S. Для нахождения величины S будем использовать формулу (1) S = AL. Для условий задачи величина S будет следующей:
S =368 = 2821109907456 = 2,8×1012 ≈ 3×1012.
Используя найденное значение S, находим вероятность подбора пароля для заданных условий задачи:
P = (105×30 × 24 × 60 × 60) / (3×1012) = 864×10-4 ≈ 9×10-2 = 0,09
Таким образом, получаем значение вероятности подбора пароля при длине пароля 8 символов в течении 30 суток со скоростью 100 000 паролей в секунду составляет 9%.
Естественно, существуют способы повышения стойкости пароля. Для удобства чтения они сведены в таблицу 7.2.
Таблица 7.2. Требования к выбору и использованию паролей
Требования к выбору пароля |
Получаемый эффект |
Установление максимальной длины пароля |
Усложняет задачу злоумышленнику при попытке подсмотреть пароль или подобрать пароль методом «тотального опробования» |
Использование в пароле различных групп символов |
Усложняет задачу злоумышленнику при попытке подобрать пароль методом «тотального опробования» |
Проверка и отбраковка пароля по словарю |
Усложняет задачу злоумышленнику при попытке подобрать пароль по словарю |
Установление максимального срока действия пароля |
Усложняет задачу злоумышленнику при попытке подобрать пароль методом «тотального опробования», в том числе без непосредственного обращения к системе зашиты (режим off-line) |
Установление минимального срока действия пароля |
Препятствует попыткам пользователя заменить пароль на старый после его смены по предыдущему требованию |
Введение журнала истории паролей |
Обеспечивает дополнительную степень защиты по предыдущему требованию |
Применение эвристического алгоритма, бракующего пароли на основании данных журнала истории |
Усложняет задачу злоумышленнику при попытке подобрать пароль по словарю или с использованием эвристического алгоритма |
Ограничение числа попыток ввода пароля |
Препятствует интерактивному подбору паролей злоумышленником |
Поддержка режима принудительной смены пароля пользователя |
Обеспечивает эффективность требования, ограничивающего максимальный срок действия пароля |
Использование задержки при вводе неправильного пароля |
Препятствует интерактивному подбору паролей злоумышленником |
Запрет на выбор пароля самим пользователем и автоматическая генерация паролей |
Исключает возможность подобрать пароль по словарю. Если алгоритм генерации известен злоумышленнику, последний может подбирать пароли только методом «тотального опробования» |
Принудительная смена пароля при первой регистрации пользователя в системе |
Защищает от неправомерных действий системного администратора, имеющего доступ к паролю в момент создания учетной записи |