Глава 14
Введение в криптографические
протоколы
Криптографические протоколы описывают обмен сообщениями между
двумя или несколькими участниками. Мы уже встречались с простым крип-
тографическим протоколом в главе 12, “Алгоритм Диффи–Хеллмана”.
Протоколы — это, пожалуй, наиболее сложная часть криптографии. Ос-
новная проблема реализации протоколов состоит в том, что разработчики
протоколов не могут контролировать их применение. До сих пор мы раз-
рабатывали систему и имели полную власть над поведением ее компонентов.
Теперь же, взаимодействуя с другими участниками, мы не сможем контроли-
ровать их поведение. Наш собеседник имеет другой набор интересов и вполне
может отклониться от правил, чтобы получить для себя б´ольшую выгоду. По-
этому, разрабатывая протоколы, приходится исходить из предположения, что
мы имеем дело с врагом.
14.1
Роли
Обычно протоколы описывают взаимодействие между пользователем А
и пользователем Б или, скажем, между покупателем и продавцом. При этом
названия наподобие “пользователь А”, “пользователь Б”, “покупатель” или
“продавец” не обозначают конкретного человека или организацию. Они опре-
деляют роль этого человека в протоколе. Если мистер Смит захочет пооб-
щаться с мистером Джонсом, он может запустить протокол согласования
ключей. При этом мистер Смит может исполнять роль пользователя А, а ми-
стер Джонс — пользователя Б, затем они могут поменяться ролями. Следует
266
14.2. Доверие
267
помнить, что одна и та же сущность может исполнять любую роль
1
. Это
особенно важно при проведении анализа безопасности протокола. Мы уже
рассматривали возможность осуществления атаки посредника на протокол
DH. В атаке такого типа злоумышленник Е исполняет роль как пользовате-
ля А, так и пользователя Б. (Разумеется, “злоумышленник Е” — это всего
лишь еще одна роль.)
14.2
Доверие
Доверие — это фундаментальная основа, на которой строятся наши вза-
имоотношения с другими людьми. Если мы никому ни в чем не доверяем,
зачем тогда вообще иметь с ними дело? Например, чтобы купить шоколад-
ный батончик, нам нужен некий базовый уровень доверия. Покупатель дол-
жен верить, что продавец даст ему шоколадку и правильно посчитает сдачу.
Продавец, в свою очередь, должен верить, что покупатель заплатит за шо-
коладку. Если одна из заинтересованных сторон поведет себя не так, как
положено, вторая предпримет соответствующие меры. Воров берут под стра-
жу. Нечестные продавцы рискуют заработать плохую репутацию, получить
повестку в суд или же остаться с синяком под глазом.
Существует несколько источников доверия.
•
Этика.
Влияние этики на наше общество огромно. Хотя очень немно-
гие (если такие люди вообще есть) ведут себя этично абсолютно во всех
ситуациях, поведение большинства из нас в основном подчиняется за-
конам морали. Согласитесь, что злоумышленников не так уж много.
Все-таки большинство людей оплачивают свои покупки, даже если их
можно легко украсть.
•
Репутация.
В нашем обществе очень важно иметь “доброе имя”. Поэто-
му все его представители — от отдельно взятого человека до крупной
компании — ревностно защищают свою репутацию. Зачастую угроза
широкой огласки каких-то неблаговидных поступков стимулирует их
вести себя должным образом.
•
Закон.
Цивилизованные страны обладают хорошо развитой правовой
инфраструктурой, которая поддерживает возбуждение судебных исков
и наказание людей, ведущих себя неправильно. Это вынуждает нас ве-
сти себя в соответствии с законом.
•
Угроза физической расправы.
Еще одним стимулом правильного
поведения является страх перед физической расправой, которой может
1
В протоколах с тремя или более участниками один и тот же человек может исполнять
несколько ролей одновременно.
268
Достарыңызбен бөлісу: |