Традиционно каждый законный пользователь компьютерной системы получает идентификатор и/или пароль. В начале сеанса работы пользователь предъявляет свой идентификатор системе, которая затем запрашивает у пользователя пароль.
Простейший метод подтверждения подлинности с использованием пароля основан на сравнении представляемого пользователем пароля PA с исходным значением PA', хранящимся в компьютерном центре (рис. 5.1). Поскольку пароль должен храниться в тайне, он должен шифроваться перед пересылкой по незащищенному каналу. Если значения PA и PA' совпадают, то пароль PA считается подлинным, а пользователь - законным [123].
Если кто-нибудь, не имеющий полномочий для входа в систему, узнает каким-либо образом пароль и идентификационный номер законного пользователя, он получает доступ в систему.
Рисунок 5.1 – Схема простой аутентификации с помощью пароля
Иногда получатель не должен раскрывать исходную открытую форму пароля. В этом случае отправитель должен пересылать вместо открытой формы пароля отображение пароля, получаемое с использованием односторонней функции a (×) пароля. Это преобразование должно гарантировать невозможность раскрытия противником пароля по его отображению, так как противник наталкивается на неразрешимую числовую задачу.
|
|
Например, функция a (×) может быть определена следующим образом:
a (Р) = EР (ID),
где Р - пароль отправителя,
ID - идентификатор отправителя,
EР - процедура шифрования, выполняемая с использованием пароля Р в качестве ключа.
Такие функции особенно удобны, если длина пароля и ключа одинаковы. В этом случае подтверждение подлинности с помощью пароля состоит из пересылки получателю отображения a(Р) и сравнения его с предварительно вычисленным и хранимым эквивалентом a' (Р).
На практике пароли состоят только из нескольких букв, чтобы дать возможность пользователям запомнить их. Короткие пароли уязвимы к атаке полного перебора всех вариантов. Для того, чтобы предотвратить такую атаку, функцию a(Р) определяют иначе, а именно:
a (Р) = E Р Å К (ID),
где K и ID - соответственно ключ и идентификатор отправителя.
Очевидно, значение a (Р) вычисляется заранее и хранится в виде a' (Р) в идентификационной таблице у получателя (рис. 5.2). Подтверждение подлинности состоит из сравнения двух отображений пароля a (РА) и a' (РА) и признания пароля РА, если эти отображения равны. Конечно, любой, кто получит доступ к идентификационной таблице, может незаконно изменить ее содержимое, не опасаясь, что эти действия будут обнаружены.
Рисунок 5.2 – Аутентификация с помощью пароля с использованием идентификационной таблицы
Применение для целей идентификации и аутентификации персонального идентификационного номера PIN рассматривается в главе 9.