5. В an-логика
Проблема аутентификации в компьютерных сетях настолько фундаментальна, что инициировала различные исследования. Интерес к данной проблеме привел к развитию методов формального анализа протоколов аутентификации и обмена ключами.
Существует четыре основных подхода к анализу криптографических протоколов [233]:
1) моделирование и проверка работы протокола с использованием языков описания и средств проверки, не разработанных специально для анализа криптографических протоколов;
2) создание экспертных систем, позволяющих разработчику протокола исследовать различные сценарии;
3) выработка требований к семейству протоколов, используя некую логику для анализа понятий «знание» и «доверие»;
4) разработка формальных методов, основанных на записи свойств криптографических систем в алгебраическом виде.
Первый из подходов пытается доказать правильность протокола, рассматривая его как обычную компьютерную программу. Ряд исследователей представляют протокол как конечный автомат [203,204], другие используют расширения методов исчисления предиката первого порядка [205], а третьи для анализа протоколов используют языки описания [206]. Однако доказательство правильности отнюдь не является доказательством безопасности, и этот подход потерпел неудачу при анализе многих уязвимых протоколов. И хотя его применение поначалу широко изучалось, с ростом популярности третьего из подходов работы в этой области были переориентированы. Во втором подходе для определения того, может ли протокол перейти в нежелательное состояние (например, потеря ключа), используются экспертные системы. Хотя этот подход дает лучшие результаты, он не гарантирует безопасности и не предоставляет методик разработки атак. Он хорош для проверки криптостойкости протокола по отношению к конкретной атаке, но не более. Примеры такого подхода можно найти в [48,207], а в [208] обсуждается экспертная система Interrogator. Третий подход гораздо популярнее. Он был впервые введен Бэрроузом (М. Burrows). Абади (М. Abadi) и Нидхэмоы (R.M. Needham). Они разработали формальную логическую модель для анализа знания и доверия, названную BAN-логикой [209,210]. BAN-логика широко используется при анализе протоколов аутентификации. Она рассматривает подлинность как функцию от целостности и новизны, используя логические правила для отслеживания состояния этих атрибутов на протяжении всего протокола. Хотя были предложены различные варианты, большинство разработчиков протоколов до сих пор обращаются к оригинальной работе. BAN-логика не предоставляет доказательство безопасности, она может только рассуждать о проверке подлинности. Она является простой, прямолинейной логикой, легкой в применении и полезной при поиске уязвимых мест в протоколе. Вот некоторые положения BAN-логики:
• Алиса верит X (Алиса действует, как если бы X являлось истиной.);
• Алиса знает X (Кто-то послал сообщение, содержащее X, Алисе, которая может прочитать и снова передать X — возможно, после дешифрования.);
• Алиса выдает X (В некоторый момент времени Алиса послала сообщение, которое содержит предложение X. Не известно, как давно было послано сообщение и было ли оно послано в течение текущего исполнения протокола. Известно, что Алиса доверяла Х} когда выдавала Х.)
• X ново (X никогда не было послано в сообщении до текущего выполнения протокола.).
BAN-логика также предоставляет правила для рассуждения о доверии протоколу. Для доказательства чего-либо в протоколе или для ответа на какие-то вопросы к логическим предложениям о протоколе можно применить эти правила. Например, одним из правил является правило о значении сообщения (конструкция вида ЕСЛИ ..., ТО ... ):
• ЕСЛИ Алиса верит, что у Алисы и Боба общий секретный ключ К и Алиса знает X, зашифрованное на К, но при этом Алиса не шифровала X с помощью К, ТО Алиса верит, что Боб выдал X.
Другое правило — правило подтверждения метки времени:
• ЕСЛИ Алиса верит, что X могло быть выдано только недавно и что Боб когда-то выдал X, ТО Алиса верит, что Боб верит X.
BAN-анализ делится на четыре этапа:
1) использование положений и правил BAN-логики для приведения описания протокола к стандартной форме:
2) добавление всех положений о начальном состоянии протокола;
3) присоединение логических формул к положениям с целью получения утверждений о состоянии системы;
4) применение логических постулатов к утверждениям и положениям для раскрытия состояние доверия участников протокола.
Авторы утверждают, что BAN-логика позволяет получить ясное и полное описание практического протокола. Другие исследователи не так оптимистичны и пытаются показать, что BAN-логика может привести к получению неправильных характеристик протоколов |211,212). Несмотря на критику, при помощи BAN-логики удалось доказать уязвимость некоторых протоколов, включая первичную версию протоколов стандарта Х.509 |213], а также избыточность ряда практических протоколов аутентификации, например Kerberos. Во многих опубликованных работах BAN-логика используется для заявления претензии на безопасность предлагаемых протоколов [214-216]. Были опубликованы и другие логические системы, некоторые из них разрабатывались как расширения BAN-логики (217-220).
Четвертый подход к анализу криптографических протоколов предлагает моделировать протокол как алгебраическую систему, выразить знания участников о протоколе и затем проанализировать достижимость определенных состояний. Этот подход пока не привлек столько внимания, как формальная логика, но положение дел постепенно меняется. Анализатор протоколов Исследовательской лаборатории ВМС (Navy Research Laboratory, NRL), возможно, является наиболее успешным применением этих методов [228-231]. Он был использован для проверки множества протоколов [201,232,233]. Анализатор протоколов определяет следующие действия:
- принять (Боб, Алиса, М, N) (Боб принимает сообщение М как пришедшее от Алисы в течение локального раунда N.);
- узнать (Ева, М} (Ева узнает М.);
- послать (Алиса, Боб, Q, М) (Алиса посылает М Бобу в ответ на запрос Q.)
- запросить (Боб, Алиса, Q, N) (Боб посылает Q Алисе в течение локального раунда N.). Используя эти действия, можно задать требования. Например:
- если Боб принял сообщение М от Алисы в какой-то прошедший момент времени, то Ева не знает М в какой-то прошедший момент времени;
- если Боб принял сообщение М от Алисы в течение локального раунда N, то Алиса послала М Бобу в ответ на запрос Боба в течение локального раунда N.
Для анализа при помощи NRL исследуемый протокол должен быть описан в терминах приведенных конструкций. Затем выполняется четыре фазы анализа: определение правил перехода для честных участников, описание операций, возможных и для полностью честных, и для нечестных участников, описание базовых блоков протокола и описание правил преобразования. Смысл всего этого заключается в том, чтобы показать, что данный протокол удовлетворяет необходимым требованиям. Использование инструментов, подобных NRL, в итоге могло бы привести к созданию протокола, который был бы обоснованно признан безопасным. Хотя формальные методы в основном применяются к уже существующим протоколам, наметилась тенденция их использования и при проектировании протоколов. Ряд предварительных шагов в этом направлении уже сделан в [200].
- 1. Пароли
- 1.1. Противодействие раскрытию и угадыванию пароля
- 1.2. Противодействие пассивному перехвату
- 1.3. Защита при компрометации проверяющего
- 1.4. Противодействие несанкционированному воспроизведению
- 1.5. Одноразовые пароли
- 1.6. Метод «запрос-ответ»
- 2. Биометрические методы
- 3. Криптографические методы аутентификации
- 3.1. Аутентификация в режиме on-line
- 3.1.1. Протокол 1. Симметричная криптосистема
- 3.1.2. Протокол 2. Асимметричная криптосистема
- 3.2. Аутентификация при участии нескольких серверов
- 3.3. Организация серверов аутентификации
- 3.4. Аутентификация в режиме off-line
- 3.4.1. Протокол на основе симметричной криптосистемы
- 3.4.2. Протокол на основе асимметричной криптосистемы
- 3.5. Аутентификация с привлечением арбитра
- 3.5.1. Протокол 3. Симметричная криптосистема
- 3.5.2. Протокол 4. Асимметричная криптосистема
- 4. Анализ протоколов аутентификации
- 4.1. Протокол с сервером аутентификации
- 4.2. Протокол «запрос-ответ»
- 4.3. Протоколы на основе асимметричных криптосистем
- 4.4. Протокол с «двуликим Янусом»
- 4.5. Протокол стандарта х.509
- 4.6. Протокол для сетей подвижной радиосвязи
- 4.7. Анализ протоколов ssh и ака
- 5. В an-логика
- 6. Протокол Kerberos
- 6.1. Модель Kerberos
- 6.2. Этапы протокола Kerberos
- 6.3. Атрибуты
- 6.4. Сообщения Kerberos версии 5
- 6.5. Получение первоначального мандата
- 6.6. Получение мандатов прикладных серверов
- 6.7. Запрос услуги
- 6.8. Kerberos версии 4
- 6.9. Безопасность Kerberos