Протокол блокировки
В криптографии , протокол блокировки описанный Роном Ривестом и Ади Шамиром , представляет собой протокол , предназначенный для предотвращения атаки перехватчиков на две стороны, которые используют протокол анонимного обмена ключами для защиты своего разговора. В следующем документе предлагалось использовать его в качестве протокола аутентификации, который впоследствии был взломан.
Краткая история
[ редактировать ]Большинство криптографических протоколов полагаются на предварительное установление секретных или открытых ключей или паролей. Однако протокол обмена ключами Диффи-Хеллмана ввел концепцию двух сторон, устанавливающих безопасный канал (то есть, по крайней мере, с некоторыми желательными свойствами безопасности) без какого-либо такого предварительного соглашения. Давно известно, что неаутентифицированный протокол Диффи-Хеллмана, как анонимный протокол соглашения о ключах, подвергается атаке «человек посередине» . Однако мечта о «безмолвном» безопасном канале с взаимной аутентификацией осталась.
Протокол блокировки был описан [1] как метод выявления посредника, который может попытаться скомпрометировать две стороны, использующие соглашение об анонимном ключе для защиты своего разговора.
Как это работает
[ редактировать ]Протокол Interlock работает примерно следующим образом:
- Алиса шифрует свое сообщение ключом Боба, а затем отправляет Бобу половину своего зашифрованного сообщения.
- Боб шифрует свое сообщение ключом Алисы и отправляет Алисе половину своего зашифрованного сообщения.
- Затем Алиса отправляет вторую половину своего сообщения Бобу, который отправляет вторую половину своего.
Сила протокола заключается в том, что половину зашифрованного сообщения невозможно расшифровать. Таким образом, если Мэллори начнет свою атаку и перехватит ключи Боба и Алисы, Мэллори не сможет расшифровать полусообщение Алисы (зашифрованное с использованием ее ключа) и повторно зашифровать его с использованием ключа Боба. Она должна дождаться, пока будут получены обе половины сообщения, чтобы прочитать его, и сможет обмануть одну из сторон только в том случае, если составит совершенно новое сообщение.
Атака Белловина/Мерритта
[ редактировать ]Дэвис и Прайс предложили использовать протокол блокировки для аутентификации в книге « Безопасность компьютерных сетей». [2] Но нападки на это были описаны Стивеном М. Белловином и Майклом Мерриттом. [3] Последующее уточнение было предложено Эллисоном. [4]
Атака Белловина/Мерритта предполагает составление фальшивого сообщения для отправки первой стороне. Пароли могут быть отправлены с использованием протокола блокировки между A и B следующим образом:
A B Ea,b(Pa)<1>-------> <-------Ea,b(Pb)<1> Ea,b(Pa)<2>-------> <-------Ea,b(Pb)<2>
где Ea,b(M) — сообщение M, зашифрованное ключом, полученным в результате обмена Диффи–Хеллмана между A и B, <1>/<2> обозначают первую и вторую половины, а Pa/Pb — пароли A и B. .
Злоумышленник Z может отправить половину фиктивного сообщения — P? — чтобы получить Pa от A:
A Z B Ea,z(Pa)<1>------> <------Ea,z(P?)<1> Ea,z(Pa)<2>------> Ez,b(Pa)<1>------> <------Ez,b(Pb)<1> Ez,b(Pa)<2>------> <------Ez,b(Pb)<2>
На данный момент Z поставил под угрозу как Pa, так и Pb. Атаку можно отразить, проверив пароли по частям, чтобы при отправке Ea,z(P?)<1> было известно, что он недействителен, а Ea,z(Pa)<2> никогда не отправлялся (предложено Дэвис). Однако это не работает, когда пароли хешированы, поскольку, по словам Белловина, половина хеша бесполезна. [3] Также предложено несколько других методов: [5] [6] [7] [8] включая использование общего секрета в дополнение к паролю. Улучшение принудительной задержки также может предотвратить определенные атаки.
Протокол блокировки с принудительной задержкой
[ редактировать ]Этот раздел нуждается в дополнительных цитатах для проверки . ( Май 2010 г. ) |
Модифицированный протокол блокировки может потребовать от B (сервера) задержки всех ответов на известную продолжительность:
A B Ka-------------> <-------------Kb Ea,b(Ma)<1>----> <----Ea,b(Mb)<1> (B delays response a fixed time, T) Ea,b(Ma)<2>----> <----Ea,b(Mb)<2> (delay again) <----------data
Где «данные» — это зашифрованные данные, которые следуют сразу за обменом протоколом блокировки (это может быть что угодно), закодированные с использованием преобразования «все или ничего» для предотвращения изменения сообщения при передаче. Ma<1> может содержать зашифрованный запрос и копию Ka. Ma<2> может содержать ключ дешифрования для Ma<1>. Mb<1> может содержать зашифрованную копию Kb, а Mb<2> может содержать ключ дешифрования для Mb<1> и ответ, например OK или NOT FOUND, а также хеш-дайджест данных.
MITM можно попытаться использовать с помощью атаки, описанной в статье Белловина (Z — посредник):
A Z B Ka------------->Kz-------------> <---------------Kz<-----------Kb Ea,z(Ma)<1>----> <----Ea,z(Mz)<1> (delayed response) Ea,z(Ma)<2>----> Ez,b(Ma)<1>-----> <-----Ez,b(Mb)<1> (delayed response) <----Ea,z(Mz)<2> Ez,b(Ma)<2>-----> <-----Ez,b(Mb)<2> (delayed response) <------------data <----------data
В этом случае A получает данные примерно через 3*T, поскольку Z должен выполнить блокирующий обмен с B. Следовательно, попытка MITM-атаки может быть обнаружена и сеанс прерван.
Конечно, Z может отказаться от выполнения протокола блокировки с B (предпочтя вместо этого отправить свой собственный Mb), но тогда сеанс будет между A и Z, а не между A, Z и B: Z не будет посередине. . По этой причине протокол блокировки не может эффективно использоваться для обеспечения аутентификации, хотя он может гарантировать, что никакая третья сторона не сможет изменить передаваемые сообщения без обнаружения.
См. также
[ редактировать ]- Компьютерная безопасность
- Криптоанализ
- Безопасный канал
- Управление ключами
- Криптографический протокол
- Оппортунистическое шифрование
Ссылки
[ редактировать ]- ^ Р. Ривест и А. Шамир. Как разоблачить подслушивателя. CACM, Vol. 27 апреля 1984 г., стр. 393–395. [1]
- ^ Д.В. Дэвис и У.Л. Прайс. Безопасность компьютерных сетей. Джон Уайли и сыновья, второе изд., 1989.
- ↑ Перейти обратно: Перейти обратно: а б С. М. Белловин и М. Мерритт. Атака на протокол блокировки при использовании для аутентификации (PDF) . Транзакции IEEE по теории информации, т. 40, н. 1 января 1994 г., стр. 273-275.
- ^ К. Эллисон. Установление личности без центров сертификации. Материалы шестого ежегодного симпозиума по безопасности USENIX, Сан-Хосе, июль 1996 г., стр. 67-76.
- ^ Р. Х. Моррис и К. Томпсон, «Безопасность паролей Unix», Communications of ACM , vol. 22, с. 594, ноябрь 1979 г.
- ^ FT Grampp и RH Morris, «Безопасность операционной системы Unix», Технический журнал AT&T Bell Laboratories , том. 63 стр. 1649–1672, октябрь 1984 г.
- ^ Д. В. Кляйн, «Препятствование взломщику»: обзор и улучшения безопасности паролей», в Proceedings of the USENIX UNIX Security Workshop , (Портленд), стр. 5–14, август 1990 г.
- ^ П. Леонг и К. Тэм, «Шифрование паролей Unix считается небезопасным» в Proc. Зимняя конференция USENIX , (Даллас), 1000 г.