DASS (протокол)

Материал из testwiki
Перейти к навигации Перейти к поиску
Криптографические обозначения, используемые в протоколах проверки подлинности и обмена ключами
AИдентификаторы Алисы (Alice), инициатора сессии
BИдентификатор Боба (Bob), стороны, с которой устанавливается сессия
TИдентификатор Трента (Trent), доверенной промежуточной стороны
KA,KB,KTОткрытые ключи Алисы, Боба и Трента
KA1,KB1,KT1Секретные ключи Алисы, Боба и Трента
EA,{...}KAШифрование данных ключом Алисы, либо совместным ключом Алисы и Трента
EB,{...}KBШифрование данных ключом Боба, либо совместным ключом Боба и Трента
{...}KB1,{...}KA1Шифрование данных секретными ключами Алисы, Боба (цифровая подпись)
IПорядковый номер сессии (для предотвращения атаки с повтором)
KСлучайный сеансовый ключ, который будет использоваться для симметричного шифрования данных
EK,{...}KШифрование данных временным сеансовым ключом
TA,TBМетки времени, добавляемые в сообщения Алисой и Бобом соответственно
RA,RBСлучайные числа (nonce), которые были выбраны Алисой и Бобом соответственно
KA,KB,KTЗаранее созданные пары открытых и закрытых ключей Алисы, Боба и Трента соответственно
KpСлучайная сеансовая пара открытого и закрытого ключей, которая будет использоваться для асимметричного шифрования
SA,SB,ST,SKpПодписывание данных с использованием закрытого ключа Алисы, Боба, промежуточной стороны (Trent) или закрытого ключа из случайной пары соответственно
EKA,EKB,EKT,EKpАсимметричное шифрование данных с использованием открытого ключа Алисы, Боба, промежуточной стороны (Trent) или открытого ключа из случайной пары соответственно

Протокол DASS (Шаблон:Lang-en) — асимметричный протокол аутентификации и распределения сеансовых ключей с использованием промежуточной доверенной стороны.

Протокол DASS являлся составной частью сервиса распределённой аутентификации DASS, разработанного компанией Digital Equipment Corporation и описанного в RFC 1507[1] в сентябре 1993 года.

В протоколе DASS, по аналогии с протоколами Wide-Mouth Frog и Деннинга — Сакко, инициатор (Алиса) генерирует и новый сеансовый ключ, и, для каждого сеанса протокола, новую пару открытого и закрытого ключей отправителя. Доверенный центр (Трент) используется как хранилище сертификатов открытых ключей участников. Но в отличие от Деннинга — Сакко к доверенному центру обращаются по очереди оба участника[2].

Взаимодействие участников протокола DASS

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

Алиса посылает сообщение Тренту на получение открытого ключа Боба

Alice{B}Trent

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

Trent{ST(B,KB)}Alice

Алиса проверяет данные с помощью известного ей заранее открытого ключа Трента, после чего генерирует сеансовый ключ K, сеансовую пару ключей KP и посылает набор сообщений Бобу, включая метку времени TA и срок жизни ключа L, часть из них шифруя, часть подписывая:

Alice{EK(TA),SA(L,A,KP),SKP(EKB(K))}Bob

Боб отправляет Тренту запрос на получение открытого ключа Алисы

Bob{A}Trent

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

Trent{ST(A,KA)}Bob

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

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

Bob{EK(TB)}Alice

Алиса расшифровывает метку времени и убеждается, что получила текущее сообщение[3].

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

Описание протокола происходит по принципу APTC, который устраняет различия в структурах системы перехода, структуре событий и т. д. и рассматривает их поведенческие эквиваленты. Он считает, что существует два вида причинно-следственных связей: хронологический порядок, смоделированный последовательной композицией, и причинно-следственный порядок между различными параллельными ветвями, смоделированный коммуникационным слиянием. Он также считает, что существуют два вида конфликтных отношений: структурный конфликт, моделируемый альтернативной позицией, и конфликты в разных параллельных ветвях, которые должны быть устранены. Основывающийся при консервативном расширении в IPTC есть четыре модуля: BATC (Базовая алгебра для истинного Параллелизм), APTC (Алгебра для параллелизма в истинном параллелизме), рекурсия и абстракция. Подробнее …[4]

Альтернативное описание DASS протокола

Уязвимости протокола DASS

В протоколе используется время жизни (𝐿) сеансового ключа 𝐾𝑃, однако в сообщение не включена метка времени. В результате протокол остаётся уязвимым для атаки с известным сеансовым ключом (KN). Предположим, что Меллори смогла записать полностью прошедший сеанс связи между Алисой и Бобом, а потом смогла получить доступ к сеансовому ключу 𝐾. Это позволяет Меллори аутентифицировать себя как Алиса перед Бобом.

(1) 𝑀𝑒𝑙𝑙𝑜𝑟𝑦 (𝐴𝑙𝑖𝑐𝑒) → {𝐸𝐾 (𝑇𝑀) , 𝑆𝐴 (𝐿, 𝐴, 𝐾𝑃) , 𝑆𝐾𝑃 (𝐸𝐵 (𝐾))} →𝐵𝑜𝑏

(2) 𝐵𝑜𝑏 → {𝐴} → 𝑇𝑟𝑒𝑛𝑡

(3) 𝑇𝑟𝑒𝑛𝑡 → {𝑆𝑇 (𝐴, 𝐾𝐴)} → 𝐵𝑜𝑏

(4) 𝐵𝑜𝑏 → {𝐸𝐾 {𝑇𝐵}} → 𝑀𝑒𝑙𝑙𝑜𝑟𝑦 (𝐴𝑙𝑖𝑐𝑒)

На первом проходе Меллори меняет только первое сообщение, содержащее метку времени 𝐸𝐾 (𝑇𝑀). Всё остальное Меллори копирует из записанного сеанса связи. Если Боб не записывает используемые ключи, он не заметит подмены. Простейшее исправление данной уязвимости состоит во включении метки времени в сообщение 𝑆𝐴 (𝑇𝐴, 𝐿, 𝐴, 𝐾𝑃).

Так как в протоколе сеансовый ключ 𝐾 шифруется «мастер»-ключом Боба 𝐾𝐵, то компрометация последнего приведёт к компрометации всех использованных ранее сеансовых ключей. То есть протокол не обеспечивает совершенной прямой секретности (цельG9). Ни Трент, ни Боб не участвуют в формировании новых сеансовых ключей. Поэтому Алиса может заставить Боба использовать старый сеансовый ключ, как в протоколах Wide-Mouth Frog и Yahalom[2].

Примечания

Шаблон:Примечания

Литература

Шаблон:Протоколы аутентификации и обмена ключами