Петров А.А. Комп без-ть
.pdfОбщие сведения |
101 |
определяется состояние криптопротокола (системы), выражающееся в опи сании состояний участников и коммуникационных каналов между ними. После чего каждый набор состояний анализируется на предмет коррект ности и отсутствия тупиковых ситуаций.
Применение экспертных систем
Использование экспертных систем для исследований криптопротоколов заключается в апробировании различных сценариев работы криптопрото кола. В основе применения данных систем - задание некорректных состо яний и изучение результатов их обработки криптопротоколом. Этот под ход позволяет более эффективно, чем в первом случае, определять наличие
вкриптопротоколе уязвимостей, но не доказывает безопасность его ис пользования, а также не дает возможности работать с ним в автоматичес ких инструментариях для изучения различных атак на криптопротоколы. Другими словами, он позволяет определить, содержит ли криптопротокол известную уязвимость, но найти с его помощью новые уязвимости доста точно сложно.
На практике экспертные системы применяются совместно с ВАИ-логи- кой или формальными моделями. Так, например, метод, зафиксированный
вданном подходе, реализован как часть протокольного анализатора ИКС.
ВАЫ-логика
Это направление на сегодняшний день наиболее развивающееся. В его основе - логика, разработанная для анализа свойств «знания» и «дове рия» работы криптопротокола в целом или его отдельных частей. Ярким представителем подобного метода является ВАИ-логика, которая и по служила началом развития этого же направления.
Использование ВАИ -логики позволяет найти ответы на следующие вопросы:
1.Каких результатов в конечном счете можно достичь с помощью крип топротокола?
2.Содержатся ли в данном криптопротоколе избыточные шаги, которых можно было бы избежать, сохранив безопасность работы криптопро токола иа прежнем уровне?
3.Необходимо ли зашифровывать данное сообщение или его можно пе редать в открытом виде?
4.Нужно ли включить в данный криптопротокол дополнительны е шаги?
102 Аспекты создания и применения криптографических протоколов
Постулаты, применяемые в ВАМ-логике
Р ЪеИеуез X - Р верит в то, что X истинно.
Р зе е зХ - кто-либо послал Р сообщение, содержащее X, и Р может про читать и повторить X (возможно после проведения процедуры расшифро вания).
Р з а Ы Х - Р когда-либо посылал сообщение, содержащее X, и при этом
Рдоверял X в момент его передачи.
РсопЬгоIX - Р имеет права на X.
#(Х ) - данная конструкция означает, что X не было использовано в пре дыдущих итерациях протокола.
Р <-- > (2 - Р и 0 ,разделяют между собой ключ К, соответственно Р
и( 2 доверяют друг другу.
к-> Р - Р имеет открытый ключ К, соответствующий секретному клю чу К '1, который никогда не будет раскрыт другими участниками криптоп ротокола.
Р< х -■> (2 - X - секретная формула, известная только Р и 2 , и эту фор мулу Р и 0, могут использовать для идентификации друг друга.
{Х}к/гот Р - данная конструкция означает, что формула X была зашиф рована на ключе К, принадлежащем Р.
Некоторые правила ВАЫ-логики
Приведенные правила при анализе криптопротоколов могут дополняться, однако в некотором роде их можно считать основополагающими, посколь ку они описывают наиболее распространенные ситуации.
гг
РЪеИеоез(/<----->,Рзеез{X } к РЪеНеоезОзаШХ
Если Р верит, что 0. и Р разделяют между собой секретный ключ К, и ви дит сообщение X, зашифрованное на ключе К, и к тому лее Р не зашифро вывал данное X на ключе К, тогда Р имеет основания верить, что X было послано <2 .
РЪеИеоез#( X ) , РЬеИеоезфеНеуезХ РЪеИеоезХ
Если Р верит в то, что X до этого не использовалось и что () посылал X, тогда Р может полагать, что (2 доверяет X.
РЬеИеуез0соп1го1зХ, РЬеНеоезфеИеуезХ РЪеИеуезХ
Общие сведения |
103 |
Если Р верит, что О, имеет права на X, и Р верит, что О, доверяет X, тогда Р доверяет X.
Согласно ВАХ-логике, прежде чем приступить к анализу криптопрото кола, его необходимо представить в идеализированной форме. Например, процесс передачи сообщения А -+ В: {А, К аЬ}кьз в идеализированной форме
может быть зафиксирован в следующем виде: А —►В: {А В }КЬ8. Ког
да же В получит это сообщение, его можно в соответствии с правилами
ВАХ-логики записать так: В зеез {А В }КЪ8. В идеализированной фор
ме часть сообщения, которая не участвует в доказательстве, опускается. Значит, открытая часть сообщения не включается в идеализированную форму, поскольку она может быть изменена злоумышленником. В общем случае идеализированная форма сообщения выглядит так: { Х ^ ... {Х п}Кп, где каждое зашифрованное сообщение представлено независимо от других.
Отсюда можно сделать вывод, что анализ предполагает следующие шаги:
1.Представление протокола в идеализированной форме.
2.Присвоение начальных значений.
3.Применение логических формул к состояниям протокола для полу чения утверждений о состоянии системы после каждого шага прото кола.
4.Применение логических постулатов к начальным значениям и после довательности утверждений для изучения доверия частям протокола.
Итак, криптопротокол в ВАИ -логике - это последовательность состоя ний ... 5П, каждое из которых представляется в виде Р —►С): X, где Р ^ (). Между состояниями вставляется последовательность утверждений. Они заключаются в комбинировании постулатов вида Р ЪеИеуез X. Структур но это может быть представлено в следующем виде:
Начальные значения 34[утверждение 1]32... [утверждение п - 1 ]5 П
Выводы
На практике ВАХ-логика зарекомендовала себя с полож ительной сто роны, особенно после того, как с ее помощью были найдены уязвимос ти в хорошо известных криптопротоколах, таких как ХееЗЬат-ЗсЬгоебег, СС1ТТ Х.509 и др. Точно так же была доказана избыточность в КегЪегоз, УаЬаЬт, Апбге^ К.РС ЬапбзЬаке и С С 1ТТ Х.509. Однако и в ВАХ-логике существует ряд проблемных вопросов. Нессет продемонстрировал простой пример, показывающий, что ВАХ-логика способна доказать свойства бе зопасности протокола, являющиеся заведомо ложными.
104 Аспекты создания и применения криптографических протоколов
Формальные модели
Суть данного подхода - в разработке формальных моделей, позволяю щих анализировать криптопротоколы на основе изучения алгебраичес ких свойств криптографической системы. Среди достоинств данного подхода следует отметить возможность создания инструментариев, с по мощью которых допускается автоматизировать процесс исследования криптопротоколов. В результате появился протокольный анализатор (N111. Рго1осо1 Апа1у2 ег), посредством которого были обнаружены как известные, так и неизвестные уязвимости. На сегодняшний день данный подход к ана лизу криптопротоколов практически не используется.
2.2. Протоколы аутентификации
2.2.1. Общие сведения
Расширение круга пользователей распределенных систем и усложнение задач, решаемых с помощью подобных сетей, привели к осознанию перво степенной важности проблем, связанных с обеспечением информационной безопасности при межсетевом взаимодействии, прежде всего с использо ванием открытых каналов передачи данных, создающих потенциальную возможность для действий как пассивного нарушителя, имеющего воз можность только просматривать доступные ему сообщения, так и актив ного нарушителя, который наряду с прослушиванием может модифициро вать доступные ему сообщения.
Вот почему одной из важнейших задач обеспечения безопасности явля ется разработка методов и средств, позволяющих одной стороне ( проверя ющему) убедиться в идентичности другой стороны ( доказывающего).
Широко распространенными механизмами решения данной проблемы яв ляются специальные приемы, дающие возможность проверить коррект ность сообщений, которые демонстрируют, что доказывающий владеет определенным секретом. Обычно такие методы и средства называются
идентификацией (аутентификацией) пользователей, или проверкой иден тичности. Существует также особая разновидность подобных протоколов, называемая аутентификацией сообщений (или аутентификацией источ ника данных), которая реализуется при помощи симметричных алгоритмов или/и цифровой подписи.
Основное отличие между аутентификацией пользователя и аутентифика цией сообщения состоит в том, что последняя не обеспечивает временных гарантий того, когда данное сообщение было создано, а аутентификация
Протоколы аутентификации |
105 |
пользователей дает возможность доказывающему идентифицировать себя в ходе сессии.
Существуют также инструментарии, реализующие одновременно аутен тификацию и распределение ключей; осуществление некоторых из них за ключается в проведении аутентификации сообщений, которые представ ляют собой ключ (этот вопрос подробно рассматривается в следующем разделе).
Аутентификация пользователей - процесс, с помощью которого одна сторона убеждается в идентичности другой стороны, при этом другая сто рона тоже активно участвует в процессе обмена информацией.
В рамках этой книги мы будем считать, что термины идентификация,
аутентификация пользователей и аутентификация являются синонимами. С точки зрения проверяющего к протоколам аутентификации предъяв
ляются следующие критичные требования:
•при взаимном доверии сторон А и В стороне А необходимо убедится в идентичности стороны В; это так называемая корректная завершен ность протокола;
•сторона В не должна иметь возможности повторного обмена инфор мацией, переданной ранее в ходе взаимодействия со стороной А, с це лью выдать себя за сторону А при аутентификации со стороной С; то есть протокол аутентификации должен быть непереносимым;
•различия в аутентификационном обмене между сторонами должны быть настолько существенными, чтобы ни одна из сторон не смогла реализовать обмен данными от имени другой стороны;
•информация, пересылаемая в рамках аутентификационного обмена, должна препятствовать получению статистических сведений, на ос нове которых пассивный нарушитель смог бы имитировать обмен от имени какой-либо стороны; то есть в результате информационного обмена знания участников друг о друге не должны увеличиться. О ре ализации данного требования будет сказано ниже.
Все протоколы аутентификации могут быть разделены на следующие
категории:
•на основе знания чего-либо. Примером могут служить стандартные пароли, персональные идентификационные номера (Р Ш ), а также сек ретные и открытые ключи, знание которых демонстрируется в прото колах типа «запрос-ответ».
•на основе обладания чем-либо. Обычно это магнитные карты, смарткарты, 1 оисЬ ш етогу и персональные генераторы, которые использу ются для создания одноразовых паролей.
106Аспекты создания и применения криптографических протоколов
•на основе каких-либо неотъемлемых характеристик. Эта категория включает методы, базирующиеся на проверке пользовательских био метрических характеристик (голос, сетчатка глаза, отпечатки пальцев).
Вданной категории не используются криптографические методы и сред ства. Аутентификация на основе биометрических характеристик приме няется для контроля доступа в помещения либо к какой-либо технике.
Также можно классифицировать протоколы аутентификации по уров ню обеспечиваемой безопасности или по возможности противостоять оп ределенному классу атак. В соответствии с данным подходом протоколы аутентификации разделяются на следующие типы:
•простая аутентификация (на основе использования паролей);
•строгая аутентификация (на основе использования криптографичес ких методов и средств);
•протоколы, обладающие свойством доказательства с нулевым знанием.
С точки зрения безопасности каждый из перечисленных типов способ ствует решению своих специфических задач, поэтому все протоколы ак тивно применяются на практике. Единственным исключением являются протоколы аутентификации, обладающие свойством доказательства с ну левым знанием. Пока интерес к ним носит скорее теоретический, нежели практический характер, но времена меняются, и, возможно, уже в недале ком будущем их начнут использовать при обмене данными (подробно о дан ном типе протоколов аутентификации рассказано в конце этого раздела).
Говоря о классификации по уровню обеспечиваемой безопасности, необходимо упомянуть о типовых атаках на протоколы аутентификации и общих методах, помогающих их избежать (см. табл. 2.1). При этом следует учесть, что оценка уровня безопасности, обеспечиваемого протоколом аутен тификации, может быть определена только по отношению к конкретным типам атак. Необходимо также отметить, что в данном случае подразуме вается атака, направленная на нарушение логики работы протокола, или атака, учитывающая уязвимости в логике его работы.
Основными атаками на протоколы аутентификации являются:
•самозванство (ппрегзопаНоп). Заключается в том, что один пользова тель пытается выдать себя за другого;
•повторная передача (гер1ау аПаск). Заключается в повторной переда че аутентификационных данных каким-либо пользователем;
• подмена стороны аутентификационного обмена ( т 1:ег1е а у т § а!-
1 аск). Злоумышленник в ходе данной атаки участвует в процессе
Протоколы аутентификации |
107 |
аутентификационного обмена между двумя сторонами и имеет воз
можность модификации проходящего через него трафика;
•отражение передачи (гейес&оп айаск). Один из вариантов предыду щей атаки, в ходе которой злоумыш ленник в рамках данной сессии протокола пересылает обратно перехваченную информацию;
•вынужденная задержка (йэгсес! с!е1ау). Злоумышленник перехватыва ет некоторую информацию и передает ее спустя некоторое время;
•атака с выборкой текста (сЬюзепЧехЪ айаск). Злоумышленник пере хватывает аутентификационный трафик и пытается получить инфор мацию о долговременных ключах.
Таблица 2.1. Атаки на протоколы аутентификации и пути их обхождения
Тип атаки |
Пути обхождения |
Повторная передача |
Использование протоколов типа «запрос-ответ»; использование меток времени |
|
или случайных чисел; вставка идентифицирующий информации в ответы |
Подмена стороны |
Связывание всех сообщений в рамках данной сессии протокола (например, |
|
используя одноразовый и уникальный идентификатор во всех сообщениях) |
Отражение |
Использование идентификаторов сторон в передаваемых сообщениях; |
|
построение протокола таким образом, чтобы каждое сообщ ение имело |
|
отличную от других форму |
Выборка текста |
Использование протоколов, обладающ их свойством доказательства с нулевым |
|
знанием; включение в каждое сообщ ение случайных чисел |
Задержка передачи |
Комбинирование использования меток времени вместе со случайными числами |
Самая опасная угроза протоколам аутентификации возникает в том слу чае, когда нарушитель выдает себя за какую-либо другую сторону, обычно обладающую существенными привилегиями в системе. Именно получение привилегий и возможность работы от лица другого пользователя (в слу чае, если в системе используется система аудита) являются основными целями злоумышленника.
Кроме перечисленных атак на протоколы аутентификации существует атака следующего вида: после успешного прохождения аутентификации между двумя пользователями и установления соединения нарушитель «вы кидывает» какого-либо пользователя из соединения и продолжает работу от его имени. Для устранения подобного рода атак существуют следующие приемы:
•периодическое выполнение процедур аутентификации в рамках уже установленного сеанса связи;
•привязка результата аутентификации к последующим действиям поль зователей в рамках системы. Примером подобного подхода может
108______ Аспекты создания и применения криптографических протоколов
служить аутентификационный обмен секретными сеансовыми клю чами, с использованием которых осуществляется дальнейшее взаи модействие пользователей.
Учитывая описанные выше атаки на протоколы аутентификации, а так же вопросы практического применения протоколов аутентификации, мож но выделить следующие свойства протоколов данного типа:
•взаимная аутентификация. Свойство, отражающее необходимость обоюдной аутентификации между сторонами аутентификационного обмена;
•вычислительная эффективность. Количество операций, необходимых для выполнения протокола;
•коммуникационная эффективность. Данное свойство отражает коли чество сообщений и их длину, необходимую для осуществления аутен тификации;
•наличие третьей стороны. Примером третьей стороны может слу жить доверенный сервер распределения симметричных ключей или сервер, реализующий дерево сертификатов для распределения от крытых ключей;
•основа гарантий безопасности. Примером могут служить протоколы, обладающие свойством доказательства с нулевым знанием;
•хранение секрета. Здесь имеется в виду, каким способом реализовано хранение критичной ключевой информации.
В заключение этого раздела приведем некоторые примеры использова ния протоколов аутентификации (подробно практическая часть будет из ложена позже). Одной из основных задач, решаемых во время работы по добных протоколов, является разграничение доступа к ресурсам, когда при привилегированном доступе необходимо убедиться в идентичности пользователей (например, локальный или удаленный доступ к ресурсам компьютера или доступ к приложениям со стороны пользователей и т.д.). Схемы, основанные на паролях и применяющиеся для того, чтобы обеспе чить доступ к пользовательской учетной записи (изег ассошЧ), могут быть рассмотрены в качестве примера матрицы контроля доступа: каждый ресурс содержит список идентификаторов пользователей, имеющих к нему доступ, при этом доступ к этому ресурсу разрешен только тем пользователям, кото рые указаны в списке контроля и успешно прошли процедуру аутентифика ции. Во многих приложениях (например, сотовая связь) идентификация пользователей осуществляется для выставления счетов за работу.
Протоколы аутентификации |
109 |
2.2.2. Простая аутентификация
Общие сведения
Одной из разновидностей схем аутентификации является простая аутен тификация, в основе которой - применение двусторонне согласованного пароля с одновременным согласованием средств его использования и об работки. Идея простой аутентификации заключается в следующем: па роль (последовательность букв и цифр какого-либо алфавита) служит для обеспечения доступа пользователя к определенному системному ресурсу или к нескольким ресурсам (например, сервер, принтер и учетная запись пользователя) вместе с идентификатором пользователя. Пользователь пе редает свой пароль и идентификатор системе, которая проверяет их и в слу чае совпадения идентифицирует пользователя.
При этом передача пароля и идентификатора может производиться сле дующими способами:
•в открытом виде (например, при доступе к 113 (ЬгЬегпеЪ тЬгш аН оп зегчег) по протоколу Н Т Т Р в качестве одного из типов поддерживае мой ИЗ аутентификации (Ьаз1с агйепНйсаНоп));
•передача выделенного идентификатора пользователя, пароля пользо вателя, случайного числа и/или метки времени, причем все передава емые данные защищены посредством однонаправленной функции.
•в защищенном виде совместно со случайным числом и/или меткой времени, причем все данные защищены с помощью однонаправленной функции.
Очевидно, что первый тип простой аутентификации не может служить основой средств обеспечения информационной безопасности, поскольку гарантирует минимальный уровень таковой и подвержен многочисленным атакам. Процедура простой аутентификации показана на рис. 2.2.
Справочник может быть реализован как локально, например на рабо чей станции участника В, и тогда шаги 2 и 3 осуществляются в рамках рабочей станции, так и удаленно, то есть шаги
2 и 3 представляют собой сетевой обмен дан ными и создают дополнительную возмож ность для проведения атак.
Схемы организации простой аутентифика ции отличаются не только методами передачи и проверки паролей, но и видами хранения па ролей.
110 Аспекты создания и применения криптографических протоколов
Схемы фиксированных паролей
Н аиболее распространенный подход к организации хранения паролей пользователей - это их хранение в открытом виде в системных файлах; на них при этом устанавливаются атрибуты защиты от чтения и записи (на пример, при помощи описания соответствующих привилегий в списках контроля доступа операционной системы). Система сопоставляет введен ный пользователем пароль с хранящейся в файле паролей записью. При этом не используются криптографические механизмы, такие как однонап равленные функции или шифрование. Недостатком данного метода яв ляется то, что злоумышленник может получить в системе привилегии ад министратора (в соответствии с которыми обладающий данным типом привилегий имеет все права доступа к системным файлам и ресурсам). Для усиления защиты этого способа хранения паролей может служить запись парольных файлов на внешние носители информации, такие как 1 оисЬ тетогу, смарт-карты и гибкие магнитные диски.
Более предпочтительным с точки зрения безопасности является метод хранения паролей с использованием односторонних функций (рис. 2.3) или шифрования. При проверке введенного пользователем пароля систе ма вычисляет одностороннюю функцию и сравнивает результат с храня щимся значением в таблице паролей для данного идентификатора пользо вателя. В подобном случае файл, в котором хранится таблица, должен быть защищен только от записи. Применение односторонних функций или шифрование позволяет также защищать пароли в случае передачи их по общедоступным каналам. При использовании односторонней функции или шифрования следует помнить, что:
•не требуется ключевой информации, и эти методы не подпадают под действие экспортных ограничений;
•шифрование с точки зрения безопасности более предпочтительно.
Отдельно хотелось бы сказать о правилах формирования паролей. Н е которые системы, чтобы предотвратить выбор пользователем «слабы х» паролей и не допустить или затруднить проведение атак по словарю иа ис пользующиеся пароли, предлагают собственные наборы знаков. Обычно правила формирования паролей ограничивают его длину снизу (например,
8 или 1 2 символами) и требуют для каждой такой записи наличия хотя бы одного знака из каждого набора символов (например, алфавит верхнего ре гистра, цифры и т.д.) или проверки, что предлагаемая запись не представ ляет собой слово, содержащееся в словаре, или имени пользователя (иден тификатора пользователя), или специфической для данного пользователя