УДК 004.056
Филонов Д.В.
студент 6 курса Воронежский государственный университет (г. Воронеж, Россия)
ВЕРИФИКАЦИЯ КРИПТОГРАФИЧЕСКИХ ПРОТОКОЛОВ В МОДЕЛИ ДОЛЕВА - ЯО
Аннотация: в статье рассматривается описание и верификация криптографических протоколов в рамках модели Долева — Яо, широко используемой для анализа безопасности коммуникационных систем. В работе представлен код для формальной проверки криптографического протокола, включающего ключевые механизмы, такие как генерация случайных чисел (nonce), симметричное шифрование и обмен сообщениями по открытому каналу. Модель Долева — Яо позволяет учитывать возможность активного противника, способного перехватывать, изменять и вставлять сообщения в канал связи. Проведенный анализ показывает, что предложенный протокол обеспечивает необходимый уровень конфиденциальности и аутентификации в условиях заданной модели угроз.
Ключевые слова: криптографические протоколы, модель Долева - Яо, верификация, конфиденциальность, криптографические методы, Диффи - Хеллман, формальный анализ, защита данных.
Модель Долева-Яо.
Предполагает, что злоумышленник обладает полным контролем над каналом связи. Он может перехватывать, изменять и вставлять сообщения, однако криптографические примитивы в этой модели считаются идеальными и не поддающимися взлому. Это позволяет анализировать протоколы на предмет уязвимостей, связанных с атаками на передачу данных, что делает модель востребованной для изучения механизмов аутентификации, обмена ключами и защиты конфиденциальности в сетевых взаимодействиях.
Модель Долева — Яо применяется в инструменте верификации PшVerif Это автоматический инструмент для анализа криптографических протоколов, позволяющий выявлять потенциальные атаки и проверять свойства безопасности.
Среди преимуществ верификации криптографических протоколов в модели Долева — Яо следует выделить:
- Эффективность при анализе протоколов в условиях, когда злоумышленник контролирует весь канал связи,
- Высокий уровень выявления атак, связанных с подменой или модификацией передаваемых данных.
Среди недостатков верификации криптографических протоколов в модели Долева — Яо следует выделить:
- Факт того, что модель Долева - Яо не учитывает вычислительные ограничения атакующего (криптоаналитическая верификация не проводится в модели Долева - Яо),
- Факт того, что предположение об идеальных криптографических примитивах может привести к игнорированию реальных уязвимостей (при проведении верификации в модели Долева - Яо не проводится криптоаналитический анализ, то есть шифрование и подписи не взламываются условным нарушителем).
Одним из наиболее подходящих протоколов для верификации в данной модели является протокол Диффи-Хеллмана, используемый для безопасного обмена ключами. Его анализ позволяет выявить потенциальные угрозы, к примеру, такие как атака «человек посередине» (MITM), при которой злоумышленник может подменять передаваемые ключи.
Инструмент верификации «Ргоуепв>.
Для анализа криптографических протоколов в модели Долева — Яо в статье используется инструмент PшVerif, что реализует принципы модели Долева — Яо и эффективно анализирует различные протоколы, выявляя уязвимости и ошибки в их логике. Среди его преимуществ можно выделить
простоту использования, поддержку различных криптографических примитивов и возможность анализа протоколов даже при наличии сложных атак.
ProVerif позволяет моделировать сетевые протоколы с учётом предположения об идеальности криптографических примитивов, что соответствует принципам модели Долева - Яо. Инструмент автоматической верификации также позволяет выявлять потенциальные угрозы, такие как перехват или вставка сообщений злоумышленником. Этот инструмент поддерживает анализ как базовых, так и сложных протоколов, включая механизмы аутентификации и обмена ключами, что делает его эффективным средством для оценки безопасности протоколов в модели Долева — Яо.
Пример описания основных этапов криптографического протокола в рамках модели Долева - Яо при использовании инструмента Proverif.
Рассмотрим условный протокол аутентификации с использованием симметричного шифрования, который представляет собой простой, но эффективный способ обеспечения безопасности и подлинности участников взаимодействия. В данном протоколе используется общий секретный ключ для шифрования и расшифрования сообщений, что позволяет участникам убедиться в подлинности друг друга и защитить передаваемые данные от несанкционированного доступа, также возможно его улучшение при помощи добавления процесса аутентификации на основе ЭЦП (Электронной Цифровой Подписи).
Протокол включает два участника, A (инициатор) и B (ответчик), которые обмениваются сообщениями через общедоступный канал а
Основные этапы протокола включают:
1. Генерация и отправка случайного числа:
- A генерирует случайное число (Ь^п^) N и шифрует его с использованием общего секретного ключа ^
- A отправляет зашифрованное сообщение enc(N, ^ участнику B.
2. Получение и расшифровка случайного числа:
- B получает зашифрованное сообщение и расшифровывает его с использованием ключа ^ извлекая N
- B генерирует новое случайное число M и шифрует его вместе с N с использованием ключа ^
- B отправляет зашифрованное сообщение enc((N, M), ^ участнику A.
3. Проверка подлинности:
- A получает зашифрованное сообщение, расшифровывает его с использованием ключа K и проверяет, что N совпадает с отправленным ранее.
Проведение формальной верификации в рамках модели Долева - Яо, используя инструмент Proverif.
Ниже приведено формальное описание криптографического протокола в модели Долева-Яо на языке Proverif
free c: channel.
type nonce.
type key.
fun enc(bitstring, key): bitstring
reduc forall x: bitstring, y: key; dec (enc (x, у), y) = x.
free K: key [private].
query attacker(K).
let processA =
new N: bitstring;
out(c, enc{N, K));
in(c, m: bitstring);
let (=N, M: nonce) = dec(m, K) 0 ♦ in
let processB =
in(c, m: bitstring);
let N = dec(m, K) in
new M: nonce;
outic, encMN, M) , K) ) .
process
(iprocessA ) | {¡processB)
Листинг 1. Формальное описание протокола в модели Долева - Яо.
Результаты верификации криптографического протокола в рамках модели Долева - Яо.
Результат верификации можно увидеть на рисунке ниже.
— Query not attacker{K[]) in process 0 Translating the process into Horn clauses select attackerCenc(N_2JK[]))/-5000 Completing.,,
Starting query not attacker(K[]) RESULT not attacker(K[]) is true.
Verification summary:
Query not attaclcer(K[]) is true.
Рисунок 1. Вывод Proverif о недоступности ключа K.
Протокол аутентификации, основанный на симметричном шифровании, гарантирует защиту данных и подтверждает подлинность участников взаимодействия. В его основе лежит использование общего секретного ключа, который применяется как для шифрования, так и для расшифровки сообщений. Это позволяет сторонам убедиться в достоверности друг друга и предотвратить несанкционированный доступ к передаваемой информации. Запрос query attacker(K) выполняется с целью проверки факта достижимости злоумышленником ключа K. На рис. 1 видно, что нарушитель так и не достиг ключа К, что подтверждает его конфиденциальность в рамках данного протокола.
Для оценки конфиденциальности и аутентичности данного протокола было выполнено его описание с использованием модели Долева — Яо. Эта модель рассматривает сценарий, в котором злоумышленник обладает полным контролем над сетью, включая возможность перехвата, изменения и повторной отправки сообщений, что позволяет проверить устойчивость протокола к потенциальным атакам.
СПИСОК ЛИТЕРАТУРЫ:
1. Blanchet B. Automatic Verification of Security Protocols in the Symbolic Model: The Verifier ProVerif / B. Blanchet // Lecture Notes in Computer Science, 2012. — 54-87 с;
2. Shinde A. Cryptographic Protocols Specification and Verification tools / Shinde A. H, Umbarkar A.J., Pillai N.R. // Международный журнал компьютерных приложений. — 2012, - p. 1533 - 1539;
2. А. В. Черемушкин. Криптографические протоколы: основные свойства и уязвимости / А. В. Черемушкин. - г. Москва: Институт криптографии, связи и информатики, 2009. - 23 — 35 с;
3. Алгоритм Diffie-Hellman: Ключ к безопасному общению [Электронный ресурс] - URL: https://habr.com/ru/articles/726324/ (дата обращения: 26.12.2024);
4. MITM атаки [Электронный ресурс] - URL: https://habr.com/ru/articles/8 69898/ (дата обращения: 28.11.2024)
Filonov D.V.
Voronezh State University (Voronezh, Russia)
VERIFICATION OF CRYPTOGRAPHIC PROTOCOLS IN THE DOLEVA-YAO MODEL
Abstract: the article considers the description and verification of cryptographic protocols within the Dolev-Yao model, which is widely used to analyze the security of communication systems. The paper presents code for formal verification of a cryptographic protocol that includes key mechanisms such as random number generation (nonce), symmetric encryption, and message exchange over an open channel. The Dolev-Yao model allows one to take into account the possibility of an active adversary capable of intercepting, modifying, and inserting messages into the communication channel. The analysis shows that the proposed protocol provides the required level of confidentiality and authentication under the given threat model.
Keywords: cryptographic protocols, Dolev-Yao model, verification, confidentiality, cryptographic methods, Diffie-Hellman, formal analysis, data protection.