4. Пользователь 2, используя открытый ключ
пользователя 1, шифрует и передает сообщение пользователю 1.5. Пользователь 1 уничтожает свой секретный ключ
, а пользователь 2 уничтожает открытый ключ пользователя 1 .Таким образом, оба пользователя имеют сеансовый (секретный) ключ
и могут использовать его для передачи информации, защищенной традиционным шифрованием. По окончании сеанса передачи информации ключ уничтожается. Однако данный подход уязвим для активных нарушений. Действительно, если нарушитель имеет возможность внедрения в соединение между пользователями, то, выполняя следующие действия (рисунок 2.9), он будет иметь возможность знать секретный (сеансовый) ключ.1. Пользователь 1 генерирует пару ключей
и передает пользователю 2 сообщение .2. Нарушитель перехватывает сообщение
, создает собственную пару ключей и передает пользователю 2 сообщение .3. Пользователь 2, получив сообщение
, генерирует свою пару ключей , шифрует (используя открытый ключ нарушителя ) и передает сообщение пользователю 1.4. Нарушитель перехватывает сообщение
, дешифрирует его , определяет сеансовый ключ и передает пользователю 2 сообщение .В результате оба пользователя имеют сеансовый ключ
, однако не будут подозревать, что он тоже известен и нарушителю.Сценарий распределения секретных ключей с обеспечением конфиденциальности и аутентичности изображен на рисунке 2.10 и состоит в выполнении следующих действий.
1. Пользователи генерируют пары ключей, соответственно
, , и обмениваются между собой открытыми ключами и .2. Пользователь 1, используя
, передает пользователю 2 сообщение , содержащее: свой идентификатор - IDП1; - уникальная метка данного сообщения.3. Пользователь 2, используя
, передает пользователю 1 сообщение , содержащее и - уникальные метки данного сообщения. Наличие метки убеждает пользователя 1 в том, что только пользователь 2 мог дешифрировать сообщение .4. Пользователь 1, используя
, передает пользователю 2 сообщение , содержащее уникальную метку . Данное сообщение выполняет функцию подтверждения для пользователя 2, что его респондентом является пользователь 1.5. Пользователь 1 генерирует секретный (сеансовый) ключ
, который дважды шифруется с использованием: своего секретного ключа и открытого ключа пользователя 2 . После выполнения процедуры шифрования сообщение передается пользователю 2. Последний, имея открытый ключ пользователя 1 и свой секретный ключ, дешифрирует полученное сообщение.В результате перечисленных действия оба пользователя имеют секретный (сеансовый) ключ
.На рисунке 2.11 представлена структура телекоммуникационной системы, состоящая из удаленного объекта и пользователя. Удаленный объект в автономном режиме выполняет некоторые функции, например, осуществляет сбор информации J. Через неопределенное время пользователь по каналу связи передает автономному объекту некоторое сообщение, например команду K – «Выйти на связь и передать собранную информацию J». Приведенную систему часто называют системой дистанционного управления объектом.
В подобных системах возникает задача аутентификации пользователя со стороны автономного объекта. Действительно, если не принять соответствующих мер по организации защищенного канала доступа к автономному объекту, то нарушитель, используя перехват сообщения K, может несанкционированно управлять автономным объектом.
На рисунке 2.12 приведен сценарий, реализующий надежную аутентификацию пользователя со стороны автономного объекта, который содержит два этапа и состоит в выполнении следующих процедур.
1 Этап – предварительная настройка параметров объекта и пользователя. Данный этап выполняется один раз перед началом автономного функционирования объекта. Пользователь генерирует и размещает в оперативной памяти автономного объекта идентификатор ID и временной параметр
.2 Этап: - сеанс связи пользователя с объектом:
1. Пользователь по открытому каналу связи посылает автономному объекту сигнал S, который приводит автономный объект в активное состояние – выйти на связь с пользователем.
2. Автономный объект генерирует сеансовую, связанную пару ключей
, включает таймер, фиксирует время начала сеанса и передает пользователю свой открытый ключ . Значения открытого и секретного ключей имеют случайный характер.3. Пользователь генерирует свою сеансовую, связанную пару ключей
, значения которых тоже имеют случайный характер. Используя открытый ключ объекта, передает ему сообщение , содержащее общий идентификатор ID и свой открытый ключ .4. Автономный объект, используя свой секретный ключ
, дешифрирует принятое сообщение от пользователя . По таймеру фиксирует время принятия сообщения . Рассчитывает и принимает решение: если , то конец связи с пользователем. В противном случае проверяет: идентификатор ID, полученный в сообщении от пользователя, совпадает с собственным идентификатором? Если нет, то конец связи. Иначе – используя открытый ключ пользователя , передает ему сообщение , содержащее запрос X на выполнение команды K, и фиксирует время .