Протокол Ву — Лама

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Криптографические обозначения, используемые в протоколах проверки подлинности и обмена ключами
A Идентифкаторы Алисы (Alice), инициатора сессии
B Идентифкатор Боба (Bob), стороны, с которой устанавливается сессия
T Идентифкатор Трента (Trent), доверенной промежуточной стороны
K_A, K_B, K_T Открытые ключи Алисы, Боба и Трента
K_A^{-1}, K_B^{-1}, K_T^{-1} Секретные ключи Алисы, Боба и Трента
E_A, \left\{...\right\}_{K_A} Шифрование данных ключом Алисы, либо совместным ключом Алисы и Трента
E_B, \left\{...\right\}_{K_B} Шифрование данных ключом Боба, либо совместным ключом Боба и Трента
\left\{...\right\}_{K_B^{-1}}, \left\{...\right\}_{K_A^{-1}} Шифрование данных секретными ключами Алисы, Боба (цифровая подпись)
I Порядковый номер сессии (для предотвращения атаки с повтором)
K Случайный сеансовый ключ, который будет использоваться для симетричного шифрования данных
E_K, \left\{...\right\}_{K} Шифрование данных временным сеансовым ключом
T_A, T_B Метки времени, добавляемые в сообщения Алисой и Бобом соответственно
R_A, R_B Случайные числа (nonce), которые были выбраны Алисой и Бобом соответственно
K_A, K_B, K_T Заранее созданные пары открытых и закрытых ключей Алисы, Боба и Трента соответственно
K_p Случайная сеансовая пара открытого и закрытого ключей, которая будет использоваться для ассиметричного шифрования
S_A, S_B,S_T, S_{K_p} Подписывание данных с использованием закрытого ключа Алисы, Боба, промежуточной стороны (Trent) или закрытого ключа из случайной пары соответственно
E_{K_A}, E_{K_B},E_{K_T}, E_{K_p} Ассиметричное шифрование данных с использованием открытого ключа Алисы, Боба, промежуточной стороны (Trent) или открытого ключа из случайной пары соответственно

Протокол Ву — Лама — протокол аутентификации и обмена ключами с открытым ключом. Как и в случае протокола DASS промежуточная сторона — Трент — поддерживает базу данных всех открытых ключей.

Описание протокола[править | править вики-текст]

Алиса отправляет Тренту сообщение со своим идентификатором и Боба:

Alice \to \left\{ A, B \right\} \to Trent

Трент отправляет Алисе открытый ключ Боба, подписав его своим закрытым ключом:

Trent \to \left\{ S_T \left( K_B \right) \right\} \to Alice

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

Alice \to \left\{ E_{K_B} \left( A, R_A\right) \right\} \to Bob

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

Bob \to \left\{ A, B, E_{K_T} \left( R_A\right) \right\} \to Trent

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

Trent \to \left\{ S_T \left( K_A \right), E_{K_B} \left( S_T \left( R_A, K, A, B \right) \right) \right\} \to Bob

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

Bob \to \left\{ E_{K_A} \left( S_T \left( R_A, K, A, B \right) , R_B \right) \right\} \to Alice

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

Alice \to \left\{ E_K \left( R_B\right) \right\} \to Bob

Боб расшифровывает число и убеждается, что оно не изменилось.

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