Из Википедии, свободной энциклопедии
Перейти к навигации Перейти к поиску

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

Краткая история [ править ]

Большинство криптографических протоколов полагаются на предварительную установку секретных или открытых ключей или паролей. Однако протокол обмена ключами Диффи-Хеллмана ввел концепцию двух сторон, устанавливающих безопасный канал (то есть, по крайней мере, с некоторыми желательными свойствами безопасности) без какого-либо такого предварительного соглашения. Неаутентифицированный протокол Диффи-Хеллмана, как протокол согласования анонимного ключа, давно известен как объект атаки человека в середине . Однако мечта о безопасном канале с взаимной аутентификацией «без zipless» осталась.


Протокол блокировки был описан [1] как метод выявления посредника, который может попытаться скомпрометировать две стороны, которые используют анонимное соглашение о ключах для защиты своего разговора.

Как это работает [ править ]

Протокол блокировки работает примерно следующим образом:

  1. Алиса шифрует свое сообщение ключом Боба, а затем отправляет Бобу половину зашифрованного сообщения.
  2. Боб шифрует свое сообщение ключом Алисы и отправляет Алисе половину своего зашифрованного сообщения.
  3. Затем Алиса отправляет вторую половину своего сообщения Бобу, который отправляет вторую половину своего сообщения.

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

Атака Белловина / Мерритта [ править ]

Дэвис и Прайс предложили использовать протокол блокировки для аутентификации в книге под названием « Безопасность компьютерных сетей». [2] Но атака на это была описана Стивеном Белловином и Майклом Мерриттом. [3] Последующее уточнение было предложено Эллисоном. [4]

Атака Белловина / Мерритта заключается в составлении поддельного сообщения для отправки первой стороне. Пароли могут быть отправлены с использованием протокола блокировки между A и B следующим образом:

 ABEa, b (Па) <1> -------><------- Ea, b (Pb) <1>Ea, b (Па) <2> -------><------- Ea, b (Pb) <2>

где Ea, b (M) - сообщение M, зашифрованное с помощью ключа, полученного в результате обмена Диффи – Хеллмана между A и B, <1> / <2> обозначают первую и вторую половины, а Pa / Pb - пароли A и B .

Злоумышленник, Z, может отправить половину ложного сообщения - P? -, чтобы выявить Pa от A:

AZBEa, z (Па) <1> ------><------ Ea, z (P?) <1>Ea, z (Па) <2> ------> Ez, b (Па) <1> ------> <------ Ez, b (Pb) <1> Ez, b (Па) <2> ------> <------ Ez, b (Pb) <2>

На этом этапе Z нарушил и Pa, и Pb. Атаку можно предотвратить, проверив пароли по частям, так что, когда отправляется Ea, z (P?) <1>, он известен как недопустимый, а Ea, z (Pa) <2> никогда не отправляется (предложено Дэвис). Однако, по словам Белловина, это не работает, когда пароли хешируются, поскольку половина хеша бесполезна. [3] Есть также несколько других методов, предложенных в [5] [6] [7] [8], включая использование общего секрета в дополнение к паролю. Повышение принудительной задержки также может предотвратить определенные атаки.

Протокол принудительной блокировки с задержкой [ править ]

Модифицированный протокол блокировки может потребовать, чтобы B (сервер) задерживал все ответы на известную продолжительность:

ABКа -------------><------------- КбEa, b (Ma) <1> ----><---- Ea, b (Mb) <1> (B задерживает ответ на фиксированное время, T)Ea, b (Ma) <2> ----><---- Ea, b (Mb) <2> (снова задержка)<---------- данные

Где «данные» - это зашифрованные данные, которые непосредственно следуют за обменом по протоколу блокировки (это может быть что угодно), закодированные с использованием преобразования « все или ничего» для предотвращения модификации сообщения при передаче. Ma <1> может содержать зашифрованный запрос и копию Ka. Ma <2> может содержать ключ дешифрования для Ma <1>. Mb <1> может содержать зашифрованную копию Kb, а Mb <2> может содержать ключ дешифрования для Mb <1> и ответ, такой как OK или NOT FOUND, и хэш-дайджест данных.

MITM может быть предпринята с помощью атаки, описанной в статье Белловина (Z - это человек посередине):

AZBКа -------------> Кз -------------><--------------- Кг <----------- КбEa, z (Ma) <1> ----><---- Ea, z (Mz) <1> (отложенный ответ)Ea, z (Ma) <2> ----> Ez, b (Ma) <1> -----> <----- Ez, b (Mb) <1> (отложенный ответ)<---- Ea, z (Mz) <2> Ez, b (млн лет) <2> -----> <----- Ez, b (Mb) <2> (отложенный ответ) <------------ данные<---------- данные

В этом случае A получает данные примерно через 3 * T, поскольку Z должен выполнить блокирующий обмен с B. Следовательно, попытка атаки MITM может быть обнаружена и сеанс прерван.

Конечно, Z может решить не выполнять протокол блокировки с B (вместо этого предпочитая отправлять свой собственный Mb), но тогда сеанс будет между A и Z, а не между A, Z и B: Z не будет посередине. . По этой причине протокол блокировки не может эффективно использоваться для обеспечения аутентификации, хотя он может гарантировать, что никакая третья сторона не сможет изменить передаваемые сообщения без обнаружения.

См. Также [ править ]

Ссылки [ править ]

  1. ^ Р. Ривест и А. Шамир. Как разоблачить подслушивающего. CACM, Vol. 27, апрель 1984 г., стр. 393-395. [1]
  2. ^ DW Дэвис и WL Прайс. Безопасность компьютерных сетей. Джон Вили и сыновья, второе изд., 1989.
  3. ^ a b С. М. Белловин и М. Мерритт. Атака на протокол блокировки при использовании для аутентификации (PDF). IEEE Transactions по теории информации, v. 40, n. 1, январь 1994 г., стр. 273-275.
  4. ^ C. Эллисон. Установление личности без центров сертификации. Материалы шестого ежегодного симпозиума по безопасности USENIX, Сан-Хосе, июль 1996 г., стр. 67-76.
  5. ^ RH Моррис и К. Томпсон, "Безопасность паролей Unix", Коммуникации ACM , вып. 22, стр. 594, ноябрь 1979 г.
  6. ^ FT Grampp и R.H. Моррис, "Безопасность операционных систем Unix", Технический журнал AT&T Bell Laboratories , вып. 63 стр. 1649-1672, октябрь 1984 г.
  7. ^ Д. В. Кляйн, «Срыв взломщика»: обзор и улучшения безопасности паролей »в Proceedings of the USENIX UNIX Security Workshop , (Портленд), стр. 5–14, август 1990 г.
  8. ^ П. Леонг и К. Там, «Шифрование паролей Unix считается небезопасным» в Proc. Зимняя конференция USENIX , (Даллас), 1000 г.

Внешние ссылки [ править ]

  • Протокол блокировки для аутентификации
  • Гроссмейстер полнодуплексных шахмат (был: анонимный DH & MITM)
  • Защита от атак среднего уровня (протокол принудительной задержки Zooko)