Глава 14. Введение в криптографические протоколы
тате чего у злоумышленников исчезают соответствующие стимулы. С другой
стороны, криптографические протоколы могут открыть новые возможности
и привести к появлению новых стимулов. Реализуя систему электронных пла-
тежей через Internet, вы создаете стимул для вора взломать ваш компьютер
и украсть деньги.
На первый взгляд кажется, что большинство стимулов носят материаль-
ный характер, однако это лишь часть правды. Многие поступают тем или
иным образом отнюдь не из материальных побуждений. Большинство ком-
пьютерных хакеров взламывают системы не с целью получить прибыль, а ис-
ключительно ради забавы, повышения своего авторитета или из чистого ба-
хвальства. В личных отношениях большинство стимулов не имеют практи-
чески никакого отношения к деньгам. Включите воображение и попытайтесь
понять, что движет людьми. Затем используйте полученные выводы для со-
здания криптографических протоколов.
14.4
Доверие в криптографических протоколах
Назначение криптографических протоколов состоит в минимизации объ-
ема доверия, необходимого для взаимодействия участников. Повторим еще
раз:
назначение криптографических протоколов состоит в минимизации
объема доверия, необходимого для взаимодействия участников.
Это озна-
чает минимизацию не только количества людей, которые должны доверять
друг другу, но и необходимого уровня этого доверия.
Одним из самых мощных средств разработки криптографических про-
токолов является параноидальная модель. Когда пользователь А принимает
участие в протоколе, он предполагает, что все другие участники общения объ-
единились, чтобы его обмануть. Это самая что ни на есть настоящая теория
тайных заговоров. Разумеется, каждый из остальных участников протокола
делает те же предположения. Параноидальная модель является стандартной
моделью поведения, на основе которой разрабатываются все криптографиче-
ские протоколы.
Любые отклонения от упомянутой стандартной модели должны быть за-
документированы в явном виде. К сожалению, этот шаг часто игнорируют.
Время от времени нам попадаются протоколы, используемые в ситуациях,
когда необходимый уровень доверия отсутствует. Например, большинство
защищенных Web-узлов используют протокол SSL, который требует нали-
чия у Web-узла доверенного сертификата. Между тем Internet-обозреватели
пользователей зачастую принимают любые сертификаты, а получить таковой
для злоумышленника не составляет труда. В результате пользователь уста-
навливает безопасное соединение с Web-узлом, но не знает, с каким именно.
14.5. Сообщения и действия
273
В свое время этой особенностью воспользовалась многочисленная армия мо-
шенников для осуществления махинаций против ничего не подозревающих
пользователей системы электронных платежей PayPal.
Довольно часто необходимый уровень доверия не указывают в докумен-
тации, потому что он “очевиден”. Это может быть справедливо для разра-
ботчика протокола, но, как и всякий модуль системы, криптографический
протокол должен иметь четко определенный интерфейс по легко объясни-
мым причинам.
В терминах бизнеса все внесенные в документацию требования к доверию
эквивалентны рискам. Каждая потребность в определенном уровне доверия
влечет за собой потенциальный риск, наличие которого следует учитывать.
14.5
Сообщения и действия
Типичное описание криптографического протокола содержит перечень
сообщений, которыми обмениваются участники протокола, а также описание
вычислений, которые должен выполнить каждый участник.
Следует отметить высокий уровень описания практически всех протоко-
лов. Большинство деталей опускается. Это позволяет сконцентрироваться на
основной функциональности протокола, но в то же время представляет боль-
шую угрозу для безопасности системы. Не имея четкого и досконального
описания всех действий, которые должен предпринимать каждый участник,
создать безопасную реализацию протокола крайне сложно.
Иногда создатели протокола снабжают его обширным описанием всех вто-
ростепенных деталей и проверок. Подобные спецификации зачастую настоль-
ко сложны, что никто не в состоянии разобраться в них до конца. Наличие
подробной спецификации, безусловно, поможет разработчику, но ничто слиш-
ком сложное не может быть безопасным.
На помощь, как всегда, приходит модуляризация. Как и при работе с ком-
муникационными протоколами, функциональность криптографических про-
токолов может быть разбита на несколько уровней. Каждый уровень функ-
ционирует поверх предыдущего. Все уровни играют важную роль, но боль-
шинство из них одинаковы для всех протоколов. Лишь верхний уровень про-
токола весьма переменчив, и именно он всегда подлежит документированию.
14.5.1
Транспортный уровень
Пусть сетевые специалисты простят нас за то, что мы позаимствовали
у них этот термин. Для криптографов транспортный уровень — это лежа-
щая в основе протокола коммуникационная система, которая позволяет его
участникам взаимодействовать друг с другом, в частности отправлять строки
274
Достарыңызбен бөлісу: |