Логика Бэрроуза — Абади — Нидхэма
Логика Бэрроуза — Абади — Нидхэма (англ. Burrows-Abadi-Needham logic) или BAN-логика (англ. BAN logic) — это формальная логическая модель для анализа знания и доверия, широко используемая при анализе протоколов аутентификации.
Основная идея BAN-логики состоит в том, что при анализе подобных протоколов в первую очередь следует обратить внимание на то, как стороны, участвующие в процессе аутентификации, воспринимают информацию — что они принимают на веру, а что доподлинно им известно или может быть выведено логическим путём из достоверных для них фактов.[1]
Обычно протоколы аутентификации описываются путём последовательного перечисления сообщений, передаваемых между участниками протокола. На каждом шаге описывается содержимое сообщения, а также указывается его отправитель и получатель. BAN-логика рассматривает подлинность сообщения как функцию от его целостности и новизны, используя логические правила для отслеживания состояния этих атрибутов на протяжении всего протокола.[2]
В BAN-логике существует три типа объектов: участники, ключи шифрования и формулы, их связывающие. При формальном анализе протокола каждое сообщение преобразуется в логическую формулу; затем логические формулы связываются утверждениями. Тем самым, BAN-логика во многом схожа с логикой Хоара.[3] Единственной логической операцией, применяемой в данной логике, является конъюнкция. Также вводятся различные предикаты, например, устанавливающие отношения между участниками и высказываниями (отношение доверия, юрисдикции и т. д.) или выражающие какие-либо свойства высказываний (таких, как свежесть, то есть утверждение, что высказывание получено недавно).
Как и любая формальная логика, BAN-логика снабжена аксиомами и правилами вывода. Формальный анализ протокола состоит в доказательстве некоторого набора утверждений, выраженного формулами BAN-логики, с помощью правил вывода. Например, минимальное требование к любому протоколу аутенификации состоит в следующем: оба участника должны поверить в то, что они нашли секретный ключ для обмена информацией друг с другом.
Основные предикаты и их обозначенияПравить
- означает, что верит в высказывание . Это значит, что станет действовать так, как будто — истинная информация.
- подразумевает, что видит , то есть принял сообщение, в котором содержится . То есть может прочитать и воспроизвести (возможно, после процедуры расшифрования) сообщение .
- означает, что однажды высказал , то есть в какой-то момент времени послал сообщение, содержащее .
- означает, что входит в юрисдикцию (или имеет юрисдикцию над ), то есть обладает авторитетом по вопросу относительно .
- означает, что высказывание получено недавно. То есть сообщение не было послано когда-то в прошлом (до момента запуска протокола).
- означает, что и используют для общения разделенный ключ .
- подразумевает, что данные зашифрованы ключом .
Другие обозначенияПравить
Операция конъюнкции обозначается запятой, а логическое следование — горизонтальной чертой. Таким образом, логическое правило в обозначениях BAN-логики записывается как
Аксиомы BAN-логикиПравить
- Время делится на две эпохи: прошлое и настоящее. Настоящее начинается с момента запуска протокола.
- Участник , высказывающий , верит в истинность .
- Шифрование считается абсолютно надежным: зашифрованное сообщение не может быть расшифровано участником, не знающим ключа.
Правила выводаПравить
- Правило о значении сообщения:
Эквивалентная словесная формулировка: из предположений о том, что верит в совместное использование ключа с , и видит сообщение , зашифрованное ключом , следует, что верит, что в какой-то момент высказал .
Заметим, что здесь неявно предполагается, что сам никогда не высказывал .
- Правило проверки уникальности числовых вставок:
то есть если верит в новизну и в то, что когда-то высказал , то верит, что по-прежнему доверяет .
- Правило юрисдикции:
утверждает, что если верит в полномочия относительно , и верит в то, что верит в , то должен верить в .
- Другие правила
Оператор доверия и конъюнкция подчиняются следующим соотношениям:
По сути, данные правила устанавливают следующее требование: доверяет какому-то набору утверждений тогда и только тогда, когда доверяет каждому утверждению по отдельности.
Аналогичное правило существует для оператора :
Следует заметить, что из и не следует , поскольку и могли быть высказаны в разные моменты времени.
Наконец, если какая-то часть высказывания получена недавно, то это же можно утверждать и про все высказывание целиком:
Формальный подход к анализу протоколов аутентификацииПравить
С практической точки зрения, анализ протокола осуществляется следующим образом:[4][5]
- Исходный протокол преобразуется в идеализованный (то есть записанный в терминах BAN-логики).
- Добавляются предположения о начальном состоянии протокола.
- С каждым высказыванием связывается логическая формула, то есть логическое утверждение о состоянии протокола после каждого высказывания.
- К предположениям и утверждениям протокола применяются правила вывода и аксиомы для того, чтобы определить состояние доверия сторон по завершении работы протокола.
Поясним смысл данной процедуры. Первый шаг носит название идеализации и состоит в следующем: каждый шаг протокола, записанный в виде , преобразуется в набор логических утверждений, касающихся передающей и принимающей стороны. Пусть, например, один из шагов протокола выглядит следующим образом:
Это сообщение говорит участнику (обладающему ключом ), что ключ должен быть использован для сообщения с . Соответствующая логическая формула для данного сообщения имеет вид:
Когда данное сообщение доставляется , справедливо утверждение:
то есть видит данное сообщение и в дальнейшем будет действовать в соответствии с ним.
После идеализации протокол выглядит как последовательность высказываний и утверждений, связывающих эти высказывания. Начальное утверждение состоит из исходных предположений протокола, конечное утверждение — результат работы протокола:
Протокол считается корректным, если набор конечных утверждений включает в себя набор (формализованных) целей протокола.
Цели протоколов аутентификацииПравить
Запишем цели протокола аутентификации в терминах BAN-логики (то есть какие логические утверждения должны быть выведены из предположений протокола, с учетом последовательности шагов (утверждений), выполняемых в данном протоколе):[6][7]
- и
то есть обе стороны должны поверить в то, что они используют для обмена сообщениями один и тот же секретный ключ. Однако, можно потребовать и большего, например:
- и
то есть подтверждения приема ключа.[6]
Анализ протокола широкоротой лягушки с помощью BAN-логикиПравить
Рассмотрим простой протокол аутентификации — протокол широкоротой лягушки — который позволяет двум сторонам, и , установить защищённое соединение, используя сервер , которому они оба доверяют, и синхронизированные часы.[8] В стандартных обозначениях протокол записывается следующим образом:
После идеализации шаги протокола приобретают вид:
Запишем исходные предположения протокола. Стороны и обладают ключами и соответственно, для защищённой связи с сервером , что на языке BAN-логики может быть выражено как:
Также имеются предположения о временных вставках:
Помимо этого, есть несколько предположений о ключе шифрования:
- полагается на в выборе хорошего ключа:
- доверяет передать ключ от :
- верит, что сеансовый ключ принят:
Приступим к анализу протокола.
- получает первое сообщение, из которого можно сделать следующие выводы:
- , видя сообщение, зашифрованное ключом , делает вывод, что оно было послано (правило о значении сообщения).
- Наличие свежей временной вставки позволяет заключить, что и все сообщение написано недавно (правило для оператора ).
- Из свежести всего сообщения может заключить, что верил в то, что послал (правило проверки уникальности числовых вставок).
Следовательно, .
- получает второе сообщение протокола, из которого следует:
- Увидев послание, зашифрованное ключом , клиент понимает, что оно было отправлено .
- Временная вставка доказывает , что все сообщение было послано недавно.
- Ввиду свежести сообщения, заключает, что доверяет всему посланному.
- В частности, верит в то, что доверяет второй части сообщения.
- Но верит и в то, что в юрисдикцию входит выяснить, знает ли его партнер секретный ключ, и поэтому вверяет полномочия по генерированию ключа.
Из этих рассуждений можно сделать следующие выводы:
С учетом исходного предположения о том, что , получаем, что анализируемый протокол обоснован. Единственное, чего нельзя утверждать:
то есть не добился подтверждения того, что получил нужный ключ.
КритикаПравить
Наибольшей критике подвергается процесс идеализации, поскольку идеализованный протокол может некорректно отражать свой реальный аналог.[9] Это связано с тем, что описание протоколов не дается в формальной манере, что иногда ставит под сомнение саму возможность корректной идеализации.[10] Более того, ряд критиков пытается показать, что BAN-логика может получить и очевидно неправильные характеристики протоколов.[10] Кроме того, результат анализа протокола с помощью BAN-логики не может считаться доказательством его безопасности, поскольку данная формальная логика занимается исключительно вопросами доверия.[11]
ПримечанияПравить
- ↑ Н. Смарт, «Криптография», p. 175.
- ↑ B. Schneier, «Applied Cryptography», p. 66.
- ↑ M. Burrows, M. Abadi, R. Needham, «A Logic of Authentication», p. 3.
- ↑ M. Burrows, M. Abadi, R. Needham, «A Logic of Authentication», p. 11.
- ↑ B. Schneier, «Applied Cryptography», p. 67.
- ↑ 1 2 Н. Смарт, «Криптография», p. 177.
- ↑ M. Burrows, M. Abadi, R. Needham, «A Logic of Authentication», p. 13.
- ↑ Н. Смарт, «Криптография», p. 169—170.
- ↑ D.M. Nessett, «A Critique of the Burrows, Abadi, and Needham Logic», pp. 35-38.
- ↑ 1 2 Boyd,C. and Mao, W. «On a Limitation of BAN Logic»
- ↑ P.F. Syverson, «The Use of Logic in the Analysis of Cryptographic Protocols»
ЛитератураПравить
- M. Burrows, M. Abadi, R. Needham. A Logic of Authentication (неопр.) // Systems Research Center of Digital Equipment Corporation in Palo Alto. — 1989. — December (т. 426). — С. 44—54.
- Monniaux, D. Decision procedures for the analysis of cryptographic protocols by logics of belief (англ.) // Computer Security Foundations Workshop, 1999. Proceedings of the 12th IEEE : journal. — 1999. — P. 44—54.
- Boyd, Colin; Mao, Wenbo. On a Limitation of BAN Logic // Advances in Cryptology — EUROCRYPT ’93 (неопр.) / Helleseth, Tor. — Springer Berlin / Heidelberg, 1994. — С. 240—247. — ISBN 978-3-540-57600-6.
- Н. Смарт. Криптография. — Москва: Техносфера, 2005. — С. 162—179. — 528 с. — ISBN 5-94836-043-1.
- B. Schneier. Applied Cryptography (неопр.). — John Wiley & Sons, 1995. — С. 66—69. — 662 с. — ISBN 0-47111-709-9. Архивная копия от 3 сентября 2012 на Wayback Machine
- А. Алферов, А. Кузьмин, А. Зубов, А. Черемушкин. Основы криптографии. — Москва: Гелиос АРВ, 2002. — С. 378—385, 404—406. — 480 с. — ISBN 5-85438-025-0.
СсылкиПравить
- UT Austin CS course material on BAN logic (PDF) Архивная копия от 26 января 2020 на Wayback Machine
- Логика аутентификации (зеркало), первоисточник Michael Burrows[en], Martín Abadi[en], and Roger Needham.
- Источник: The Burrows-Abadi-Needham logic
- BAN logic in context, from UT Austin CS (PDF) Архивная копия от 26 января 2020 на Wayback Machine