Введение
Протокол Отвея — Риса — это протокол аутентификации компьютерной сети, разработанный для использования в незащищенных сетях (например, в Интернете). Он позволяет пользователям, взаимодействующим через такую сеть, доказывать свою личность друг другу, предотвращая при этом прослушивание или повторные атаки и обеспечивая обнаружение изменений. Протокол может быть представлен следующим образом в нотации протоколов безопасности, где Алиса аутентифицирует себя для Боба, используя сервер S (M — идентификатор сеанса, NA и NB — одноразовые числа):
Примечание: вышеописанные шаги не аутентифицируют Боба для Алисы. Этот протокол был проанализирован Берроузом, Абади и Нидхэмом в работе, в которой была представлена ранняя версия логики Берроуза — Абади — Нидхэма.
Нападения на протокол
В настоящее время опубликовано несколько атак на этот протокол.
Перехватывание атак
Эти атаки оставляют злоумышленнику ключ сеанса и могут исключить одну из сторон из обмена сообщениями. Бойд и Мао отмечают, что первоначальное описание протокола не требует от S проверки соответствия открытого текста A и B в двух шифротекстах. Это позволяет злоумышленнику, выдающему себя за B, перехватить первое сообщение, а затем отправить второе сообщение S, сформировав второй шифротекст с использованием собственного ключа и указав себя в открытом тексте. В результате протокол завершается тем, что A устанавливает сеансовый ключ со злоумышленником, а не с B.
Гюргенс и Перальта описывают другую атаку, которую они называют атакой на арность (arity attack). В этой атаке злоумышленник перехватывает второе сообщение и отправляет ответ B, используя два шифротекста из сообщения 2 в составе сообщения 3. При отсутствии какой-либо проверки, предотвращающей это, M (или, возможно, M, A, B) становится сеансовым ключом между A и B и становится известен злоумышленнику. Коул описывает как атаку Гюргенса и Перальты на арность, так и другую атаку в своей книге Hackers Beware. В ней злоумышленник перехватывает первое сообщение, удаляет открытый текст A, B и использует его в качестве сообщения 4, пропуская сообщения 2 и 3. В итоге A начинает общаться со злоумышленником, используя M (или M, A, B) в качестве сеансового ключа.
Разрушительные атаки
Эта атака позволяет злоумышленнику нарушить связь, но не дает ему доступа к ней. Одна из проблем этого протокола заключается в том, что злоумышленник может добиться того, чтобы у А и Б оказались разные ключи. Вот как это происходит: после того, как А и Б обменяются первыми тремя сообщениями, Б получает ключ . Затем злоумышленник перехватывает четвертое сообщение. Он повторно отправляет второе сообщение, в результате чего S генерирует новый ключ, который затем отправляет Б. Злоумышленник перехватывает и это сообщение, но отправляет А ту часть, которую Б должна была бы отправить А. Таким образом, А наконец получает ожидаемое четвертое сообщение, но вместо .