Протокол блокировки - Interlock protocol

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

Краткая история

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

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

Как это устроено

Протокол блокировки работает примерно так:

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

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

Атака Белловина / Мерритта

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

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

 A BEa, 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:

AZ BEa, 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 (сервер) задерживал все ответы на известную продолжительность:

A BKa -------------> <------------- KbEa, 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 - это человек посередине):

AZ BKa -------------> Kz -------------> <--------------- Kz <- ---------- KbEa, 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 (Ma) <2> -----> <----- Ez, b (Mb) <2> (отложенный ответ) <----------- -data <---------- данные

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

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

Смотрите также

Рекомендации

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

внешняя ссылка