Лабораторные работы Курс лекций по информатике Локальная сеть

Взаимная проверка подлинности

Пользователь терминала может выразить желание проверить подлинность той вычислительной системы, с которой он связан линией связи. В рамках ВС - это вообще естественно, когда два пользователя сети хотят проверить подлинность друг друга.

Наиболее простая модель взаимной проверки подлинности состоит в следующем. Как только два участника сеанса связи А и В идентифицировали друг друга, участник А посылает свой пароль В, а В - к А. Однако, когда А посылает свой пароль, он не может быть уверен, что, посылая пароль к В, он не посылает его кому-то, кто выдает себя за В. В этом случае пароль субъекта А может быть перехвачен нарушителем, который не должен знать этого пароля, а пользователь А не заметит этого. В дальнейшем нарушитель может установить связь с В, выдавая себя за А [МЕУЕ82].

Модель рукопожатия приемлема для взаимной проверки подлинности. В этом случае ни один из участников сеанса связи не будет получать никакой секретной информации во время процедуры установления подлинности [МЕУЕ821.

Взаимное установление подлинности гарантирует вызов нужного объекта с высокой степенью уверенности, что связь была установлена с требуемым адресатом и никаких попыток подмены не было. Процедура установления подлинности включает как стадию распределения ключей, так и стадию подтверждения подлинности. Стадия распределения ключей включает взаимодействие с центром распределения ключей ЦРК с одним или обоими участниками сеанса, чтобы распределить секретные или открытые ключи для использования в последующих сеансах связи. Следующая стадия содержит обмен удостоверяющими сообщениями, чтобы иметь возможность выявить любую подмену или повтор одного из предыдущих вызовов. Описаны протоколы для систем как с закрытыми, так и открытыми ключами. Вызывающий - исходный объект - обозначается через А, а вызываемый - объект назначения - через В. Оба участника сеанса А и В имеют уникальные идентификаторы Мд и 1ав соответственно.

1.3.1. Протокол 1 (для криптосистем с закрытыми ключами) Понятия «информационная продукция», «информационный продукт», «информационная услуга» являются едва ли не самими многозначными в профессиональном лексиконе. В специальной литературе (нормативной, научной, учебной, производственной, справочной) можно встретить их полное отождествление, нечеткое разграничение, поглощение одного другим, а также различные варианты определений.

Каждый из участников сеанса А и В имеет мастер-ключи для объекта К1,, известные только ему и ЦРК. Эти мастер-ключи генерируются в ЦРК и распределяются каждому объекту при встрече с глазу на глаз. Такой ключ используется для шифрования сеансового ключа Кs, когда последний передается по сети. Сеансовый ключ генерируется в ЦРК и используется А и В для защиты сообщений при передаче по линиям связи. Участник А инициирует фазу распределения ключей, посылая в сеть идентификаторы IdA, IdB и случайное число r1 в ЦРК :

Идентификатор IdA посылается в явном виде, так что менеджер ЦРК будет знать, какой мастер-ключ необходим для дешифрования шифрованной части сообщения. Если сообщение правильное, менеджер ЦРК разыскивает мастер-ключ КtB, а также вычисляет сеансовый ключ Кs. Затем к А посылается ответное сообщение

Участник А сохраняет у себя сеансовый ключ Кs и посылает часть сообщения, зашифрованного  мастер-ключом объекта В, а также случайное число г2 зашифрованное сеансовым ключом К.:

Теперь стадия установления ключа завершена, и оба участника А и В владеют сеансовым ключом. Если применяется односторонняя процедура подтверждения подлинности, то В возвращает А сообщение, зашифрованное ключом К, и содержащее некоторую функцию от случайного числа f(r2):

Протокол 1 будет обеспечивать надежное подтверждение подлинности объекта при условии, что ни один из ключей не находится под подозрением и ЦРК защищен.

1.3.2 Протокол 2 (для криптосистем с открытыми ключами)

Процедура взаимного подтверждения подлинности с открытыми ключами также состоит из стадии установления ключа, за которой следует стадия подтверждения подлинности. ЦРК имеет открытый ключ КРК и личный ключ КРцрк, известный только менеджеру ЦРК. Он также поддерживает таблицу открытых ключей всех объектов сети, которых он обслуживает. Вызывающий объект А инициирует стадию установления ключа, запрашивая свой собственный открытый ключ и открытый ключ вызываемого объекта В:

Здесь так же, как и раньше, IdA, IdB - уникальные идентификаторы объектов А и В соответственно. ЦРК формирует ответ

Участник А получает ключи КРА и КРB, дешифруя сообщения с использованием открытого ключа ЦРК, и проверяет правильность ключа КРА. Следующий шаг протокола включает установление связи с В:

где r1 - случайное число, генерируемое А и используемое для обмена в ходе процедуры подтверждения подлинности. Только В может дешифровать сообщение, зашифрованное его открытым ключом, потому что никто не знает личного ключа, соответствующего КРB.

Участник А восстанавливает цифровое значение, дешифруя сообщение с использованием своего личного ключа. При взаимном подтверждении подлинности требуется трехстороннее рукопожатие. Тогда сообщение 4 заменяется следующим:

где r1 - случайное число, генерируемое В. Число r1 подтверждает подлинность В и свою подлинность. А посылает в ответ сообщение

Для взаимного подтверждения подлинности требуется 5 шагов, но так же, как и в протоколе 1, это число можно сократить до 3, используя буферную память.

1.3.3. Протокол 3

Для предотвращения фальсифицированных повторных вызовов на стадии распределения ключей в этом протоколе применяются отметки времени в отличие от протокола 1, где использовались случайные числа. В этом случае соответствующие сообщения 1 и 2 принимают следующий вид:

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


Участник В получает отметку времени и сеансовый ключ, зашифрованные ключом КtB. Если отметка Т верна, то В уверен, что никто, кроме А, не может быть вызывающим объектом. Для взаимного подтверждения подлинности В посылает сообщение

Подделка повтора здесь невозможна, даже если ключ скомпрометирован, поскольку отметка времени в сообщении о в дальнейшем будет нарушена в более позднем сеансе.

1.3.4. Протокол 4

В этом протоколе используется идея сертификатов открытых ключей [КОМР78]. Сертификатом открытого ключа РКС (Public Key Certificate) называется сообщение ЦРК, удостоверяющее целостность некоторого открытого ключа объекта. Например, сертификат открытого ключа для пользователя А, обозначаемый РКСа, содержит отметку времени Т, уникальный идентификатор IdA открытый ключ KPА, зашифрованные личным ключом ЦРК, т. е.

Отметка времени используется для подтверждения актуальности сертификата и таким образом предотвращает повторы прежних сертификатов, которые содержат открытые ключи и для которых соответствующие личные ключи несостоятельны. Протокол 4 начинается с участника А, запрашивающего сертификат своего открытого ключа и ключа участника В от ЦРК. посылая сообщение

Менеджер ЦРК должен ответить сообщением

Участник А проверяет оба сертификата, а также извлекает открытый ключ КРа, использует его для шифрования случайного числа ri и посылает следующее сообщение:

•здесь EKSA(T) - отметка времени, зашифрованная секретным ключом участника А. Она является сигнатурой объекта А и подтверждает подлинность А, поскольку никто не может создать такую сигнатуру. Наконец, чтобы подтвердить свою подлинность, В посылает сообщение

По аналогии с протоколом 3 необходимы четыре шага для взаимного подтверждения подлинности и при установлении соединения требуется взаимодействие с ЦРК.

Фирма Майкрософт включила в свои продукты некоторое подобие криптозащиты. Но это весьма законопослушная фирма, которая чётко соблюдает все экспортные ограничения США, да ещё и перестраховывается. Это не позволяет надеяться на стойкость такой защиты. К тому же, алгоритм шифровки не описан, что, как было показано выше, является показателем ненадёжности.

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


На главную