Лягушка с широким ртом

Протокол "Лягушка с широким ртом" (Wide-Mouth Frog) [283,284], возможно, является простейшим сим­метричным протоколом управления ключами, в котором используется заслуживающий доверия сервер . Алиса и Боб делят свой секретный ключ с Трентом. Эти ключи используются только для распределения ключей, а не для шифрования пользовательских сообщений. Вот как, используя два сообщения, Алиса передает Бобу сеансовый


ключ:

(1) Алиса объединяет метку времени, имя Боба и случайный сеансовый ключ, затем шифрует созданное с о-
общение общим с Трентом ключом и посылает его Тренту вместе со своим именем.

А, ЕАА, В, К)

(2) Трент расшифровывает сообщение от Алисы. Затем он добавляет новую метку времени, имя Алисы и ел у-
чайный сеансовый ключ, шифрует полученное сообщение общим с Бобом ключом. Трент посылает Бобу:

ЕВВ, В, К)

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

Yahalom

В этом протоколе Алисы и Боб делят с Трентом секретный ключ [283,284].

(1) Алиса объединяет свое имя и случайное число, и отправляет созданное сообщение Бобу.

A, RA

(2) Боб объединяет имя Алисы, ее случайное число, свое случайное число, шифрует созданное сообщение о б-
щим с Трентом ключом и посылает его Тренту, добавляя свое имя:

B, ЕВ(А, RA, RB)

(3) Трент создает два сообщения. Первое включает имя Боба, случайный сеансовый ключ, случайные числа
Боба и Алисы и шифруется ключом, общим для Трента и Алисы. Второе состоит из имени Алисы, ел у-
чайного сеансового ключа и шифруется ключом, общим для Трента и Боба. Трент посылает оба сообщ е-
ния Алисе:

ЕА(В, К, RA, RB), EB(A, К)

(4) Алиса расшифровывает первое сообщение, извлекает К и убеждается, что RA совпадает со значением, от­
правленным на этапе (1). Алиса посылает Бобу два сообщения. Одним является сообщение Трента, з а-
шифрованное ключом Боба. Второе - это RB, зашифрованное сеансовым ключом.

ЕВ(А, К), EK(RB),

(5) Боб расшифровывает первое сообщение, извлекает К и убеждается, что RB совпадает с отправленным на
этапе (2).

В результате Алиса и Боб убеждены, что они общаются именно друг с другом, а не с третьей стороной . Но­вовведение состоит в том, что именно Боб первым обращается к Тренту, который только посылает одно соо б-щение Алисе.

Needham-Schroeder

В этом протоколе, изобретенном Роджером Неедхэмом (Roger Needham) и Майклом Шредером (Michael Schroeder) [l 159], также используются симметричная криптография и Трент.

(1) Алиса посылает Тренту сообщение, содержащее ее имя, имя Боба и случайное число. А, В, RA

(2) Трент генерирует случайный сеансовый ключ. Он шифрует сообщение, содержащее случайный сеансовый ключ и имя Алисы, секретным ключом, общим для него и Боба. Затем он шифрует случайное число Ал и-сы, имя Боба, ключ, и шифрованное сообщение секретным ключом, общим для него и Алисы. Наконец, он отправляет шифрованное сообщение Алисе:

EA(RA, В, К, ЕВ(К, А))

(3) Алиса расшифровывает сообщение и извлекает К. Она убеждается, что RA совпадает со значением, от­
правленным Тренту на этапе (1). Затем она посылает Бобу сообщение, зашифрованное Трентом ключом
Боба.

ЕВ(К, А)

(4) Боб расшифровывает сообщение и извлекает К. Затем он генерирует другое случайное число, RB. Он
шифрует это число ключом К и отправляет его Алисе.

Ek(Rb)


(5) Алиса расшифровывает сообщение с помощью ключа К. Она создает число RB-1 и шифрует это число
ключом К. Затем она посылает это сообщение обратно Бобу.

Ek(Rb-1)

(6) Боб расшифровывает сообщение с помощью ключа К и проверяет значение RB-1.

Вся эта возня с RA, RB, и RB-1 служит для предотвращения вскрытия с повторной передачейПри таком способе вскрытия Мэллори может записать старые сообщения и впоследствии использовать их при попытке взломать протокол. Присутствие RA на этапе (2) убеждает Алису, что сообщение Трента достоверно и не являе т-ся повторной передачей отклика, использованного при одном из предыдущих применений протокола . Когда Алиса успешно расшифрует RB и передает Бобу RB-1 на этапе (5), Боб убеждается, что сообщения Алисы не яв­ляется повторной передачей сообщений, использованных при одном из предыдущих применений протокола .

Главной прорехой этого протокола является важность использованных сеансовых ключей . Если Мэллори получит доступ к старому К, он сможет предпринять успешное вскрытие [461]. Ему нужно только записать со­общения Алисы Бобу на этапе (3). Тогда, имея К, он может выдать себя за Алису:

(1) Мэллори посылает Бобу следующее сообщение: ЕВ(К, А)

(2) Боб извлекает К, генерирует RB и отправляет Алисе:

Ek(Rb)

(3) Мэллори перехватывает сообщение, расшифровывает его с помощью ключа К и посылает Бобу:

Ek(Rb-1)

(4) Боб убеждается, что сообщение "Алисы" состоит из RB-1.

Теперь Мэллори убедил Боб, что он и есть "Алиса". Более защищенный протокол, использующий метки времени, может противостоять этому вскрытию [461,456]. Метки времени добавляются к сообщению Трента на этапе (2) и шифруются ключом Боба: ЕВ(К, А, Т). Метки времени требуют надежной и точной системы единого времени, что само по себе нетривиальная проблема.

Если ключ, общий для Трента и Алисы будет скомпрометирован, последствия будут драматичны . Мэллори сможет использовать его, для получения сеансовых ключей для обмена сообщениями с Бобом (или с кем-нибудь еще). Даже хуже, Мэллори продолжать подобные действия даже после замены ключа Алисы [90].

Неедхэм и Шредер пытались исправить эти проблемы в модифицированной версии своего протокола [1160]. Их новый протокол по существу совпадает с протоколом Отуэя- Риса (Otway-Rees), опубликованном в том же выпуске того же журнала.