Система Orphus

Построение, плюсы и минусы, криптографическая стойкость на примере протокола Yahalom или Нидхема-Шрёдера

Yaholom

В этом протоколе Алиса и Боб делят с Трентом секретный ключ

1 этап Алиса объединяет свое имя A и случайное число R_A, и отправляет созданное сообщение Бобу.

Alice\to\{A,R_A\}\to Bob.

2 этап Боб объединяет имя Алисы A, её случайное число R_A, полученные на первом этапе, и свое случайное число R_B, шифрует созданное сообщение общим с Трентом ключом и посылает его Тренту, добавляя свое имя B:

Bob\to\{B,E_B(A,R_A,R_B)\}\to Trent

3 этап Трент создает два зашифрованных сообщения. Первое включает имя Боба B , случайный сеансовый ключ K, случайные числа Боба R_B и Алисы R_A и шифруется ключом, общим для Трента и Алисы. Второе состоит из имени Алисы A, случайного сеансового ключа K и шифруется ключом, общим для Трента и Боба. Трент посылает оба сообщения Алисе.

Trent\to\{E_A(B,K,R_A,R_B),E_{B}(A,K)\}\to Alice

4 этап Алиса расшифровывает первое сообщение, извлекает K и убеждается, что R_A, совпадает со значением, отправленным 1ом этапе. Алиса посылает Бобу два сообщения. Одним является сообщение Трента, зашифрованное ключом Боба. Второе - это случайное число Боба R_B, зашифрованное сеансовым ключом.

Alice\to\{E_B(A,K),E_K(R_B)\}\to Bob

5 этап Боб расшифровывает первое сообщение, извлекает K и убеждается, что R_B совпадает с отправленным на 2ом этапе. В результате Алиса и Боб убеждены, что они общаются именно друг с другом

Needham-Schroeder

1 этап Алиса посылает Тренту сообщение, содержащее её имя A, имя Боба B и случайное число R_A

Alice\to\{A,B,R_A\}\to Trent

2 этап Трент генерирует случайный сеансовый ключ K. Он шифрует сообщение, содержащее случайный сеансовый ключ K и имя Алисы A, секретным ключом, общим для него и Боба. Затем сообщение, содержащее случайное число Алисы R_A, имя Боба B, случайный сеансовый ключ K , и шифрованное сообщение E_B(K,A) Трент шифрует секретным ключом, общим для него и Алисы. Отправляет шифрованное сообщение Алисе:

Trent\to\{E_A(R_A,B,K,E_B(K,A))\}\to Alice

3 этап Алиса расшифровывает сообщение и извлекает K. Она убеждается, что R_A, совпадает со значением, отправленным Тренту на 1ом этапе. Затем она посылает Бобу сообщение, зашифрованное Трентом общим с Бобом ключом.

Alice\to\{E_B(K,A)\}\to Bob

4 этап Боб расшифровывает сообщение и извлекает K. Затем он генерирует другое случайное число, R_B. Он шифрует это число ключом K и отправляет его Алисе.

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

5 этап Алиса расшифровывает сообщение с помощью ключа K. Она вычисляет число R_B-1 и шифрует это число ключом K. Затем она посылает это сообщение обратно Бобу.

Alice\to\{E_K(R_B-1)\}\to Bob

6 этап Боб расшифровывает сообщение с помощью ключа K и проверяет значение R_B-1.


Шнаер 56


Система Orphus

Комментарии