Wide-Mouth Frog | это... Что такое Wide-Mouth Frog? (original) (raw)

Криптографические обозначения, используемые в протоколах проверки подлинности и обмена ключами

A Идентифкаторы Алисы (Alice), инициатора сессии
B Идентифкатор Боба (Bob), стороны, с которой устанавливается сессия
T Идентифкатор Трента (Trent), доверенной промежуточной стороны
K_A, K_B, K_T Открытые ключи Алисы, Боба и Трента
K_A^{-1}, K_B^{-1}, K_T^{-1} Секретные ключи Алисы, Боба и Трента
E_A, \left\{...\right\}_{K_A} Шифрование данных ключом Алисы, либо совместным ключом Алисы и Трента
E_B, \left\{...\right\}_{K_B} Шифрование данных ключом Боба, либо совместным ключом Боба и Трента
\left\{...\right\}_{K_B^{-1}}, \left\{...\right\}_{K_A^{-1}} Шифрование данных секретными ключами Алисы, Боба (цифровая подпись)
I Порядковый номер сессии (для предотвращения атаки с повтором)
K Случайный сеансовый ключ, который будет использоваться для симетричного шифрования данных
E_K, \left\{...\right\}_{K} Шифрование данных временным сеансовым ключом
T_A, T_B Метки времени, добавляемые в сообщения Алисой и Бобом соответственно
R_A, R_B Случайные числа (nonce), которые были выбраны Алисой и Бобом соответственно

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

Содержание

История

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

Протокол Wide-Mouthed Frog

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

Alice \to \left\{ A, E_A \left( T_A, B, K \right) \right\} \to Trent

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

Trent \to \left\{ E_B \left( T_T, A, K \right) \right\} \to Bob

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

Атаки на протокол Wide-Mouthed Frog

Атака 1995 года

В 1995 году Рос Андерсон (англ. Ross Anderson) и Роджер Нидхэм (англ. Roger Needham) предложили следующий алгоритм атаки на протокол:

  1. Alice \to \left\{ A, E_A \left( T_A, B, K \right) \right\} \to Trent
  2. Trent \to \left\{ E_B \left( T_T, A, K \right) \right\} \to Bob
  3. I(Bob) \to \left\{ B, E_B \left( T_T, A, K \right) \right\} \to Trent
  4. Trent \to \left\{ E_A \left( T'_T, B, K \right) \right\} \to Alice
  5. I(Alice) \to \left\{ A, E_A \left( T'_T, B, K \right) \right\} \to Trent
  6. Trent \to \left\{ E_B \left( T''_T, A, K \right) \right\} \to Bob,

где I(Alice) и I(Bob) - злоумышленник имитирующий Алису и Боба соответственно.

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

Практический результат данного недостатка будет зависеть от приложения. Например, если пользователи используют смарт-карту с данным протоколом, который в открытом виде отправляет сессионный ключ в программный модуль шифрования (англ. software bulk encryption routine), то ключи могут быть открыты для данной атаки. Злоумышленник может наблюдать как Алиса и Боб проводят сессии и поддерживать ключи рабочими, пока не появится возможность выкрасть смарт-карту.[4]

Атака 1997 года

В 1997 году Гэвин Лоу (англ. Gavin Lowe) предложил еще один вариант атаки на данный протокол, основанный на том, что злоумышленник заставляет думать Боба, что Алиса установила два сеанса обмена, в то время как Алиса устанавливает один сеанс. Атака включает два чередующихся прохода протокола, которые мы назовем \alpha и \beta, обозначим, например, второе сообщение сеанса \alpha как \alpha .2. Тогда атака выглядит следующим образом:

  1. Message \alpha .1. Alice \to \left\{ A, E_A \left( T_A, B, K \right) \right\} \to Trent
  2. Message \alpha .2. Trent \to \left\{ B, E_B \left( T_T, A, K \right) \right\} \to Bob
  3. Message \beta .2. I(Trent) \to \left\{ B, E_B \left( T_T, A, K \right) \right\} \to Bob,

где I(Trent) злоумышленник имитирующий Трента.

Сеанс \alpha представляет нормальный ход обмена ключами, когда Алиса устанавливает сеанс с Бобом, используя ключ K. Тогда в сообщении \beta .2, злоумышленник имитирует Трента,и повторяет сообщение \alpha .2; после чего Боб считает, что Алиса пытается начать второй сеанс.

Кроме того, злоумышленник может воспроизвести для Трента сообщение \alpha .1, как сообщение следующего сеанса. Это приведет к получению Бобом второго сообщение, с таким же результатом как и ранее.

Данную уязвимость исправляет модифицированный Wide-Mouthed Frog протокол (англ. Lowe modified Wide-Mouthed frog protocol) [5]

Модифицированный Wide-Mouthed Frog протокол

Данная модификация была предложена Гэвином Лоу (англ. Gavin Lowe), для устранения уязвимости для атаки 1997 года. Выглядит она следующим образом:

  1. Alice \to \left\{ A, E_A \left( T_A, B, K \right) \right\} \to Trent
  2. Trent \to \left\{ E_B \left( T_T, A, K \right) \right\} \to Bob
  3. Bob \to \left\{ R_B \right\}_K \to Alice
  4. Alice \to \left\{ R_B +1\right\}_K \to Bob

Эти изменения позволят избежать атак 1997 года: Боб будет генерировать два разных одноразовых номера, по одному для каждого сеанса, и ожидать в качестве ответа сообщение 4. В то же время Алиса будет возвращать только одно такое сообщение, и злоумышленник не сможет сгенерировать другого.

К сожалению, данная модификация убирает самую привлекательную черту протокола Wide-Mouthed Frog - простоту.[5]

Особенности

Примечания

  1. An Analysis Of Session Key Exchange Protocols Pranav Vyas, Dr. Bhushan Trivedi, 2012
  2. M. Burrows, M. Abadi, R. Needham Research Report 39, Digital Equipment Corp. Systems Research Center Feb. 1989
  3. Gavin Lowe Department of Mathematics and Computer Science, Technical Report 1997/5, University of Leicester
  4. Ross Anderson and Roger Needham Programming Satan's Computer
  5. 1 2 Gavin Lowe A Family of Attacks upon Authentication Protocols

Литература

Просмотр этого шаблона Протоколы аутентификации и обмена ключами
С симметричными алгоритмами Wide-Mouth FrogYahalom • Протокол Нидхема — Шрёдера • Протокол Отвея — Рииса • Kerberos • Протокол Ньюмана — Стабблбайна
С симметричными и асимметричными алгоритмами DASS • Протокол Деннинга — Сакко • Протокол Ву — Лама • SPKM
Протоколы и сервисы, используемые в Internet OAuthOpenIDWindows Live ID