Количественная оценка стойкости парольной защиты.
Пусть А - мощность алфавита паролей (количество символов, которые могут быть использованы при составлении пароля. Например, если пароль состоит только из малых английских букв, то А=26).
L - длина пароля.
S = AL - число всевозможных паролей длины L, которые можно составить из символов алфавита А.
V- скорость перебора паролей злоумышленником.
Т - максимальный срок действия пароля.
Тогда, вероятность Р подбора пароля злоумышленником в течении срока его действия К определяется по следующей формуле.
Эту формулу можно использовать в обратную сторону для решения следующей задачи:
Задача. Определить минимальные мощность алфавита паролей А и длину паролей L, обеспечивающих вероятность подбора пароля злоумышленником не более заданной Р, при скорости подбора паролей V, максимальном сроке действия пароля Т.
Данная задача имеет неоднозначное решение. При исходных данных V, Т, Р однозначно можно определить лишь нижнюю границу S* числа всевозможных паролей. Целочисленное значение нижней границы вычисляется по формуле
где [ ] - целая часть числа, взятая с округлением вверх.
После нахождения нижней границы S* необходимо выбрать такие А и L для формирования S=AL, чтобы выполнялось неравенство (2).
S*<S = AL (2)
При выборе S, удовлетворяющего неравенству (2), вероятность подбора пароля злоумышленника (при заданных V и Т) будет меньше, чем заданная Р.
Необходимо отметить, что при осуществлении вычислений по формулам (1) и (2), величины должны быть приведены к одним размерностям.
Пример:
Исходные данные - Р=10~6, Т=1 дней = 1 неделя, К=10 паролей / минуту = 10*60*24*7=100800 паролей в неделю.
Тогда, S* =
Условию S*<AL удовлетворяют, например, такие комбинации А и L, как А=26, L=8 (пароль состоит из 8 малых символов английского алфавита), А=36, L=6 (пароль состоит из 6 символов, среди которых могут быть малые латинские буквы и произвольные цифры).
Для более высокой степени защищенности, задача выбора паролей для пользователей должна решаться не человеком, а некоторой программой - генератором паролей, так как при большом количестве пользователей человеку-администратору будет достаточно сложно формировать пароли, удовлетворяющие вышеперечисленным требованиям.
Иногда, генераторы паролей могут использовать при генерировании пароля элементы, входящие в идентификатор пользователя (отдельные его символы, количество символов и т.д.). В отдельных вариантах, пароль может формироваться даже целиком из идентификатора на основе некоторого алгоритма. В последнем случае, заданному идентификатору пользователя ставится в соответствие единственный пароль, который формируется на основе идентификатора. Данный вариант формирования пароля используется во многих коммерческих программах, требующих регистрации пользователя (например, WinZip).
2.4. Методические указания к выполнению задания № 1
1. В табл. 3 выбрать вариант задания.
2. Написать программу-генератор паролей, в соответствие с требованиями Вашего варианта. Программа должна выполнять следующие действия:
a) ввод идентификатора пользователя с клавиатуры. Данный идентификатор представляет собой последовательность символов a1 a2 ... aN, где N - количество символов идентификатора (может быть любым), аi- i -ый символ идентификатора пользователя;
b) формирование пароля пользователя Ь,Ь2...ЬМ для данного идентификатора, где М - количество символов пароля, соответствующее Вашему варианту, и вывод его на экран. Алгоритм получения символов пароля Ь, указан в перечне требований таблицы 3 для Вашего варианта.
Таблица 3
Варианты первого задания на формирование