Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Петров А.А. Комп без-ть

.pdf
Скачиваний:
39
Добавлен:
28.03.2016
Размер:
16.03 Mб
Скачать

Общие сведения

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______ Аспекты создания и применения криптографических протоколов

служить аутентификационный обмен секретными сеансовыми клю ­ чами, с использованием которых осуществляется дальнейшее взаи­ модействие пользователей.

Учитывая описанные выше атаки на протоколы аутентификации, а так­ же вопросы практического применения протоколов аутентификации, мож­ но выделить следующие свойства протоколов данного типа:

взаимная аутентификация. Свойство, отражающее необходимость обоюдной аутентификации между сторонами аутентификационного обмена;

вычислительная эффективность. Количество операций, необходимых для выполнения протокола;

коммуникационная эффективность. Данное свойство отражает коли­ чество сообщений и их длину, необходимую для осуществления аутен­ тификации;

наличие третьей стороны. Примером третьей стороны может слу­ жить доверенный сервер распределения симметричных ключей или сервер, реализующий дерево сертификатов для распределения от­ крытых ключей;

основа гарантий безопасности. Примером могут служить протоколы, обладающие свойством доказательства с нулевым знанием;

хранение секрета. Здесь имеется в виду, каким способом реализовано хранение критичной ключевой информации.

В заключение этого раздела приведем некоторые примеры использова­ ния протоколов аутентификации (подробно практическая часть будет из­ ложена позже). Одной из основных задач, решаемых во время работы по­ добных протоколов, является разграничение доступа к ресурсам, когда при привилегированном доступе необходимо убедиться в идентичности пользователей (например, локальный или удаленный доступ к ресурсам компьютера или доступ к приложениям со стороны пользователей и т.д.). Схемы, основанные на паролях и применяющиеся для того, чтобы обеспе­ чить доступ к пользовательской учетной записи (изег ассошЧ), могут быть рассмотрены в качестве примера матрицы контроля доступа: каждый ресурс содержит список идентификаторов пользователей, имеющих к нему доступ, при этом доступ к этому ресурсу разрешен только тем пользователям, кото­ рые указаны в списке контроля и успешно прошли процедуру аутентифика­ ции. Во многих приложениях (например, сотовая связь) идентификация пользователей осуществляется для выставления счетов за работу.

Рис. 2.2. Простая аутентификация
Участник А
Справочник
Участник В

Протоколы аутентификации

109

2.2.2. Простая аутентификация

Общие сведения

Одной из разновидностей схем аутентификации является простая аутен­ тификация, в основе которой - применение двусторонне согласованного пароля с одновременным согласованием средств его использования и об­ работки. Идея простой аутентификации заключается в следующем: па­ роль (последовательность букв и цифр какого-либо алфавита) служит для обеспечения доступа пользователя к определенному системному ресурсу или к нескольким ресурсам (например, сервер, принтер и учетная запись пользователя) вместе с идентификатором пользователя. Пользователь пе­ редает свой пароль и идентификатор системе, которая проверяет их и в слу­ чае совпадения идентифицирует пользователя.

При этом передача пароля и идентификатора может производиться сле­ дующими способами:

в открытом виде (например, при доступе к 113 (ЬгЬегпеЪ тЬгш аН оп зегчег) по протоколу Н Т Т Р в качестве одного из типов поддерживае­ мой ИЗ аутентификации (Ьаз1с агйепНйсаНоп));

передача выделенного идентификатора пользователя, пароля пользо­ вателя, случайного числа и/или метки времени, причем все передава­ емые данные защищены посредством однонаправленной функции.

в защищенном виде совместно со случайным числом и/или меткой времени, причем все данные защищены с помощью однонаправленной функции.

Очевидно, что первый тип простой аутентификации не может служить основой средств обеспечения информационной безопасности, поскольку гарантирует минимальный уровень таковой и подвержен многочисленным атакам. Процедура простой аутентификации показана на рис. 2.2.

Справочник может быть реализован как локально, например на рабо­ чей станции участника В, и тогда шаги 2 и 3 осуществляются в рамках рабочей станции, так и удаленно, то есть шаги

2 и 3 представляют собой сетевой обмен дан­ ными и создают дополнительную возмож ­ ность для проведения атак.

Схемы организации простой аутентифика­ ции отличаются не только методами передачи и проверки паролей, но и видами хранения па­ ролей.

110 Аспекты создания и применения криптографических протоколов

Схемы фиксированных паролей

Н аиболее распространенный подход к организации хранения паролей пользователей - это их хранение в открытом виде в системных файлах; на них при этом устанавливаются атрибуты защиты от чтения и записи (на­ пример, при помощи описания соответствующих привилегий в списках контроля доступа операционной системы). Система сопоставляет введен­ ный пользователем пароль с хранящейся в файле паролей записью. При этом не используются криптографические механизмы, такие как однонап­ равленные функции или шифрование. Недостатком данного метода яв­ ляется то, что злоумышленник может получить в системе привилегии ад­ министратора (в соответствии с которыми обладающий данным типом привилегий имеет все права доступа к системным файлам и ресурсам). Для усиления защиты этого способа хранения паролей может служить запись парольных файлов на внешние носители информации, такие как 1 оисЬ тетогу, смарт-карты и гибкие магнитные диски.

Более предпочтительным с точки зрения безопасности является метод хранения паролей с использованием односторонних функций (рис. 2.3) или шифрования. При проверке введенного пользователем пароля систе­ ма вычисляет одностороннюю функцию и сравнивает результат с храня­ щимся значением в таблице паролей для данного идентификатора пользо­ вателя. В подобном случае файл, в котором хранится таблица, должен быть защищен только от записи. Применение односторонних функций или шифрование позволяет также защищать пароли в случае передачи их по общедоступным каналам. При использовании односторонней функции или шифрования следует помнить, что:

не требуется ключевой информации, и эти методы не подпадают под действие экспортных ограничений;

шифрование с точки зрения безопасности более предпочтительно.

Отдельно хотелось бы сказать о правилах формирования паролей. Н е­ которые системы, чтобы предотвратить выбор пользователем «слабы х» паролей и не допустить или затруднить проведение атак по словарю иа ис­ пользующиеся пароли, предлагают собственные наборы знаков. Обычно правила формирования паролей ограничивают его длину снизу (например,

8 или 1 2 символами) и требуют для каждой такой записи наличия хотя бы одного знака из каждого набора символов (например, алфавит верхнего ре­ гистра, цифры и т.д.) или проверки, что предлагаемая запись не представ­ ляет собой слово, содержащееся в словаре, или имени пользователя (иден­ тификатора пользователя), или специфической для данного пользователя