Среди функциональных методов наиболее распространенными являются метод функционального преобразования пароля, а также метод «рукопожатия».
Метод функционального преобразования основан на использовании некоторой функции F, которая должна удовлетворять следующим требованиям:
• для заданного числа или слова X легко вычислить У= F(X);
• зная X и Y, сложно или невозможно определить функцию Y= F(X).
Необходимым условием выполнения данных требований является наличие в функции F(X) динамически изменяющихся параметров, например текущих даты, времени, номера дня недели или возраста пользователя.
Пользователю сообщается:
• исходный пароль — слово или число X, например число 31;
• функция F(X), например Y= (X mod 100) • D+ W, где (X mod 100) — операция взятия остатка от целочисленного деления X на 100, D — текущий номер дня недели, a W — текущий номер недели в текущем месяце;
• периодичность смены пароля, например каждый день, каждые
три дня или каждую неделю.
Паролями пользователя для последовательности установленных периодов действия одного пароля будут соответственно X, F(X), F(F(X)), F(F(F(X))) и т. д., т. е. для i-го периода действия одного пароля паролем пользователя будет Fi-1 (X). Поэтому для того чтобы вычислить очередной пароль по истечении периода действия используемого пароля, пользователю не нужно помнить начальный (исходный) пароль, важно лишь не забыть функцию парольного преобразования и пароль, используемый до настоящего момента времени.
|
|
С целью достижения высокого уровня безопасности функция преобразования пароля, задаваемая для каждого пользователя, должна периодически меняться, например каждый месяц. При замене функции целесообразно устанавливать и новый исходный пароль.
Согласно методу «рукопожатия» существует функция F, известная только пользователю и ВС. Данная функция должна удовлетворять тем же требованиям, которые определены для функции, используемой в методе функционального преобразования.
При входе пользователя в ВС системой защиты генерируется случайное число или случайная последовательность символов X и вычисляется функция F(X), заданная для данного пользователя.
Далее X выводится пользователю, который должен вычислить F'(X) и ввести полученное значение в систему. Значения F(X) и F'(X) сравниваются системой и если они совпадают, то пользователь получает доступ в ВС.
Для высокой безопасности функцию «рукопожатий» целесообразно циклически менять через определенные интервалы времени, например устанавливать разные функции для четных и нечетных чисел месяца.
Достоинством метода «рукопожатия» является то, что никакой конфиденциальной информации между пользователем и ВС не передается. По этой причине эффективность данного метода особенно велика при его применении в вычислительных сетях для подтверждения подлинности пользователей, пытающихся осуществить доступ к серверам или центральным ЭВМ.
|
|
В некоторых случаях может оказаться необходимым пользователю проверить подлинность той ВС, к которой он хочет осуществить доступ. Необходимость во взаимной проверке может понадобиться и когда два пользователя ВС хотят связаться друг с другом по линии связи. Методы простых паролей, а также методы модификации схем простых паролей в этом случае не подходят. Наиболее подходящим здесь является метод «рукопожатия». При его использовании ни один из участников сеанса связи не будет получать никакой секретной информации.