Классификация средств верификации протоколов
Подходы к верификации протоколов безопасности. Определение набора свойств, подлежащих проверке. Графический вывод шаблонов трассировки. Симметричное и асимметричное шифрование криптографических данных. Верификационные средства логического вывода.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 10.04.2019 |
Размер файла | 27,3 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http: //www. allbest. ru/
Южный федеральный университет Таганрог, Россия
Southern Federal University Taganrog, Russia
Классификация средств верификации протоколов
Classification of tools for protocol's verification
Кравцова А.С. (Руководитель Маро Е.А.)
Kravtsova A.S. (Supervisor Maro E.A.)
Существует большое количество средств верификации протоколов, именно поэтому стоит сформулировать четкие критерии для сравнения таких средств, с целью выбора наиболее подходящего для разработки протокола безопасности.
Стоит отметить основные свойства таких средств [4]:
• уровень автоматизации (величина степени автоматизации, прямо пропорциональна качеству);
• простота модели (то есть, вероятны ошибки в формальной модели; чем сложнее формальная модель, тем больше вероятность ошибки);
• гибкость в смысле выразительных свойств модели (качество обратно пропорционально количеству ограничений на свойства, модулированные при разработке);
• ограничения на модель в теоретико-вычислительном смысле (при усложнении конфигураций моделирования увеличивается качество);
• наличие ложных срабатываний при определении уязвимостей протокола (допускается небольшая вероятность ложного обнаружения возможной атаки);
• извлечение алгоритма атаки (возможность узнать способ эксплуатации уязвимости предпочтительнее в сравнении с индикацией наличия уязвимости протокола, с точки зрения его разработки);
• наличие сообщества исследователей и разработчиков, применяющих определенное средство верификации (что подчеркивает качество и актуальность данного средства).
Можно выделить основные подходы к верификации протоколов безопасности (и соответственно три класса методов верификации) [3]:
1) проверка на модели;
2) логический вывод (на основе доказательства свойств);
3) подход, основанный на уточнении шаблонов.
Существуют средства, реализующие какой-либо подход в “чистом виде”, другие могут совмещать в себе несколько подходов.
Подход “проверка на модели”
Метод верификации, основанный на проверке на модели, использует представление системы, как набор состояний. При этом выделяется подмножество состояний с каким-либо нарушенным критерием безопасности.
Для верификации в этом случае необходимо доказать, что такое множество в данной модели пустое, иначе система не попадает ни в одно из множеств. Для верификации применимы средства, которые специально ориентированы на верификацию протоколов безопасности, средства проверки на модели общего назначения, а также средства, в которых реализованы комбинированные подходы. Потеря гибкости средств верификации упрощает сам процесс верификации, но и доказывает более сложные свойства.
К универсальным средствам проверки на модели относятся: SPIN, Murphi, а также FDR2 и PRISM.
Верификация протоколов безопасности с использованием SPIN и Murphi осуществляется за счёт представления поведения участников протокола в виде, напоминающем фрагмент программы, написанном на языке Си (со специальными конструкциями, которые задают обмен данными между участниками), затем необходимо подобным образом специфицировать поведение злоумышленника (включая перехват сообщений и генерацию новых сообщений на основе известной злоумышленником информации), и, наконец, описать критерии безопасности с использованием темпоральной логики (в терминах переменных, представляющих состояние/знание участников протокола и/или злоумышленника) [1].
FDR2 основан на использовании нотации CSP для описания поведения участников протокола и, в отличие от Murphi и SPIN, использует подход уточняющей проверки на модели (refinement model checking), который заключается в том, чтобы подтвердить соответствие модели, описывающей поведение системы, реализующей проверяемый протокол, и модели, которая задает требования для данного протокола [3].
PRISM напоминает SPIN и Murphi. Отличие подразумевает моделирование в вероятностных терминах [3], что достигается за счет расширения выразительных возможностей модели на основе возможности обозначить некоторые вариации переходов из одного состояния в другое с обозначением вероятности для каждой вариации.
Средства проверки на модели, ориентированные на верификацию протоколов безопасности. К данной категории средств относятся Casper, а также частично AVISPA. Casper представляет собой надстройку над FDR2. Он позволяет использование наиболее подходящих терминов при описании протоколов. Такое описание преобразуется в CSP-модель. Компоненты, входящие в состав средства AVISPA, OFMC, SATMC и TA4SP относятся к средствам, реализующим подход проверки на модели [7].
Выполнение протокола безопасности с помощью средств Casper и частично AVISPA - это работа машины состояний, при которой и цели протокола интерпретируются на основе критерий, определяющих подмножество множества состояний, в которые система попадать не должна. Но, в отличие от универсальных средств, как SPIN и Murphi, существуют способы, которые существенно уменьшают зону исследования состояния системы, что говорит о более широкой возможности применения данных средств [3].
Подход “Логический вывод”
Метод верификации, основанный на логическом выводе, включается в описании протокола и действий злоумышленника в рамках некоторой формальной логики, в рамках которой происходит формулирование критерия безопасности протокола как утверждения, затем необходимо его доказать, возможно, с использованием автоматических или автоматизированных средств [2].
При применении метода логического вывода различают средства автоматизации доказательств общего назначения и средства, специально ориентированные на работу с протоколами безопасности.
К универсальным средствам логического вывода относится Isabelle. Isabelle - это средств верификации для автоматизированного логического вывода, основанное на логике предикатов первого порядка. Isabelle отличается от других средств тем, что в нем используется другая парадигма взаимодействия средства верификации и разработчика протокола.
Использование Isabelle подразумевает самостоятельное построение логической теории и доказательства в ее рамках каких-либо утверждений.
Автоматическое доказательство исключено из-за теоретических рамок. Но можно выполнить автоматически отдельные фрагменты логического вывода. То есть, пока какое-либо утверждение не доказано, невозможно сказать определенно, почему. Возможно, причина в его невыводимости (тогда можно говорить об его отрицании), или же потому, что еще не определен подходящий вывод. Можно сделать вывод, что эффективность работы с Isabelle во многом зависит от начальных предположений, которые разработчик протокола делает на основании своего опыта. Однако стоит отметить гибкость данного подхода.
Средства логического вывода, ориентированные на верификацию протоколов безопасности. К данной категории средств можно отнести
CAPLS, один из верификаторов, входящих в состав AVISPA (CLAtSE), и средство ProVerif. Эти средства используют разные подходы к верификации, и в отличие от Isabelle, позволяют получить какой-либо ответ о свойствах протокола, а также задавать модель протокола в терминах, соответствующих моделируемой предметной области. ProVerif является инструментом для автоматического анализ безопасности криптографических протоколов [2]. Поддержка данного средства продолжается, но не ограничиваясь этим, криптографические примитивы включают в себя: симметричное и асимметричное шифрование; цифровые подписи; хэш-функции; и неинтерактивные доказательства с нулевым знанием [5]. ProVerif способен обеспечить достижимость свойств, запись утверждений и эквивалентностей. Эти возможности особенно полезны в области компьютерной безопасности, так как они позволяют анализировать секретность и аутентификацию свойств. Кроме того, развивающиеся свойства, такие как неприкосновенность частной жизни, мониторинг и возможность проверки данных, также могут быть учтены.
Анализ протокола рассматривается с точки зрения неограниченного количества сессий и неограниченного пространства сообщений. Кроме того, ProVerif способен реконструировать атаку: когда свойство не может быть доказано, ProVerif пытается реконструировать трассировку выполнения, фальсифицируя нужное свойство [5]. Основная цель ProVerif является проверка криптографических протоколов. Криптографические протоколы являются параллельными программами, которые взаимодействуют с помощью каналов связи общего пользования, такие как Интернет, чтобы достичь некоторых связанных с безопасностью целей. Эти каналы, как предполагается, контролируются очень мощной средой, которая захватывает злоумышленника с возможностями "Долев-Яо". Поскольку злоумышленник имеет полный контроль каналов связи, злоумышленник может: читать, изменять, удалять и вводить сообщения. Злоумышленник также может манипулировать данными, например, вычислить номер элемента кортежа и расшифровать сообщения, если он имеет необходимые ключи. То есть, смоделированные участники должны быть взаимно честными [2].
Входящий в ProVerif язык позволяет такие криптографические протоколы и связанные с ними цели безопасности, которые должны быть закодированы формальным способом, позволяющим средству ProVerif автоматически проверить заявленные свойства безопасности [5].
Редко ProVerif может дать ложный ответ о наличии атаки. ProVerif не может определить алгоритм атаки, а только сообщает о ее возможности без позволения построить сценарий.
Подход, основанный на уточнении шаблонов
Scyther - средство верификации протоколов, в котором реализован подход на уточнении шаблонов, подразумевает определение протокола как последовательность событий (передача сообщений, которыми обмениваются участники сеанса и сообщений, которые может вставлять злоумышленник) [6]. Что касается разработки данного средства, его можно разделить на два основные компоненты. Ядро набора инструментов Scyther является инструментом командной строки Scyther, который включает в себя характеризующие и верификационные алгоритмы. Это автономное средство является выполняет анализ протокола. Второй компонент был разработан для удобства пользователя, и содержит дополнительный графический пользовательский интерфейс для инструмента командной строки Scyther. Этот компонент выступает в качестве обертки для инструмента командной строки, а также предоставляет собой редактор протокола, и графический вывод атак или шаблонов трассировки. Текущая реализация доступна для платформ Linux и Windows [6].
Инструмент командной строки написан на языке Си, и оптимизирован для скорости верификации. Он принимает в качестве входных данных описание протокола и оптимальные параметры (такие как, границы или соответствие функций) и выводит сводный отчет и, необязательно, представления моделей шаблонов трассировки в XML или в виде графа [6]. XML-выход инструмента Scyther используется для экспериментов в отношении систематического анализа атак и их классификации.
Scyther успешно используется для верификации безопасности и конструкции протоколов, а также для поддержки теоретических исследований. Он сочетает в себе возможность верификации (доказать правильность протокола в рамках модели) и фальсификации (отыскать конкретную атаку). Так же возможна проверка синхронизации.
Данное средство широко используется студентами и исследователями, что приводит к открытию многих ранее неизвестных атак.
Объединенные подходы к верификации.
Средство AVISPA предоставляет удобные средства спецификации моделируемого протокола, тем не менее, ограничено в проверке свойств.
Avispa - это набор приложений для построения и анализа формальных моделей протоколов безопасности. Модели протокола записываются в протокол на языке высокого уровня спецификации (HLPSL) [7]. Avispa описывает протоколы с указанием их свойств безопасности, а также Avispa включает набор инструментов для формального подтверждения протоколов.
Спецификация HLPSL переводится в промежуточный формат (IF), с помощью переводчика, который называется hlpsl2if [7]. IF - язык ниже уровнем, чем HLPSL. Сам переводчик вызывается автоматически. Спецификация протокола промежуточного формата (IF) затем входит в бэкэнды инструментов Avispa для его анализа, если цели безопасности удовлетворены или нарушены.
Всего Avispa включает в себя четыре компонента: OFMC, CLAtSe, SATMC и TA4SP. Список компонентов непрерывно пополняется новыми. Промежуточный формат (FI) разработан с той целью, что он будет прост для разработчиков других инструментов анализа для использования IF как языка ввода. Методы анализа четырех текущих компонентов средства Avispa дополняются (по крайней мере, частично, в том смысле, что некоторые основные методы являются общими для некоторых компонентов) и не эквивалентны, [7] могут возникнуть ситуации, в которых компоненты возвращают разные результаты. Если цель безопасности спецификации нарушается, компоненты Avispa обеспечивают отображение последовательности событий, приведших к данному нарушению. Интерфейс может также отображать след атаки в виде диаграммы последовательности сообщений. верификация протокол шифрование криптографический
Будучи комбинированным с точки зрения использования различных подходов к доказательству заданных свойств, оно жестко ограничивает набор свойств, подлежащих проверке (на уровне языка HLPSL). AVISPA, удовлетворяя требованиям по большинству параметров, не является гибким с точки зрения набора моделируемых свойств.
Универсальное в отношении проверяемых свойств средство Isabelle не позволяет описывать проверяемый протокол удобным образом, требуя для работы наличие специфических навыков [3].
Объединение и комбинирование разных средств верификации необходимо в условии отсутствия единственного совершенного средства при решении задач верификации.
Можно выделить два типа комбинированных средств верификации [3]:
1) применение определенных средств для проверки определенных свойств;
2) обобщение с помощью Isabelle.
Первый тип подразумевает то, что средства, которые направлены непосредственно на верификацию протоколов безопасности (такие как,
AVISPA, ProVerif), применяются при верификации стандартных свойств (конфиденциальности, аутентификации), а универсальные средства используются при верификации усложненных свойств.
Второй тип подразумевает использование возможностей Isabelle при обобщении частных свойств, проверенных другими средствами. Для упрощения верификации обычным действием является формальное описание упрощенного и ограниченного случая, затем результат, полученный неформальным образом, интерпретируется как покрывающий поведение протокола в общем случае. При более строгом обобщении следует использовать универсальное средство Isabelle, позволяющее получить строгое доказательство корректности обобщения вместо неформального интерпретирования.
Комбинированное применение этих средств основано на принципе “определенное средство для определенного свойства”. Например, при проверке стандартных и широко известных свойств, таких как конфиденциальность и аутентификация в случае атаки “man-in-themiddle” (“человек посередине”), применяется средство AVISPA, адаптированное для подобных задач. Для верификации нестандартных свойств, таких как конфиденциальность и аутентификация в случае атаки “man-in-the-end” (“человек в конце”), и свойств, которые связаны с особенностями реализации модулей и тегов или с временными характеристиками протокола, используется средство Isabelle.
С помощью AVISPA спроектированы модели для проверки аутентификации при атаке “man-in-the-middle”. Модели с использованием Isabelle находятся на стадии разработки. Для исследования всех возможностей средства Isabelle, его применяют для доказательства стандартных свойств.
Можно сделать вывод, что не существует идеального средства верификации протоколов, которое смогло бы оптимизировать решение всех проблем. Для всесторонней верификации протокола безопасности требуется комбинация нескольких средств, позволяющая компенсировать недостатки одного средства верификации за счет достоинств другого. Подход комбинации средств подразумевает анализ и классификацию свойств существующих средств верификации (а также подходов, лежащих в их основе).
Список литературы
1. Анализ подходов к верификации функций безопасности [Текст]. Москва: Российская Академия Наук. Институт Системного программирования, 2004. - 101 с.
2. Десницкий, В. А. Разработка и верификация протокола обмена сообщениями для защиты программ на основе механизма “удаленного доверия” [Текст] / В. А. Десницкий // Защита информации. Инсайд, 2008. - 94 с.
3. Котенко, И. В. Верификация протоколов безопасности на основе комбинированного использования существующих методов и средств [Текст] / И. В. Котенко. -- Труды СПИИРАН, 2009. - 310 с.
4. Черемушкин, А. В. Криптографические протоколы: основные свойства и уязвимости [Текст] / А. В. Черемушкин. - Москва: Институт криптографии, связи и информатики, 2009. - 360 с.
5. Blanchet, B. ProVerif: Automatic Cryptographic Protocol Verifier, User Manual and Tutorial [Text] / B. Blanchet, B. Smyth, V. Cheval. - University of Birmingham, 2015. - 115 p.
6. Cremers, C. J. F. Scyther - Semantics and Verication of Security Protocols [Text] / C. J. F. Cremers. - Technische Universiteit Eindhoven, 1998. - 192 p.
7. HLPSL Tutorial: A Beginner's Guide to Modelling and Analysing Internet Security Protocols [Text]. Information Society Technologies, The AVISPA team, 2006. - 53 p.
Размещено на Allbest.ru
...Подобные документы
Алгоритмы и стандарты криптографических преобразований. Криптографические преобразования на основе специального программного обеспечения. Метод криптографических преобразований на основе жесткой логики. Аналоги модуля шифрования и дешифрования данных.
курсовая работа [971,6 K], добавлен 30.01.2018Принципы обеспечения достоверности и сохранности, основанные на шифровании информации. Создание электронной цифровой подписи. Обеспечение достоверности и сохранности информации в автоматизированных системах. Симметричное и асимметричное шифрование.
курсовая работа [897,3 K], добавлен 19.01.2015Стеки протоколов общемировой сетевой базе. Формат кадра сообщения NetBIOS. Использование в сети стеков коммуникационных протоколов: IPX/SPX, TCP/IP, OSI и DECnet. Дистанционное управление освещением. Особенности использования коммуникационных протоколов.
презентация [3,1 M], добавлен 21.02.2015Зарождение и развитие криптографии. Симметричное шифрование и его особенности. Нейронная сеть и области ее использования, основные составляющие. Математическая модель нейронной сети на базе базисно-радиальных функций. Алгоритм симметричного шифрования.
курсовая работа [809,4 K], добавлен 30.09.2016Криптография — наука о методах обеспечения конфиденциальности и аутентичности информации. Реализация криптографии на примере трех программных продуктов: PGP, Tor, I2P. Понятие криптографических примитивов и протоколов, симметричных и асимметричных шифров.
учебное пособие [180,4 K], добавлен 17.06.2011История развития и классификация высокоуровневых языков логического программирования. Определение понятий графического интерфейса, сетевых протоколов и моделей баз данных. Современные системы программирования компании Borland/Inprise и фирмы Microsoft.
курсовая работа [72,3 K], добавлен 11.07.2011Теоретические аспекты протоколов с нулевым разглашением знания. Понятие криптографического протокола. Обман с несколькими личностями. Гамильтонов цикл в криптографических протоколах с нулевым разглашением знания. Сравнение данных. Скоростные тесты.
курсовая работа [361,5 K], добавлен 25.05.2017Обнаружение аномальных данных в одномерных выборках. Метод D-статистики и Титьена-Мура, графический метод диаграмма "ящик с усами". Описание алгоритмов верификации данных. Руководство для программиста. Анализ данных на основе критерия D-статистики.
курсовая работа [938,4 K], добавлен 24.06.2013Разработка протоколов передачи данных электросвязи для систем сотовой и кабельной связи по аналого-цифровым телефонным линиям связи. Одновременная передача данных и голоса, коррекция ошибок и сжатия; их возможности. История и прогноз на будущее.
реферат [72,9 K], добавлен 06.04.2010Основные виды угроз безопасности экономических информационных систем. Воздействие вредоносных программ. Шифрование как основной метод защиты информации. Правовые основы обеспечения информационной безопасности. Сущность криптографических методов.
курсовая работа [132,1 K], добавлен 28.07.2015Изучение архитектуры микроконтроллера AT89C52 фирмы Atmel. Разработка проектной схемы вывода рисунков на графический ЖК-индикатор на основе микроконтроллера. Составление программы по обработке и выводу на жидкокристаллический дисплей данных с LPT порта.
курсовая работа [76,1 K], добавлен 23.12.2012Особенности организации передачи данных в компьютерной сети. Эталонная модель взаимодействия открытых систем. Методы передачи данных на нижнем уровне, доступа к передающей среде. Анализ протоколов передачи данных нижнего уровня на примере стека TCP/IP.
курсовая работа [1,0 M], добавлен 07.08.2011Исследование элементов эллиптических кривых, необходимых для реализации криптографических протоколов. Изучение алгоритмов арифметики точек эллиптической кривой и способов генерации кривых для криптографических алгоритмов. Описание алгоритмов шифрования.
курсовая работа [371,2 K], добавлен 07.08.2012Модели и протоколы передачи данных. Эталонная модель OSI. Стандартизация в области телекоммуникаций. Стеки протоколов и стандартизация локальных сетей. Понятие открытой системы. Internet и стек протоколов TCP/IP. Взаимодействие открытых систем.
дипломная работа [98,9 K], добавлен 23.06.2012Общая характеристика протокола ICMP, его назначение и формат сообщений. Анализ применимости протокола ICMP при переходе с набора протоколов IP v4 на набор IP v6. Свойства и принцип работы, сферы применения протоколов обмена маршрутной информацией.
курсовая работа [210,8 K], добавлен 24.08.2009Понятие "Интернет" и его роль в современном мире. Понятие протоколов сетевого взаимодействия. Схема потока данных сквозь стек протоколов от приложения-клиента на одном компьютере к приложению-серверу на другом. Основные элементы технологии WWW.
презентация [248,0 K], добавлен 19.09.2016Применение алгоритмов шифрования и дешифрования данных в компьютерной технике в системах сокрытия конфиденциальной и коммерческой информации от злонамеренного использования сторонними лицами. Классический пример - симметричные криптографические алгоритмы.
дипломная работа [44,9 K], добавлен 08.07.2009Разработка первой программы для отправки электронной почты по сети. Развитие протоколов передачи данных. Роль Джона Постела в разработке и стандартизации сетевых протоколов. Способы подключения к Интернету. Настройка СТРИМ. Доступ через сотовую связь.
презентация [410,8 K], добавлен 30.04.2014Реализация алгоритма верификации данных; разработка программы обнаружения аномальных данных в одномерных выборках. Характеристика методов D-статистики, Титьена-Мура, диаграммы "Ящик с усами"; обеспечение эффективности оценок статистических данных.
курсовая работа [2,5 M], добавлен 27.05.2013Ознакомление с различными способами шифрования информации. Рассмотрение кодов Цезаря, Гронсфельда, Тритемиуса, азбуки Морзе, цифровые, табличные и шифров перестановки. Книжный, компьютерный коды и шифр Масонов. Изучение алгоритма сложных протоколов.
реферат [1,8 M], добавлен 14.05.2014