Свойства криптографических протоколов и методы

advertisement
Методы анализа корректности криптографических
протоколов
Исаев Р.И., ООО «АТЭТ М», Мукимов Ж.Д., ГУП «UNICON.UZ»
В данной статье выполнен обзор и анализ алгебраических свойств
криптографических протоколов, методов и инструментальных программных
средств анализа корректности криптографических протоколов.
Ушбу мақолада криптографик протоколарнинг алгебраик хусусиятлари,
криптографик протоколларни корректлигини таҳлил қилиш усуллари ва
дастурий инструментал воситалари кўриб чиқилган ва тиҳлил қилинган.
In this article algebraic properties of cryptographic protocols, cryptographic protocols correctness verification methods and tools are overviewed and analyzed.
Криптографические
протоколы
используются во всех распределенных
системах для аутентификации и для
многих других целей, связанных с обеспечением контроля доступа, конфиденциальности и безотказности от авторства. К криптографическим протоколам
предъявляются определенные требования, вытекающие из объекта их использования.
При анализе криптографических
протоколов необходимо учитывать все
действия и возможности аналитика
криптографического протокола, существующие и возможные методы атак на
криптографические протоколы, а также
уязвимости, заранее имеющиеся в самих криптографических протоколах, т.е.
должна быть определена гарантия корректности криптографического протокола. Корректность (soundness) - это способность криптографического протокола противостоять угрозам со стороны
противника и/или нарушителя, не располагающего необходимой секретной
информацией, но пытающегося выполнить протокол за участника, который по
определению должен такой информацией владеть [1].
В настоящее время многие криптографические протоколы разрабатываются и анализируются с использованием неформальных и интуитивных методов. При этом анализируются криптографические примитивы, применяемые
в криптографических протоколах или
алгебраические свойства криптографических протоколов. Основными алгебраическими свойствами криптографических протоколов являются следующие [2]:
- ассоциативность: f ( f (x,y), z) = f
(x, f (y, z)) или (x+y)+z = x+(y+z);
- коммутативность: {{x}y}z = {{x}z}y
или {{x}k}k−1 = x and {{x}k−1}k = x;
- свойство исключающего ИЛИ
(XOR), эта операция имеет следующие
свойства:
x  (y  z) = (x  y)  z (ассоциативность), здесь  - операция XOR;
x  y = y  x (коммутативность);
x  0 = x (существование единичного элемента);
x  x=0 (нилпотентность
или
коммутативность групповой операции);
- абелева группа, имеющая следующие свойства:
x×(y×z) = (x×y)×z (ассоциативность), здесь × - бинарная мультипликативная операция;
x×y = y×x (коммутативность);
x×1 = x (существование единичного элемента);
x×x−1 = 1 (инверсность);
- гомоморфизм: {[u,v]}k =
=[{u}k,{v}k ];
- свойство префикса – это свойство, обеспечивающее защиту от раскрытия префикса сообщения, например
если {x,y}z это зашифрованный открытый текст (x – префикс, y – само сообщение), то {x}z – это зашифрованный
префикс;
- абелева группа и модулярное
возведение в степень:
exp(exp(x,y), z) = exp(x,y×z);
exp(x,1) = x;
- временной штамп.
Анализ алгебраических свойств
криптографического протокола необходим в том случае, когда:
- при атаке на криптографический
протокол
используются
уязвимости
криптографических примитивов, применяемых в криптографическом протоколе;
- криптографический протокол не
может функционировать без использования определенного криптографического примитива.
Однако анализ алгебраических
свойств не гарантирует, что криптографический
протокол
обеспечивает
остальные свойства криптографических
протоколов, установленных в документах IETF и является корректным.
Для анализа корректности криптографических протоколов необходимо
сначало представить протокол с использованием какой-либо модели.
Для анализа свойств криптографических протоколов в настоящее время широко применяются формальные методы
анализа криптографических протоколов. В
формальных методах анализа криптографических протоколов применяется модель
злоумышленника Далева-Яо, т.е. в этой
модели злоумыщленик идеализируется
или предполагается, что он имеет все
возможности для выполнения атаки на
криптографический
протокол
и
предпологается,
что
алгебраические
примитивы,
применяемые
в
криптографическом протоколе не приводят
к
уязвимости
криптографического
протокола.
Формальные методы анализа
криптографических протоколов дают
возможность [1, 3,4]:
- установить точные границы
между протоколом и средой его функционирования;
- определить точное функциональное поведение или поведение в
реальном масштабе времени;
- определить точные требуемые
свойства протокола;
- доказать действительно ли
протокол выполняет возложенные задачи;
- определить при каких условиях
протокол не может выполнять возложенные задачи.
Формальные методы анализа
криптографических протоколов можно
разделить на четыре вида [5]:
- методы, основанные на модальной логике для анализа знаний и
доверия (I вид);
- методы, основанные на экспертных системах, с помощью которых разработчик криптографических протоколов
может изучить поведение протокола при
различных сценариях атак (II вид);
- методы, основанные на моделировании и анализе протоколов с использованием языков спецификаций и
инструментариев анализа разработанных не для анализа криптографических
протоколов (III вид);
- методы, основанные на формальных моделях базирующихся на алгебраических и логических свойствах
криптографических протоколов (алгебраическое моделирование) (IV вид).
На рис. 1 приведена классификация методов анализа корректности
криптографических протоколов [1-13].
На сегодняшний день наиболее
широко применямыми методами анализа
корректности
криптографических
протоколов
являются
методы,
основанные на модальной логике, в
частности
наиболее
эффективным
методом анализа криптографических
протоколов на основе модальной логики
является BAN логика (Burrows-AbadiNeedham logic) и его расширения (GNY
логика, Логика Сиверсона и т.д.). Целью
применения модельной логики является
вывод
из
описания
протокола
утверждение корректности протокола и
если невозможно сделать такой вывод в
случае полноты логики это означает, что
протокол имеет уязвимость.
BAN логика дает возможность
получить
ответы
на
следующие
вопросы:
1. Нужно ли для протокола
больше допущений чем для других
протоколов?
2. Имеются ли в протоколе
нежелательные шаги?
3. Имеется ли в протоколе
шифрование сообщений,
передача
которых в открытом виде не влияет на
безопасность протокола?
4. Откуда происходит информация
передаваемая в протоколе?
5. Является ли информация
передаваемая в протоколе первой
передачей («новой») или повторной?
6. Какой ещё стороне известна
(или может быть известна) информация
испольуемая в протоколе?
Методы верификации корректности криптографических протоколов
Символические
Алгебраические
Методы, основанные
На модальной логике для анализа знаний и доверия
Логика
Каилара
Логика Мао и
Бойда
На экспертных
системах
Логика
Бьебера
Логика
Мозера
На моделировании и анализе протоколов с использованием языков
спецификаций и инструментариев
анализа
ЭС Interrogator
Формальный
язык спецификаций Ina Jo
Системы, основанные на правилах
Конечные автоматы
Логика
Сиверсона
BAN логика
GNY
логика
На формальных моделях базирующихся на алгебраических и логических свойствах криптографических протоколов
Модель
Меррита
Модель
Далева-Яо
Метод
Таусанта
Алгоритм
Нарровера
KPL логика
Анализатор
протоколов
NRL
Рис. 1. Классификация методов анализа корректности
криптографических протоколов
Результатом применения BAN
логики для анализа криптографического
протокола являются набор аксиом или
логических выводов, утверждающих
корректность
криптографического
протокола. Невозможность заключения
вывода указывает на существование
уязвимости
в
протоколе.
Ниже
приведены примеры выводов по BAN
логике [3-7].
1. Если P верит, что K это ключ
общий с Q И P имеет K[X] ТОГДА P
верит, что Q действительно отправил X.
2. Если P верит, что сообщение
X «новое» (т.е. не передано повторно)
И P верит, что сообщение X передано
Q, ТОГДА P верит, что Q верит в
сообщение X.
3. Если P верит, что X это
«новое» сообщение, ТОГДА P верит,
что «X,Y» это новые сообщения.
4. Если P верит, что Q доверяет
сообщению X И если P верит, что Q
обладает сообщением X, ТОГДА P
доверяет сообщению X.
Согласно
с
рис.1
также
существуют ряд инструментальных
программных
средств
анализа
криптографических протоколов, но все
они имеют определенные ограничения,
т.е. либо не могут быть применены для
анализа любых криптографических
протоколов, либо имеют какие-то
исключения или условия для выведения
заключений о стойкости определенного
криптографического протокола. Такими
средствами являются ЭС Interrogator,
анализатор протоколов NRL и многие
другие средства разработанные для
анализа определенных протоколов.
Одной из самых больших проблем на сегодняшний день является то,
что существует огромное количество
формальных методов анализа криптографических протоколов и нет единого
мнения какой из этих методов необходимо использовать и об эффективности
их применения.
Однако, существуют ряд правил,
которые необходимо соблюдать при
разработке криптографических протоколов [16, 17]:
- результат атаки на криптографический протокол должен выявляться
в процессе выполнения протокола;
- протокол должен разрабатываться для определенного уровня до-
верия протокола (Protocol Assurance
Level) [15];
- каждое сообщение, используемое в протоколе должно иметь свое
точное применение;
- если для успешного выполнения протокола необходимо использовать данные о сторонах, то в протоколе
в качестве протокольных сообщений
необходимо использовать информацию, точно идентифицирующую стороны;
- разработчик протокола должен
быть уверен в целях использования
шифрования в криптографическом протоколе, т.е. неправильное использование шифрования в протоколе может
привести к ошибкам.
Эти правила являются базовыми
при разработке криптографических протоколов.
Выводы:
1. Исследование существующих
методов анализа криптографических
протоколов показало, что [18]:
- в криптографических протоколах необходимо использовать «новые»
идентификационные данные;
- криптографические протоколы,
используемые в больших системах не
только сложно разрабатывать, но и
сложно анализировать, поэтому для доказательства корректности криптографического протокола применение одного существующего метода анализа не
достаточно.
Из разнообразия методов и инструментальных программных средств
анализа криптографических протоколов
можно сделать вывод, что процесс анализа корректности криптографических
протоколов сложно разложить на более
мелкие задачи и определить наследственные свойства криптографических
протоколов, что препятствует созданию
или разработке универсальных методов
анализа корректности криптографических протоколов.
2. Для анализа корректности
криптографических протоколов необходимо усовершенствовать существующие и разработать более эффективные
формальные методы анализа криптографических протоколов, а также разработать стандарт на основе международного стандарта ISO/IEC 29128 [15],
который можно будет использоваться
также при сертификации по требованиям информационной безопасности информационных и коммуникационных
систем, в которых применяются криптографические протоколы.
Литература
1. Levente Buttyan, «Formal methods in the design of cryptographic protocols (state of the art)», Swiss Federal Institute of Technology Institute for computer
Communications and Applications (ICA)
EPFL-DI-ICA, CH-1015 Lausanne, Switzerland, pp. 14.
2. Véronique Cortier, Stéphanie
Delaune, Pascal Lafourcade, A Survey of
Algebraic Properties Used in Cryptographic Protocols, LORIA, CNRS & INRIA,
France Télécom R&D Laboratoire Spécification et Vérification.
3. Aviel D. Rubin, Peter Honeyman,
«Formal Methods for the Analysis of Authentication Protocols», p.35.
4. Andrei Lapets, «Formal representation and reasoning approaches in
modeling cryptographic protocols», May 7,
2008, pp. 11.
5. Catherine Meadows, «Applying
Formal Methods to the Analysis of a Key
Management Protocol», Center for Secure
Information Technology, Naval Research
Laboratory, Washington, DC20375, pp.
25.
6. Paul Syverson, Catherine
Meadows, «A Logical Language for Specifying Cryptographic Protocol Requirements», Center for High Assurance Computer Systems Naval Research Laboratory
Washington, DC 20375, pp.14.
7. Д. Масюк, «Современные тенденции в методах формального анализа криптографических протоколов»,
с.18.
8. Jeanet M. Wing, «A symbiotic relationship between formal methods and
security», School of Computer Science of
Carnegie Melon University, Pittsburgh,
pp.13.
9. Shin’ichiro Matsuo, Kunihiko
Miyazaki, Akira Otsuka, and David Basin,
«How to Evaluate the Security of Real-life
Cryptographic Protocols?», pp. 13.
10. Dean Rosenzweig, Davor Runje, and Wolfram Schulte, «Model–based
Testing of Cryptographic Protocols», Mi-
crosoft Research, University of Zagreb»,
pp. 33.
11. Issam Al-Azzoni, Douglas G.
Down, and Ridha Khedri, «Modeling and
Verification of Cryptographic Protocols Using Coloured Petri Nets and Design/CPN»,
McMaster University, pp. 28.
12. Roberto Zunino, «Models for
Cryptographic Protocol Analysis», Ph.D.
Thesis, Universit`a degli Studi di Pisa, pp.
136.
13. Jesper Buus Nielsen, «On Protocol Security in the Cryptographic Model», Ph.D. Dissertation, Department of
Computer Science University of Aarhus,
Denmark, pp. 358.
14. А. Косачев, В. Паномаренко
«Анализ подходов к верификации
функций безопасности и мобильности»,
Институт системного программирования
Российской академии наук, с. 101.
15. ISO/IEC 29128 Information
technology - Security techniques - Verification of cryptographic protocols.
16. Martin Abadi, Roger Needham
«Prudent Engineering Practice for Cryptographic Protocols», November 1, 1995,
pp. 32.
17. Sven Laur «CRYPTOGRAPHIC
PROTOCOL DESIGN», Dissertation for
the degree of Doctor of Science, pp.224.
18. Исаев Р., Расулов О.,
Мукимов Ж. «Анализ технологий и
протоколов
идентификации
и
аутентификации
пользователей
в
системах защиты информационных
систем
от
несанкционированного
доступа» //Aloqa dunyosi, 2008, №5/6 - с.
20-29.
Советуем прочитать
Модели безопасности компьютерных систем.
Девянин П.Н.
В книге рассмотрены с полными доказательствами положения основных
моделей безопасности компьютерных систем: дискреционного, мандатного,
ролевого разграничений доступа, безопасности информационных потоков,
изолированной программной среды. Приведен математический аппарат
используемый в рассматриваемых моделях.
Учебное пособие написано на основе десятилетнего опыта преподавания
автором дисциплин «теоритические основы компьютерной безопасности»,
«безопасность операционных [...]
Основы информационной безопасности.
Галатенко В.А.
Курс лекций. Учебное пособие.
В курс включены сведения, необходимые всем специалистам в области
информационной безопасности (ИБ) Рассматриваются основные понятия ИБ,
структура мер в области ИБ, кратко описываются меры законодательного,
административного, процедурного и программно — технического уровней.
Download