Interested Article - Протокол Ньюмана — Стабблбайна

Протокол Ньюмана-Стабблбайна

Протокол Ньюмана — Стабблбайна — симметричный протокол аутентификации и обмена ключами с использованием доверенной стороны. Является усовершенствованной версией протокола Yahalom . Особенностью протокола является отсутствие необходимости синхронизации часов у сторон, а также возможность повторной аутентификации без использования промежуточной стороны.

История

Криптографический протокол Ньюмана-Стабблбайна для удостоверения подписи и обмена ключами был впервые опубликован в 1993 году. Протокол является модификацией протокола Yahalom и разработан в Массачусетском технологическом институте (MIT) Клифордом Ньюманом и Стюартом Стабблбаном.

Описание протокола

Взаимодействие участников в протоколе Ньюмана-Стабблбайна

Описание

Алиса и Боб хотят безопасно обмениваться сообщениями, находясь на различных концах сети. Предполагается, что каждому пользователю Трент выделяет отдельный секретный ключ, и перед началом работы протокола все ключи уже находятся у пользователей.

Алиса отправляет Бобу сообщение, содержащее идентификатор Алисы и некоторое случайное число Алисы:
  1. A l i c e { A , R A } B o b {\displaystyle Alice\to \left\{A,R_{A}\right\}\to Bob}
Боб объединяет идентификатор Алисы, ее случайное число и метку времени, шифрует сообщение общим с Трентом ключом и посылает его Тренту, добавив свой идентификатор и случайное число Боба:
2. B o b { B , R B , E B ( A , R A , T B ) } T r e n t {\displaystyle Bob\to \left\{B,R_{B},E_{B}\left(A,R_{A},T_{B}\right)\right\}\to Trent}
Трент генерирует сеансовый ключ K {\displaystyle K} , а затем создает два сообщения. Первое включает идентификатор Боба, случайное число Алисы, случайный сеансовый ключ, метку времени и шифруется общим для Трента и Алисы ключом. Второе состоит из идентификатора Алисы, сеансового ключа, метки времени и шифруется общим для Трента и Боба ключом. Трент добавляет к ним случайное число Боба и отправляет Алисе:
3. T r e n t { E A ( B , R A , K , T B ) , E B ( A , K , T B ) , R B } A l i c e {\displaystyle Trent\to \left\{E_{A}\left(B,R_{A},K,T_{B}\right),E_{B}\left(A,K,T_{B}\right),R_{B}\right\}\to Alice}
Алиса извлекает K {\displaystyle K} и убеждается, что R A {\displaystyle R_{A}} совпадает с тем, что было послано на этапе 1. Алиса отправляет Бобу два сообщения. Первое - это второе сообщение от Трента, зашифрованное ключом Боба. Второе - это случайное число Боба, зашифрованное сеансовым ключом.
4. A l i c e { E B ( A , K , T B ) , E K ( R B ) } B o b {\displaystyle Alice\to \left\{E_{B}\left(A,K,T_{B}\right),E_{K}\left(R_{B}\right)\right\}\to Bob}
Боб расшифровывает сообщение своим ключом и убеждается, что значения T B {\displaystyle T_{B}} и R B {\displaystyle R_{B}} не изменились.
Если оба случайных числа и метка времени совпадают, то Алиса и Боб убеждаются в подлинности друг друга и получают секретный ключ. Нет необходимости синхронизировать часы, так как метка времени определяется только по часам Боба и только Боб проверяет созданную им метку времени.

Проверка подлинности

Протокол обладает возможностью повторной аутентификации сторон без использования промежуточной стороны, но с использованием новых случайных чисел:

Алиса отправляет Бобу сообщение, присланное Трентом на этапе 3 и новое случайное число:

  1. A l i c e { E B ( A , K , T B ) , R A } B o b {\displaystyle Alice\to \left\{E_{B}\left(A,K,T_{B}\right),R'_{A}\right\}\to Bob}

Боб отправляет Алисе свое новое случайное число и случайное число Алисы, шифруя их сеансовым ключом:

2. B o b { R B , E K ( R A ) } A l i c e {\displaystyle Bob\to \left\{R'_{B},E_{K}\left(R'_{A}\right)\right\}\to Alice}
Алиса отправляет Бобу его новое случайное число, зашифрованное сеансовым ключом:
3. A l i c e { E K ( R B ) } B o b {\displaystyle Alice\to \left\{E_{K}\left(R'_{B}\right)\right\}\to Bob}

Использование новых случайных чисел R A {\displaystyle R'_{A}} и R B {\displaystyle R'_{B}} защищает от атаки с повторной передачей.

Атаки на протокол

Атака на проверку подлинности

I {\displaystyle I} (от англ. Intruder) - злоумышленник.

  1. I ( A l i c e ) { E B ( A , K , T B ) , R A } B o b {\displaystyle I(Alice)\to \left\{E_{B}\left(A,K,T_{B}\right),R'_{A}\right\}\to Bob}
  2. B o b { R B , E K ( R A ) } I ( A l i c e ) {\displaystyle Bob\to \left\{R'_{B},E_{K}\left(R'_{A}\right)\right\}\to I(Alice)}
  3. I ( A l i c e ) { E B ( A , K , T B ) , R B } B o b {\displaystyle I(Alice)\to \left\{E_{B}\left(A,K,T_{B}\right),R'_{B}\right\}\to Bob}
  4. B o b { R B , E K ( R B ) } I ( A l i c e ) {\displaystyle Bob\to \left\{R'_{B},E_{K}\left(R'_{B}\right)\right\}\to I(Alice)}
  5. I ( A l i c e ) { E K ( R B ) } B o b {\displaystyle I(Alice)\to \left\{E_{K}\left(R'_{B}\right)\right\}\to Bob}

Атака на основе открытых текстов

  1. I ( B o b ) { B , R B , E B ( A , K 0 , T B ) } T r e n t {\displaystyle I(Bob)\to \left\{B,R_{B},E_{B}\left(A,K_{0},T_{B}\right)\right\}\to Trent}
  2. T r e n t { E A ( B , R A , K 1 , T B ) , E B ( A , K 1 , T B ) , R B } I ( A l i c e ) {\displaystyle Trent\to \left\{E_{A}\left(B,R_{A},K_{1},T_{B}\right),E_{B}\left(A,K_{1},T_{B}\right),R_{B}\right\}\to I(Alice)}
  3. I ( B o b ) { B , R B , E B ( A , K 1 , T B ) } T r e n t {\displaystyle I(Bob)\to \left\{B,R_{B},E_{B}\left(A,K_{1},T_{B}\right)\right\}\to Trent}
  4. T r e n t { E A ( B , R A , K 2 , T B ) , E B ( A , K 2 , T B ) , R B } I ( A l i c e ) {\displaystyle Trent\to \left\{E_{A}\left(B,R_{A},K_{2},T_{B}\right),E_{B}\left(A,K_{2},T_{B}\right),R_{B}\right\}\to I(Alice)} и т.д.

В этой атаке злоумышленник может получить столько шифров E B ( A , K i , T B ) {\displaystyle E_{B}\left(A,K_{i},T_{B}\right)} , сколько необходимо для начала атаки на основе открытых текстов.

Литература

  • Шнайер Б. Протокол Ньюмана-Стабблбайна // Прикладная криптография. Протоколы, алгоритмы, исходные тексты на языке Си = Applied Cryptography. Protocols, Algorithms and Source Code in C. — М. : Триумф, 2002. — С. 82. — 816 с. — 3000 экз. — ISBN 5-89392-055-4 .
  • A. Kehne, J. Schönwälder, H. Langendörfer. A nonce-based protocol for multiple authentications (англ.) // ACM SIGOPS Operating Systems Review. — 1992. — Vol. 26 , iss. 4 . — P. 84 - 89 . — ISSN .
  • B. Clifford Neuman, Stuart G. Stubblebine. (англ.) // ACM SIGOPS Operating Systems Review. — New York, NY, USA: ACM, 1993. — Vol. 2 , iss. 27 . — P. 10—14 . — ISSN .

Same as Протокол Ньюмана — Стабблбайна