ФИЗИКО-МАТЕМАТИЧЕСКИЕ НАУКИ
УДК 004.414
Программное средство логической проверки корректности криптографических протоколов распределения ключей на основе ВА1Ч-логики
Н. С. Могилевская
(Донской государственный технический университет)
Рассмотрена идея анализа криптографических протоколов распределения ключей методами ВАН-логики; приведён пример анализа протокола Керберос; построено программное средство, автоматизирующее анализ протоколов распределения ключей; исследована корректность его работы.
Ключевые слова: формальный анализ протоколов, криптографические протоколы, протоколы распределения ключей, средства автоматизированного анализа протоколов, протокол Керберос.
Введение. Криптографические протоколы играют значимую роль в защите информации. В разное время было создано большое количество криптографических протоколов различного назначения. Фактически протокол представляет собой список сообщений, которыми должны обменяться участники протокола. Несмотря на кажущуюся простоту, проблема оценки уровня безопасности протоколов является очень сложной. Так многие протоколы, считавшиеся надёжными долгое время, спустя десятки лет демонстрировали свою уязвимость в результате атак [1, 2]. Если определять криптографический протокол более строго, то это — распределённый алгоритм последовательности шагов, точно специфицирующих действия, которые требуются от участников для решения некоторой криптографической задачи [1, 3].
Для исследования уровня безопасности, который может обеспечить как уже существующий, так и только разрабатываемый протокол, используют специализированные формальные методы. Среди математических аппаратов, используемых для решения задачи формального анализа протокола, важную роль играют различные логики, среди которых наибольшее распространение получили логики доверия. В работе [4] была предложена ВА1М-логика, которая стала основой для разработки ряда других логик. Данная логика является первой попыткой построения формального языка для описания исходных предположений, правил вывода и конечных целей анализа безопасности. ВА1М-логика, как и её расширения, позволяют проводить анализ протокола вручную, однако это достаточно трудоёмко и чревато ошибками. Целесообразным представляется использовать автоматизированные системы анализа, но в настоящее время подобных программ в свободном доступе нет. Программные средства (ПС), реализующие анализ протоколов методами ВАМ-логики, могут быть полезны и для тестирования работоспособности и безопасности криптографических протоколов обмена ключами, и для учебных целей, так как изучение любых логик доверия базируется на владении навыками анализа методами ВАМ-логики.
Постановка задачи. Создать ПС ВапАпа1угег, автоматизирующее процесс анализа криптографических протоколов методами ВАМ-логики. Входные и выходные данные программного средст-
ва должны быть максимально приближены по своему формату к идеализированным протоколам, предлагаемым создателями BAN-логики в оригинальной работе [4].
Для выполнения задачи кратко опишем идеи, лежащие в основе BAN-логики, и сконструируем алгоритмы работы ПС и опишем идею его создания. Затем рассмотрим пример анализа протокола с использованием ПС BanAnalyzer и исследуем корректность результатов его работы. Основные положения BAN-логики. Данная логика используется для анализа протоколов распределения ключей [4—6]. Основная идея BAN-логики состоит в отслеживании восприятия сторонами поступающей информации, а именно: какие данные они принимают на веру, какие данные им точно известны и какие могут быть выведены логическим путём из достоверных для них фактов. Так, для каждого шага протокола методами BAN-логики формируется список утверждений о безопасности протокола, которым доверяют участники протокола.
При использовании BAN-логики не моделируются ни различие между простым просмотром сообщения и пониманием его, ни пересмотр доверий, ни знание. Все эти аспекты адресуются к неформальному отображению спецификации протокола в спецификацию BAN-логики, которое авторы [4] называют идеализацией. Таким образом, анализу протокола предшествует его идеализация, которая производится человеком самостоятельно согласно описанию протокола. Идеализированные протоколы считаются более ясными и обладающими более полной спецификацией, чем традиционные описания. В терминах BAN-логики протокол рассматривается на абстрактном уровне, следовательно, ошибки конкретной реализации, такие как тупики или неправильное использование криптосистемы, при анализе не обнаруживаются. Методами BAN-логики анализируется непосредственно криптографический протокол и его логика, а используемые в нём криптографические методы считаются стойкими.
Перечислим объекты, которые различают в BAN-логике, и укажем их обозначения. Участники протокола обычно обозначаются А, В, 5; общие ключи шифрования, применяемые при симметричной криптографии, обозначаются КАВ, КА5 и KBS, где индексы в обозначении указывают на участников, использующих данных ключи; открытые ключи, используемые при асимметричной криптографии, обозначаются КА, К5 и Кв (где А, В, 5— участники, которым принадлежат данные открытые ключи), связанные с ними секретные ключи обозначаются /СГ1, Kf1 и Kf1 соответственно; NA, NB, Ns— специальные числовые значения (нонсы, метки времени); X, Y— общее обозначение для формул и утверждений.
Единственная используемая логическая операция в BAN-логике — конъюнкция обозначается запятой. Свойства ассоциативности и коммутативности считаются доказанными.
Укажем базовую систему обозначений, принятую в BAN-логике.
Р\= X — участник протокола Я верит (believes) утверждению X; далее участник Я будет действовать, считая, что утверждение X верно.
Р < X — участник Р видит (sees) утверждение X; участник Р получил от кого-то утверждение Xи может его прочитать и повторить.
Р \~ X — участник Я однажды заявил (once said) утверждение X, и в тот момент Я верил утверждению X, однако время этого высказывания неизвестно.
Я |=> X — Я обладает полномочиями (jurisdiction) над X; т. е. участник Я является автором утверждения X и верит в него. Эта конструкция часто обозначает, что пользователь имеет права на создание ключей.
#{Х) — утверждение Xявляется свежим (fresh). Под термином «свежий» понимается,
что утверждение Xсгенерировано в текущем сеансе связи и не было послано до начала работы протокола.
к
Я — участники Р и Q могут использовать общий ключ К для установления связи. Предполагается, что ключ К достаточно стоек и не может быть взломан кем-либо из посторонних, если это не предусмотрено протоколом.
к
-»Р — Я имеет открытый ключ К (public key), а также согласованный с ним качественный секретный ключ /С1, никому не известный, кроме Я или участника, которому он доверяет.
Я oQ — утверждение ^является секретом, известным только участникам Я и Q, и они могут использовать Хдля доказательства своей аутентичности один другому.
{Х}к — данные Xзашифрованы с использованием ключа К. Шифрование считается надёжным.
(Xs)к — конкатенация утверждения X и секрета Y. Секрет Y полностью идентифицирует
объект, заявивший утверждение X.
При анализе протоколов аутентификации различают два времени: прошлое и настоящее. Настоящее время начинается со старта данного сеанса работы протокола. Все сообщения, посланные до этого, считаются старыми сообщениями, и в ходе работы протокола необходимо предотвращать возможность появления таких сообщений. Все веры, принятые в настоящем, неизменны на протяжении всего сеанса работы протокола, однако те веры, которые были приняты в прошлом, не обязательно должны быть переведены в настоящее. Такое простое разделение времени на прошлое и настоящее является достаточным для использования в BAN-логике.
Ниже укажем наиболее важные правила вывода BAN-логики, используемые для получения новых утверждений и доверий участников протокола. В постулатах используем запись вида
А, В
~1Г'
что означает, что так как утверждения Ал В верны, то верно и утверждение С.
Первые три выражения задают так называемые правила значения сообщений. Основное их различие состоит в том для получения одного и того же утверждения используются различные исходные веры. Два первых правила позволяют интерпретировать шифрованные сообщения, а третье правило позволяет интерпретировать сообщения с секретами. Они все объясняют процесс получения верований о происхождении сообщений:
(1)
Р\=(2<*Р,Р<{Х}К
Р\=<2\~х
р\=4<э,р<{х}к_1
р\=(2\~х
р\=0^р,р<{х}к_1
р\=(1\~х
Дадим эквивалентную словесную формулировку первому из этих выражений: из предположений о том, что Я верит в совместное с <3 использование ключа К, и Я видит сообщение X, зашифро-
7
ванное ключом К, делаем вывод: Р верит, что (3 в какой-то момент высказал X. Заметим, что здесь неявно предполагается, что сам Я никогда не высказывал X.
Правило проверки нонсов:
т. е. если Р верит, в свежесть сообщения Xи верит, что (2 когда-то высказал X, то он верит в то, что по-прежнему доверяет X.
Правило полномочий:
говорит, что вера Р в полномочия относительно Х\л вера (^в X, влекут за собой веру Р в X.
Как уже было сказано, перед непосредственным анализом протокола его необходимо представить в идеализированной форме. Для этого нужно записать шаги протокола в терминах ВАМ-логики. Обычно в литературе каждый шаг протокола записывается в виде символьной строки:
Такая запись означает, что участник Р посылает сообщение участнику (Э, а (Э получает это сообщение. Сообщение представляет собой строчку, содержащую различные данные. Сообщение в идеализированном протоколе — это формула. Например, в описании протокола может быть такая символьная запись:
которая означает, что В получил сообщение от А. Сообщение зашифровано ключом КВ5 связи участника В и доверенного сервера 5 и содержит имя участника протокола А, а также ключ КАВ для связи участников А и В. Этот шаг может быть идеализирован как:
что означает, что участник В принял сообщение и может действовать дальше на основе полученных данных. В идеализированной форме опускаются части сообщений, которые не способствуют получению новых формул. Например, можно опустить сообщения, используемые как рекомендации о необходимости инициализации связи, то есть, как будто участники действуют спонтанно. Идеализированные протоколы не включают открытый текст как часть сообщения, так как эти части могут быть подделаны.
Идеализированные протоколы считаются более ясными и более законченными спецификациями, чем традиционные описания, используемые в литературе, поэтому авторы ВАМ-логики рекомендуют использовать идеализированные формы при изобретении и описании протоколов. Получение практического вида протокола из идеализированной формы, хотя и не совсем тривиально, но менее трудоёмко и менее подвержено ошибкам, чем однозначное понимание специфических неформальных записей протоколов. К сожалению, идеализация протокола производится человеком самостоятельно, этот этап нельзя автоматизировать, и, следовательно, при его выполнении возможны ошибки. К тому же не существует строгого алгоритма записи протокола в идеализированной форме. Более того, в ряде случаев идеализация одного и того же шага протокола может быть выполнена различными способами.
Р\=НХ),Р\=(2 \~Х Р N<21=*
(2)
Р\=(2\=> Х,Р\=(2\=Х Р \= X
(3)
Р сообщение.
А^В:{А,К^,
Укажем в общем виде утверждения, достижение которых обычно и является целью анализа протокола с использованием симметричной криптографии.
Для протоколов передачи ключей минимальными целями являются:
т. е. оба участника верят в то, что у них есть общий ключ К для связи. Однако можно потребовать от протокола большего, например уверенности участников в свежести ключа:
а также уверенности каждого из них в том, что другой участник также верит в этот ключ:
а\=в\=а1>в,в\=а\=а1>в.
Такие утверждения называют подтверждением приёма ключа. Т. е. в результате работы протокола А будет уверен в знании Во том, что он разделяет секретный ключ с Л а б будет верить в то, что А знает об их общем ключе. В случае использования асимметричной криптографии цели анализа протокола формируются аналогичными утверждениями.
Пример анализа протокола методами BAN-логики. Рассмотрим хорошо известный протокол Керберос [2, 3], разработанный как часть проекта Project Athena корпорацией МГГ. Протокол позволяет двум участникам, используя доверенный сервер аутентификации, получить общий ключ. Напомним, что протокол состоит из 4 шагов. На первом участник А посылает серверу 5 сообщение, указывая участника В, с которым хочет установить общий ключ; на втором шаге сервер 5 отправляет А новый ключ КАВ, зашифрованный ранее установленным между Л и 5 общим ключом КА5, а также КАВ, зашифрованный общим между В\л 5 ключом КВ5. В своё сообщение 5 добавляет временные метки для подтверждения свежести ключа; на следующем шаге участник А пересылает участнику В сообщение из двух частей: ключ КАВ, зашифрованный KBS, а так же ключ КАВ, зашифрованный этим же ключом. В своё сообщение А добавляет временные метки; на последнем шаге участник В пересылает А сообщение со своей временной меткой, закрытое новым общим ключом КАВ. В традиционной символьной записи шаги этого протокола выглядят следующим образом:
Построим идеализацию протокола. Отметим, что первый шаг отбрасывается, так как не имеет ценности для дальнейшего анализа, а служит только для инициализации протокола:
К
К
А \=А<г^В, В \=А<г^В
LUarl\A->S \{А,В}
В табл. указаны первоначальные доверия участников, необходимые для начала работы протокола.
Доверия участников протокола Керберос (в терминах ВА1Ч-логики)
Доверия Значение
К аз А\=А^>Б А верит, что между А и 5установлен общий ключ для симметричного шифрования КАз
К ез В \=В^Б Вверит, что между В и 5установлен общий ключ для симметричного шифрования КВз
А N 5 => КАВ А доверяет серверу аутентификации 5 генерацию симметричного ключа КАв
В N 5 => КАВ В доверяет серверу аутентификации генерацию симметричного ключа КАв
Л А верит в то, что временная вставка Т5, созданная Б, актуальна (доказывает свежесть сообщения от 5)
В\=#т3 В верит в то, что временная вставка Т5, созданная Б, актуальна (доказывает свежесть сообщения от 5)
Л А верит в то, что временная вставка В актуальна (доказывает свежесть сообщения от В)
В \=#тА В верит в то, что временная вставка А актуальна (доказывает свежесть сообщения от А)
Проанализируем шаги протокола последовательно один за другим, по возможности применяя к ним все основные правила ВАІМ-логики. Запишем основные значимые этапы анализа. На втором шаге, применяя правило значения сообщений (1) получаем:
Кк ( кж \ \ Ґ км
А\^А^5ГА<\ТЗГ\ А^В |,]Г5,| А^В
«АВ А Г (кя
л|.5|~г5,| а^в\,\т5,\ А^В ^
Из правила проверки нонсов (2) получаем
,А\=#ТВ
( кАВ
А\=5\= \А^В
Применение правила проверки полномочий (3) даёт нам следующий результат:
( «АВ Л ( «АВ '
А^В ,И|=5|=> А^В
КАВ
А\=\А<^В
(4)
(5)
(6)
Таким образом, в результате шага 2 протокола участник А доверяет полученному от 5 ключу для связи А и В.
Последовательно применяя (1), (2) и (3) к шагу 3 протокола получаем
К АВ К АВ
В \= А<г^В, В\=А\=А±+В.
Результат анализа шага 4 протокола даёт формулу:
КАВ
А\=В\=А^В.
Таким образом, анализ BAN-логикой показал, что выполнение протокола Керберос обеспечивает достижение всех целей симметричного протокола обмена ключами без использования дополнительных доверий. Ещё раз подчеркнём, что использованная логика не показывает уязвимостей протокола, связанных со слабостью процедур шифрования и ошибками реализации. По результатам анализа мы получили знание о логической корректности протокола. Алгоритмическое конструирование ПС. Алгоритмы работы программы условно можно разделить на четыре части: алгоритмы, реализующие взаимодействие с пользователем; алгоритм разбора введённого пользователем текста описания протокола на утверждения BAN-логики; алгоритм анализа протокола и алгоритм формирования выходных данных.
Алгоритм разбора пользовательского ввода на утверждения BAN-логики получает на вход текст описания протокола. Текст может содержать шаги протокола, принятые доверия и комментарии к описанию. Комментарии из дальнейшего анализа исключаются как незначимые для анализа протокола. Выделить их в описании достаточно просто по служебному символу «#», предваряющему текст комментария. Шаги протокола отличаются от доверий тем, что их запись начинается с номера. Затем в строках, содержащих шаги и доверия, выделяем имена участников, ключевые слова (believes, sees, said, controls) и т. д. Алгоритмом по мере работы заполняются списки шагов, доверий и сообщений об ошибках — эти три списка считаются вы-
S believes Kab A believes Kas S believes Kas A believes S controls Kab A believes fresh(Ts)
B believes Kbs S believes Kbs B believes S controls Kab B believes fresh(Ts)
B believes fresh(Ta)
2 A sees (Ts, Kab)Kas
3 B sees (Ts, Kab)Kbs #3 B sees (Ta)Kab #4 A sees (Ta+l)Kab
Рис. 1. Основное окно ПС ВапАпа1угег и полный текст описания исследуемого протокола Керберос
Наиболее трудоёмким является алгоритм проведения анализа. Он различается для симметричных и асимметричных криптографических протоколов. Оба варианта алгоритма включа-
ходными данными этого алгоритма.
Файл Помощь
Belives
Controls
Sees
Said
Fresh
[71 Показывать дополнительную информацию
Расчет
Результаты анализа
Steps: A
0 A SEES (TS,KAB)KAS
1 BSEES(TS, KAB)KBS
Trusts:
0 S BELIEVES KAB
1 A BELIEVES KAS
2 S BELIEVES KAS
3 A BELIEVES S CONTROLS KAB
4 A BELIEVES FRESHfTS i V
Описание протокола
ГК IJCIICfC? J WIIUVI3 I4CIU
A believes fiesb(Ts)
В believes Kbs S believes Kbs В believes S controls Kab В believes fiesh(Ts)
В believes fiesh(Ta)
2 A sees (Ts, Kab)Kas
3 В sees (Ts, Kab)Kbs
ют в себя как составную часть алгоритм поиска по довериям и результатам. Результат работы алгоритма поиска указывает, известно ли уже данное утверждение и чем оно является — первоначальным доверием или результатом анализа. Анализ каждого из шагов протокола проходит через три стадии, на каждой из которых последовательно применяются основные правила BAN-логики: проверка значений сообщений, проверка нонсов и проверка полномочий, при необходимости к основным правилам добавляется ещё ряд стандартных правил BAN-логики, не описанных в данной работе.
Выходные данные представляются в виде текстового файла, который формируется в следующем порядке: сначала к выходному тексту добавляем все распознанные шаги протокола в естественном порядке, затем добавляем все распознанные доверия протокола, после этого дописываем все полученные результаты анализа протокола в порядке их получения, в заключение вносим в результирующий файл информацию о всех неиспользованных довериях протокола, записи о правилах BAN-логики, применённых к каждому из шагов протокола, записи об ошибках во время распознавания шагов и доверий протокола.
Программное конструирование анализатора BAN-логики BanAnalyzer. Для реализации программного средства был использован высокоуровневый язык программирования C++ в совокупности с бесплатным фреймворком Qt4. Архитектурный каркас данного ПС реализует шаблон проектирования MVC («модель — представление — контроллер»). Это подразумевает, что модели данных приложения, пользовательский интерфейс и основная логика работы приложения разделены на три слабосвязных компонента так, что модификация одного из компонентов оказывает минимальное воздействие на остальные.
Роль обязательной для C++ функции main() в разработанном ПС заключается в создании главного окна приложения и запуска цикла обработки событий. Модель архитектуры MVC реализована в модуле models, представленном файлами models.h и models.срр. Основой программы является класс Expression, представляющий в программе выражения BAN-логики. Класс Exression имеет три поля: строковое поле who; поле type, принимающее одно из четырёх возможных значений: BELIEVES, CONTROLS, SAID, SEES, и поле what, являющееся объектом класса Subject, определённого в этом же модуле. Класс Expression имеет два конструктора; метод toQString, возвращающий строковое представление выражения, и статический метод stringlsType(QString), возвращающий значение «истина», если параметр функции является допустимым значением для поля type, и «ложь» в противном случае. Класс BanAnalyzer, унаследованный от QMainWindow, — основная составная часть представлений модели MVC. Важнейшими методами класса являются следующие. Input_parsing() реализует разбор пользовательского ввода на выражения BAN-логики, создание объектов класса Expression и добавление их к собственному объекту класса BanControl. On_pushButton_clicked() — обработчик события нажатия на кнопку «Расчёт», запускает метод input_parsing(), затем метод контроллера для процедуры анализа, после чего формирует окончательный вывод результата. Обработчики нажатия на кнопки конструктора описаний, добавляют соответствующие им слова в поле для ввода в текущую позицию курсора. Обработчики вызовов меню. Класс HelpDialog, унаследованный от QDialog, реализует диалоговое окно помощи. Основными функциональными компонентами являются следующие. Метод showHelp(QString) позволяет отображать текстовое содержание файла с именем, указанным в параметре на поле вывода диалогового окна. Обработчики нажатий на кнопки диалога вызывают метод showHelp, передавая ему различные имена файлов, в которых хранятся соответствующие справочные тексты. Класс BanControl — контроллер программы по архитек-
12
туре MVC, инкапсулирует в себе динамические списки шагов (steps), доверий (trusts) и результатов (results) протокола, список строк со сведениями об ошибках (messages) и некоторую служебную информацию, в том числе сведения об использовании шагов (массив steps_analisys) и доверий (массив trust_using). Алгоритм процедуры анализа протокола BAN-логикой выполняется в теле метода calculating().
В левой части рис. 1 приведён скриншот основного окна ПС BanAnalyzer, содержащий описание протокола Керберос и результаты его анализа. В программе для записи шагов протоколов и доверий участников использованы обозначения BAN-логики, предложенные разработчиками BAN-логики. Кнопки Believes, Controls, Said, Sees, Fresh используются для вставки соответствующих кванторов при формировании описания протокола. Пример проведения анализа протокола с использованием ПС BanAnalyzer. На правой части рис. 1 представлено полное описание протокола Керберос, введённое в программу для анализа. Результат анализа протокола Керберос с помощью построенного ПС представлен на рис. 2. Напомним, что по результатам ручного анализа протокол Керберос обеспечил достижение четырёх целей симметричного протокола обмена ключами, в результате автоматизированного анализа достигнуты те же цели. Итоговые результаты на рис. 2 подчёркнуты. Исследование работоспособности ПС BanAnalyzer. Для испытания качества разработанного ПС были подготовлены идеализированные описания ряда из четырнадцати хорошо известных протоколов (Керберос, асимметричного и симметричного протоколов Нидхема — Шрёдера, Ньюмана — Стабблайна, By — Лама, Деннинга — Сакко, Отвея — Рииса, Andrew RPC Handshake, DASS, BAN-Yahalom, Station-to-station, EKE, SPX, «Широкоротая лягушка» [2, 6, 7]). Для каждого из этих протоколов был проведён анализ «вручную» и подготовлен список известных из литературы возможных атак. В ходе испытаний проводился автоматизированный анализ с помощью разработанного ПС и затем сравнивались результаты автоматизированного, ручного анализа и известных уязвимостей. Проведённые испытания показали, что реализованное ПС BanAnalyzer корректно выполняет формальный анализ криптографических протоколов распределения ключей методами BAN-логики и может быть использовано как для изучения уже существующих протоколов, так и в процессе разработки новых протоколов для предотвращения их возможных уязвимостей.
Заключение. В работе построено автоматизированное ПС, позволяющее проводить формальную проверку логической корректности криптографических протоколов распределения ключей на основе использования BAN-логики. Проведённые исследования показали корректность его
13
Steps:
0 A SEES (TS, KABjKAS
1 В SEES (TS, KABjKBS
2 В SEES (ТА KAB) KAB
3 A SEES (ТВ, KAB) KAB Trusts:
0 A BELIEVES KAS
1 A BELIEVES S CONTROLS KAB
2 A BELIEVES FRESH(TS)
3 В BELIEVES KBS
4 В BELIEVES S CONTROLS KAB
5 В BELIEVES FRESH(TS)
6 В BELIEVES FRESH(TA)
7 A BELIEVES FRESH (ТВ)
8 В BELIEVES FRESH(TA)
Results:
A BELIEVES S SAID TS, KAB A BELIEVES S BELIEVES TS A BELIEVES S BELIEVES KAB A BELIEVES KAB В BELIEVES S SAID TS, KAB В BELIEVES S BELIEVES TS В BELIEVES S BELIEVES KAB В BELIEVES KAB В BELIEVES A SAID ТА, KAB В BELIEVES A BELIEVES ТА В BELIEVES A BELIEVES KAB A BELIEVES В SAID ТВ, KAB A BELIEVES В BELIEVES ТВ A BELIEVES В BELIEVES KAB
Additional info: trust 8 is unused !
Step 0 fully resolved
Step 1 fully resolved
Step 2 nonce-verification resolved
Step 3 nonce-verifiration resolved
Рис. 2. Результат автоматизированного анализа протокола Керберос
работы. В настоящее время построенное ПС доступно во внутренней сети ФГБОУ ВПО «ДГТУ» для использования студентами специальности 090103 «Компьютерная безопасность» в рамках изучения дисциплины «Криптографические протоколы» [5].
В качестве дальнейшего направления работы представляется интересным построить программные реализации для других логик доверия, например, AUTLOG (V. Kessler, G. Wedel), логики объяснений (R. Kaylar), RV-логики (D. Kindred), GNY (L. Gong, R. Needham, R. Yahalom), BGNY/HOL, SvO (P. Syverson), что позволит легко анализировать протоколы этими методами, а также проводить сравнительный анализ как различных протоколов, так и результатов анализа одного и того же протокола различными логиками. Считаем важной задачей организацию свободного доступа к разработанной программе и её исходным кодам через Интернет для всех заинтересованных в использовании, изучении, а также дальнейшей разработке. Библиографический список
1. Могилевская, Н. С. Верификация криптографических протоколов распределения ключей с использованием раскрашенных сетей Петри / Н. С. Могилевская, С. С. Колчанов // Вестник Донского гос. техн. ун-та. — 2011. — Т. 11. — № 9. — С. 1535—1543.
2. Черёмушкин, А. В. Криптографические протоколы: основные свойства и уязвимости / А. В. Черёмушкин. — Москва: Ин-т криптографии, 2009. — 272 с.
3. Шнайер, Б. Прикладная криптография. Протоколы, алгоритмы, исходные тексты на языке Си / Б. Шнайер. — Москва: Триумф, 2002. — 816 с.
4. Burrows, М. A logic of authentication / М. Burrows, М. Abadi, R. Needham // ACM Transactions on Computer System. — V. 8. — № 1. — Feb. 1990. — P. 18—36.
5. Могилевская, H. С. Основы BAN-логики: метод, указания к практическим занятиям по курсу «Криптографические протоколы» [Электрон, ресурс] / Н. С. Могилевская. — Режим доступа: http://de.dstu.edu.rU/CDOCourses/3/3/20125c3d5375-aa2f-41fe-ac35-b71dc060ae20/1001/metho d/index.html (дата обращения: 15.10.2011).
6. Могилевская, Н. С. Сравнение возможностей сетей Петри и BAN-логики в анализе криптографических протоколов проверки подлинности и обмена ключами / Н. С. Могилевская, С. С. Колчанов // Системный анализ, управление и обработка информации. — Ростов-на-Дону: Изд. центр ДГТУ, 2011. - С. 98-101.
7. Aly, S. Protocol verification and analysis using colored Petri nets. Technical report / S. Aly. — Cairo: Cairo University, 2003. — 26 p.
Материал поступил в редакцию 02.12.2011.
References
1. Mogilevskaya, N. S. Verifikaciya kriptograficheskix protokolov raspredeleniya klyuchej s is-pol'zovaniem raskrashenny'x setej Petri / N. S. Mogilevskaya, S. S. Kolchanov // Vestnik Donskogo gos. texn. un-ta. — 2011. — T. 11. — № 9. — S. 1535—1543. — In Russian.
2. Cheryomushkin, A. V. Kriptograficheskie protokoly': osnovny'e svojstva i uyazvimosti / A. V. Cheryomushkin. — Moskva: In-t kriptografii, 2009. — 272 s. — In Russian.
3. Shnajer, B. Prikladnaya kriptografiya. Protokoly', algoritmy', isxodny'e teksty' na yazy'ke Si / B. Shnajer. — Moskva: Triumf, 2002. — 816 s. — In Russian.
4. Burrows, M. A logic of authentication / M. Burrows, M. Abadi, R. Needham // ACM Transactions on Computer System. — V. 8. — № 1. — Feb. 1990. — P. 18—36.
5. Mogilevskaya, N. S. Osnovy' BAN-logiki: metod. ukazaniya k prakticheskim zanyatiyam po kursu «Kriptograficheskie protokoly'» [E'lektron. resurs] / N. S. Mogilevskaya. — Rezhim dostupa:
http://de.dstu.edu.rU/CDOCourses/3/3/20125c3d5375-aa2f-41fe-ac35-b71dc060ae20/1001/method/in dex.html (data obrashheniya: 15.10.2011). — In Russian.
6. Mogilevskaya, N. S. Sravnenie vozmozhnostej setej Petri i BAN-logiki v analize kriptografi-cheskix protokolov proverki podlinnosti i obmena klyuchami / N. S. Mogilevskaya, S. S. Kolchanov // Sistemny'j analiz, upravlenie i obrabotka informacii. — Rostov-na-Donu: Izd. centr DGTU, 2011. —
S. 98—101. — In Russian.
7. Aly, S. Protocol verification and analysis using colored Petri nets. Technical report /
S. Aly. — Cairo: Cairo University, 2003. — 26 p.
SOFTWARE TOOL FOR LOGICAL VALIDATION OF CRYPTOGRAPHIC KEY GENERATION PROTOCOLS BASED ON BAN-LOGIC
N. S. Mogilevskaya
(Don State Technical University)
The idea of analyzing cryptographic key generation protocols through BAN-logic methods is considered. An example of Kerberos protocol analysis is given. The software tool that automates the analysis of key generation protocols is built. Its validation is investigated.
Keywords: formal protocol analysis, cryptographic protocols, key generation protocols, computer-aided protocol analysis tools, Kerberos protocol.