Удаленная аутентификация пользователей с использованием механизма запроса-ответа

Процедура состоит в следующем. Если пользователь А хочет быть уверенным, что сообщения, получае­мые им от пользователя В, не являются ложными, он включает в посылаемое для В сообщение непредсказуемый элемент - за­прос Х (например, некоторое случайное число). При ответе пользователь В должен выполнить над этим элементом некоторую операцию (например, вычислить некоторую функцию ). Это невозможно осуществить заранее, так как пользователю В неиз­вестно, какое случайное число Х придет в запросе. Получив ответ с результатом действий В, пользователь А может быть уверен, что В - подлинный. Недостаток этого метода - возможность уста­новления закономерности между запросом и ответом.

Механизм запрос-ответ используется в более сложной процедуре аутентификации - "рукопожатии".

Процедура "рукопожатия" базируется на указанном выше механизме и заключается во взаимной проверке ключей, используемых сторонами. Иначе говоря, сторо­ны признают друг друга законными партнерами, если докажут друг другу, что обладают правильными ключами. Процедуру рукопожа­тия обычно применяют в компьютерных сетях при организации сеанса связи между пользователями, пользователем и хост-компьютером, между хост-компьютерами и т.д.

Рассмотрим в качестве примера процедуру рукопожатия для двух пользователей А и В. (Это допущение не влияет на общность рассмотрения. Такая же процедура используется, когда вступающие в связь стороны не являются пользователями). Пусть применяется симметричная криптосистема. Пользователи А и В разделяют один и тот же секретный ключ . Вся процедура по­казана на рис. 8.2.

Пусть пользователь А инициирует процедуру рукопожатия, от­правляя пользователю В свой идентификатор в открытой форме. Пользователь В, получив идентификатор , находит в базе данных секретный ключ и вводит его в свою криптосистему.

Тем временем пользователь А генерирует случайную после­довательность S с помощью псевдослучайного генератора PG и отправляет ее пользователю В в виде криптограммы . Пользователь В расшифровывает эту криптограмму и раскры­вает исходный вид последовательности S. Затем оба пользователя А и В преобразуют последователь­ность S, используя открытую одностороннюю функцию .

Пользователь В шифрует сообщение и отправляет эту криптограмму пользователю А. Наконец, пользователь А расшифровывает эту криптограмму и сравнивает полученное сообщение с исходным . Если эти сообщения равны, пользователь А признает подлин­ность пользователя В.

Рис. 8.2. Схема процедуры рукопожатия (пользователь А проверяет подлинность пользователя В)

Очевидно, пользователь В проверяет подлинность поль­зователя А таким же способом. Обе эти процедуры образуют про­цедуру рукопожатия, которая обычно выполняется в самом начале любого сеанса связи между любыми двумя сторонами в компью­терных сетях.

Достоинством модели рукопожатия является то, что ни один из участников сеанса связи не получает никакой секретной информации во время процедуры подтверждения подлинности.

Процедура рукопожатия была рассмотрена в предположе­нии, что пользователи А и В доверяют друг другу и имеют общий секретный сеан­совый ключ. Однако нередки ситуации когда пользователи должны осуществить взаимную аутентификацию, не доверяя друг другу, и не обмениваясь никакой конфиденциальной информацией.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: