Система Orphus

Математическое описание, описание реализации (v5)

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

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

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

Трент генерирует два сообщения. Первое включает метку времени T_{T}, время жизни ключа L, новый сеансовый ключ для Алисы и Боба K и идентификатор Боба B. Это сообщение шифруется общим ключом Алисы и Трента. Второе сообщение содержит то же самое, кроме идентификатора - он заменен на идентификатор Алисы. Само сообщение шифруется общим ключом Трента и Боба:

Trent\to\{E_A(T_T,L,K,B),~E_B(T_T,L,K,A)\}\to Alice

Алиса генерирует сообщение из собственнного идентификатора A и метки времени T_{T}, после чего шифрует сообщение сеансовым ключом K и посылает Бобу вместе со вторым сообщением от Трента:

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

В целях собственной аутентификации Боб шифрует модифицированную метку времени T_T+1 общим сеансовым ключом K и посылает её Алисе:

Bob\to\{E_K(T_T+1)\}\to Alice

Важным предположением является синхронизированность часов всех участников протокола. Однако на практике используется синхронизация с точностью до нескольких минут с запоминанием истории передач (с целью обнаружения повтора) в течении некоторого времени.


Система Orphus

Комментарии