DASS (протокол)
Идентификаторы Алисы (Alice), инициатора сессии | |
Идентификатор Боба (Bob), стороны, с которой устанавливается сессия | |
Идентификатор Трента (Trent), доверенной промежуточной стороны | |
Открытые ключи Алисы, Боба и Трента | |
Секретные ключи Алисы, Боба и Трента | |
Шифрование данных ключом Алисы, либо совместным ключом Алисы и Трента | |
Шифрование данных ключом Боба, либо совместным ключом Боба и Трента | |
Шифрование данных секретными ключами Алисы, Боба (цифровая подпись) | |
Порядковый номер сессии (для предотвращения атаки с повтором) | |
Случайный сеансовый ключ, который будет использоваться для симметричного шифрования данных | |
Шифрование данных временным сеансовым ключом | |
Метки времени, добавляемые в сообщения Алисой и Бобом соответственно | |
Случайные числа (nonce), которые были выбраны Алисой и Бобом соответственно | |
Заранее созданные пары открытых и закрытых ключей Алисы, Боба и Трента соответственно | |
Случайная сеансовая пара открытого и закрытого ключей, которая будет использоваться для асимметричного шифрования | |
Подписывание данных с использованием закрытого ключа Алисы, Боба, промежуточной стороны (Trent) или закрытого ключа из случайной пары соответственно | |
Асимметричное шифрование данных с использованием открытого ключа Алисы, Боба, промежуточной стороны (Trent) или открытого ключа из случайной пары соответственно |
Протокол DASS (англ. Distributed Authentication Security Service) — асимметричный протокол аутентификации и распределения сеансовых ключей с использованием промежуточной доверенной стороны.
Протокол DASS являлся составной частью сервиса распределённой аутентификации DASS, разработанного компанией Digital Equipment Corporation и описанного в RFC 1507[1] в сентябре 1993 года.
В протоколе DASS, по аналогии с протоколами Wide-Mouth Frog и Деннинга — Сакко, инициатор (Алиса) генерирует и новый сеансовый ключ, и, для каждого сеанса протокола, новую пару открытого и закрытого ключей отправителя. Доверенный центр (Трент) используется как хранилище сертификатов открытых ключей участников. Но в отличие от Деннинга — Сакко к доверенному центру обращаются по очереди оба участника[2].
![](http://upload.wikimedia.org/wikipedia/commons/thumb/2/20/%D0%92%D0%B7%D0%B0%D0%B8%D0%BC%D0%BE%D0%B4%D0%B5%D0%B9%D1%81%D1%82%D0%B2%D0%B8%D0%B5.png/220px-%D0%92%D0%B7%D0%B0%D0%B8%D0%BC%D0%BE%D0%B4%D0%B5%D0%B9%D1%81%D1%82%D0%B2%D0%B8%D0%B5.png)
Описание протокола
[править | править код]Алиса посылает сообщение Тренту на получение открытого ключа Боба
Трент присылает открытый ключ Боба, подписав его своим закрытым ключом
Алиса проверяет данные с помощью известного ей заранее открытого ключа Трента, после чего генерирует сеансовый ключ , сеансовую пару ключей и посылает набор сообщений Бобу, включая метку времени и срок жизни ключа , часть из них шифруя, часть подписывая:
Боб отправляет Тренту запрос на получение открытого ключа Алисы
Трент присылает открытый ключ Алисы, подписав его своим закрытым ключом
Используя данные из сообщений Алисы и Трента, Боб проверяет подписи Алисы, извлекает открытый временный ключ , извлекает сеансовый ключ (проверяя также подпись с использованием ), и расшифровывает Невозможно разобрать выражение (SVG (MathML можно включить с помощью плагина для браузера): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «http://localhost:6011/ru.wikipedia.org/v1/»:): {\displaystyle T_A} убеждаясь, что использует текущее сообщение, а не повтор.
При необходимости протокол может быть продолжен, обеспечивая взаимную идентификацию сторон:
Алиса расшифровывает метку времени и убеждается, что получила текущее сообщение[3].
Альтернативное описание протокола
[править | править код]Описание протокола происходит по принципу APTC, который устраняет различия в структурах системы перехода, структуре событий и т. д. и рассматривает их поведенческие эквиваленты. Он считает, что существует два вида причинно-следственных связей: хронологический порядок, смоделированный последовательной композицией, и причинно-следственный порядок между различными параллельными ветвями, смоделированный коммуникационным слиянием. Он также считает, что существуют два вида конфликтных отношений: структурный конфликт, моделируемый альтернативной позицией, и конфликты в разных параллельных ветвях, которые должны быть устранены. Основывающийся при консервативном расширении в IPTC есть четыре модуля: BATC (Базовая алгебра для истинного Параллелизм), APTC (Алгебра для параллелизма в истинном параллелизме), рекурсия и абстракция. Подробнее …[4]
![](http://upload.wikimedia.org/wikipedia/commons/thumb/b/b1/Wang_Dass.png/220px-Wang_Dass.png)
Уязвимости протокола DASS
[править | править код]В протоколе используется время жизни (𝐿) сеансового ключа 𝐾𝑃, однако в сообщение не включена метка времени. В результате протокол остаётся уязвимым для атаки с известным сеансовым ключом (KN). Предположим, что Меллори смогла записать полностью прошедший сеанс связи между Алисой и Бобом, а потом смогла получить доступ к сеансовому ключу 𝐾. Это позволяет Меллори аутентифицировать себя как Алиса перед Бобом.
(1) 𝑀𝑒𝑙𝑙𝑜𝑟𝑦 (𝐴𝑙𝑖𝑐𝑒) → {𝐸𝐾 (𝑇𝑀) , 𝑆𝐴 (𝐿, 𝐴, 𝐾𝑃) , 𝑆𝐾𝑃 (𝐸𝐵 (𝐾))} →𝐵𝑜𝑏
(2) 𝐵𝑜𝑏 → {𝐴} → 𝑇𝑟𝑒𝑛𝑡
(3) 𝑇𝑟𝑒𝑛𝑡 → {𝑆𝑇 (𝐴, 𝐾𝐴)} → 𝐵𝑜𝑏
(4) 𝐵𝑜𝑏 → {𝐸𝐾 {𝑇𝐵}} → 𝑀𝑒𝑙𝑙𝑜𝑟𝑦 (𝐴𝑙𝑖𝑐𝑒)
На первом проходе Меллори меняет только первое сообщение, содержащее метку времени 𝐸𝐾 (𝑇𝑀). Всё остальное Меллори копирует из записанного сеанса связи. Если Боб не записывает используемые ключи, он не заметит подмены. Простейшее исправление данной уязвимости состоит во включении метки времени в сообщение 𝑆𝐴 (𝑇𝐴, 𝐿, 𝐴, 𝐾𝑃).
Так как в протоколе сеансовый ключ 𝐾 шифруется «мастер»-ключом Боба 𝐾𝐵, то компрометация последнего приведёт к компрометации всех использованных ранее сеансовых ключей. То есть протокол не обеспечивает совершенной прямой секретности (цельG9). Ни Трент, ни Боб не участвуют в формировании новых сеансовых ключей. Поэтому Алиса может заставить Боба использовать старый сеансовый ключ, как в протоколах Wide-Mouth Frog и Yahalom[2].
Примечания
[править | править код]- ↑ Charles Kaufman. DASS Distributed Authentication Security Service (англ.). datatracker.ietf.org P.10 (119) (сентябрь 1993). Дата обращения: 17 сентября 2021. Архивировано 17 сентября 2021 года.
- ↑ 1 2 Владимиров С.М. Габидулин Э. М. Колыбельников А.И. Кшевецкий А. С. - Криптографические методы защиты информации. Учебное пособие.. — 2019. — С. 225,226. — 409 с.
- ↑ Bruce Schneier. Applied Cryptography, Second Edition: Protocols, Algorthms, and Source Code in C (cloth). — (Publisher: John Wiley & Sons, Inc.), 01/01/96. — С. 99—100. — 1027 с. — ISBN 0471128457.
- ↑ Yong Wang. Secure Process Algebra. — 13 Jan 2021. — С. P. 2, 103-108. — 168 с. Архивировано 29 октября 2021 года.
Литература
[править | править код]- Шнайер Б. Протокол DASS // Прикладная криптография. Протоколы, алгоритмы, исходные тексты на языке Си = Applied Cryptography. Protocols, Algorithms and Source Code in C. — М.: Триумф, 2002. — С. 83—84. — 816 с. — 3000 экз. — ISBN 5-89392-055-4.