Wide-Mouth Frog


Wide-Mouth Frog (досл. с англ. «лягушка с широкой глоткой») — возможно, самый простой протокол для симметричного обмена ключами с использованием доверенного сервера. (Алиса) и (Боб) разделяют секретный ключ с (Трентом). В данном протоколе ключи используются только для их распределения, а не для шифрования сообщений[1].

Автором протокола считается Майкл Бэрроуз (англ. Michael Burrows), впервые он был опубликован в «Michael Burrows, Martin Abadi, and Roger Needham. A logic of authentication»[2] в 1989 году. В 1997 Гэвин Лоу (англ. Gavin Lowe (computer scientist)) в своей работе «A Family of Attacks upon Authentication Protocols»[3] предложил модифицированный Wide-Mouthed Frog протокол (англ. Lowe modified Wide-Mouthed frog protocol), исправляющий некоторые уязвимости.

Для начала сеанса передачи сообщений Алиса шифрует конкатенацию метки времени, идентификатора Боба и сгенерированного случайного сеансового ключа. В качестве ключа шифрования используется ключ, который известен Алисе и Тренту — промежуточному доверенному серверу. После этого Алиса передаёт своё имя (в открытом виде) и зашифрованные данные Тренту.

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

После этого Боб расшифровывает пакет данных общим с Трентом ключом и может использовать сгенерированный Алисой случайный сеансовый ключ для передачи данных.

Изъян протокола заключается в том, что Трент обновляет свою временную метку , от временной метки Алисы . То есть пока Трент не держит список всех рабочих ключей и меток, злоумышленник может поддерживать ключи рабочими, используя Трента в качестве предсказателя.