Yahalom

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Криптографические обозначения, используемые в протоколах проверки подлинности и обмена ключами
Идентифкаторы Алисы (Alice), инициатора сессии
Идентифкатор Боба (Bob), стороны, с которой устанавливается сессия
Идентифкатор Трента (Trent), доверенной промежуточной стороны
Открытые ключи Алисы, Боба и Трента
Секретные ключи Алисы, Боба и Трента
Шифрование данных ключом Алисы, либо совместным ключом Алисы и Трента
Шифрование данных ключом Боба, либо совместным ключом Боба и Трента
Шифрование данных секретными ключами Алисы, Боба (цифровая подпись)
Порядковый номер сессии (для предотвращения атаки с повтором)
Случайный сеансовый ключ, который будет использоваться для симетричного шифрования данных
Шифрование данных временным сеансовым ключом
Метки времени, добавляемые в сообщения Алисой и Бобом соответственно
Случайные числа (nonce), которые были выбраны Алисой и Бобом соответственно

Yahalom — симметричный протокол распределения ключей с доверенным сервером:

Для начала сеанса Алиса пересылает Бобу свой идентификатор и некоторое случайное число :

Боб дополняет принятое сообщение своим случайным числом , шифрует это общим ключом с Трентом (доверенная сторона) и, добавив свой идентификатор , отправляет Тренту:

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

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

Из первого сообщения Боб извлекает K, а из второго - и сравнивает его с переданным ранее.

В отличие от протокола Wide-Mouth Frog стороны имеют возможность убедиться, что промежуточный сервер генерирует общий секретный ключ именно для них двоих, а не для какой-то третьей стороны (хотя от полной компрометации доверенной стороны этот протокол не защищает).

Литература[править | править вики-текст]

  • Шнайер Б. Протокол Yahalom // Прикладная криптография. Протоколы, алгоритмы, исходные тексты на языке Си = Applied Cryptography. Protocols, Algorithms and Source Code in C. — М.: Триумф, 2002. — С. 78—79. — 816 с. — 3000 экз. — ISBN 5-89392-055-4.
  • M. Burrows, M. Abadi, R. Needham A Logic of Authentication // Research Report 39, Digital Equipment Corp. Systems Research Center — Feb. 1989
  • M. Burrows, M. Abadi, R. Needham A Logic of Authentication // ACM Transactions on Computer Systems, — v. 8 — n. 1 — Feb. 1990 — pp. 18–36