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