Вы находитесь на странице: 1из 324

с. 8.

3апе llНИIОВ

IРИПIпrРIIPИЧ(СIИ( IIРОIПIОJlhI
и их IIIlименени~ в финансовой
и коммерческои пентеJIЬНОСТИ

Допущено ума вузов по обрезовгнию в области


информационной безопасности в качестве учебного пособия
для студентов высших учебных заведений,
обучающихся по специальностям 090102 (075200)-
«Компьютернаябезопвсность»и 090105 (075500)-
«комплексноеобеспечениеинформационной
безопасностиевтомвтиэироввнныхсистем»

Москва
Горячая линия - Телеком
2007 '
УДК 003.26(075)+004.056(075)
ББК 32.973-018.2я7
3-31
Ре ц е н з е н ты; доктор техн, наук, профессор А. 10. Щербаков; канд. физ.-маг.
наук, доцент А. А. Варфоломеев; канд, физ.-мат. наук А. Е. Гришин;
канд. физ.-мат. наук С. И. Чечета

3апеЧНИКО8 С. В.
3-31 Криптографические протоколы и их применение в финансовой
и коммерческой деятельности: Учебное пособие для вузов. -
М.: Горячая линия-Телеком, 2007. - 320 с.

JSBN 978-5-93517-318-2.
В систематизированном виде изложены основы теории криптогра­
фических протоколов и практики ИХ применения в финансовой и ком­
мерческой деятельности. Наряду с рассмотрением современных методов
синтеза и анализа основных классов криптографических протоколов, ос­
новное внимание уделяется специальным их применениям: защищенным
каналам передачи информации, системам электронных платежей, защи­
щенному электронному докуменгсобороту. Рассматриваются проблемы
криптографической защиты многосторонних транзакций и коммерче­
ских сделок, криптографических методов обеспечения государственно­
правовых отношений, осуществляемых с использованием технических
средств компьютерных систем.

Для студентов высших учебных заведений) обучающихся по специ­


альностям 090102 (075200) - «Компьютерная безопасность» и 090105
(075500) - «Комплексное обеспечение информационной безопасности
автоматизированных систем», аспирантов, слушателей курсов повышения
квалификации, специалистов в области информационной безопасности.
ББК 32.973-018.2я7

Учебное издание

ЗапеЧНИК:О8 Сергей Владимирович

КРИПТОГРАФИЧЕСКИЕ ПРОТОКОЛЫ И ИХ ПРИМЕНЕНИЕ


В ФИНАНСОВОЙ И КОММЕРЧЕСКОЙ ДЕЯТЕЛЬНОСТИ
Учебное пособие для вузов

Редактор Т. В. Волвенкопа
Компьютерная верстка Н. В. Дмитриева
Корректор В. С. Кустов
Обложка художника В. Г. Ситникова

ЛР X~ 071825 от 16 марта J 999 г.


Подписано в печать 25.08.06. Формат 601< 88/16.
Уел. печ, л. 20. Тираж 1000 ЭКЗ. Изд, X~ 6318

ISBN 978-5-9З517-318~2 © С. В. Запечников, 2007


© Издательство «Горячая линия-Телеком», 2007
ПРЕДИСЛОВИЕ

Средства и системы криптографической защиты информации


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

Применение специальных криптографических протоколов и


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

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

Вторая сфера, появившаяся сравнительно недавно, относится


к созданию дистанционных способов осуществления взаимоотно­
шений между правительственными структурами, государственными
службами и учреждениями, с одной стороны, и отдельными физиче­
скими и юридическими лицами, с другой стороны. В иностранной
литературе этот тип отношений называется термином «eGovem-
шепт», что означает буквально «электронное правительство», или)
лучше сказать, «электронное государственное управление».
4 Запечкиков С. В. Криптографические протоколы /1 'IX примененив
Третья сфера - разработка защищенных способов дистанционно­
го осуществления коммерческих отношений между субъектами эко­
номической деятельности (организациями, предприятиями, учреж­
дениями, частными лицами) с помощью компьютерных средств и
систем. Эта сфера приложения криптографии в иностранной литера­
туре именуется «eCommerce» или «eBusiness», т. е. «электронная
коммерция» или «электронный бизнес». Более удачным представля­
ется другое название - «информационная экономика». Можно выде­
лить три основных направления, по которым во всем мире идет раз­

витие «информационной экономики»: интеграция корпоративных


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

графических алгоритмов, что исключает их подделку или несанк­


ционированное использование.

В создании информационных систем для электронной коммер­


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

тем и множества других средств. Реализация второй составляющей


ВВЕДЕНИЕ 5
СВОДИТСЯ К решению задачи грамотного построения надежной крип­
тосистемы, отвечающей необходимым требованиям. Материал, из­
ложенный в этом пособии, как надеется автор, поможет читателю
научиться решать такого рода задачи.

От читателя учебного пособия предполагается знакомство с ос­


новами алгебры, теории чисел и теории вероятностей, а также с ба­
зовыми криптографическими методами защиты информации в объ­
еме стандартного курса основ криптографии (В частности, предпола­
гается, что читатель знаком со схемами открытого шифрования и
цифровой подписи RSA и Эль-Гамаля).
Учебное пособие состоит из четырех глав. В главе 1 рассматри­
ваются общетеоретические вопросы синтеза и анализа криптографи­
ческих протоколов, закономерности построения сложных криптоси­

стем, а также конкретные виды базовых криптографических прото­


колов и схем, получивших широкое применение в качестве

инструментария для создания систем электронных платежей и сис­


тем докуменгсоборота в электронной коммерции.
Глава 2 посвящена вопросам построения инфраструктуры крип­
тосистем, включая процедуры управления криптографическими
ключами, способы и модели организации инфраструктуры открытых
ключей, протоколы распределения ключей.
Глава 3 целиком посвящена криптографической «начинке» сис­
тем электронных платежей. В ней рассматриваются как общие тре­
бования к организации платежных систем, так и конкретные виды и
примеры систем. Изложение ведется по принципу «от простого к
сложному», т. е. системы электронных платежей постепенно «на­
гружаются» все новыми и новыми свойствами, делающими их более
удобными и совершенными.
В главе 4 речь идет о криптографических протоколах, исполь­
зуемых в сфере электронной коммерции. Широта самого понятия
электронной коммерции, многообразие решаемых в этой области
теоретических и практических задач привели к необходимости огра­
ничиться в этой главе пособия обзором основных задач, решаемых
средствами криптографии, обязательно сопровождаемых конкрет­
ными примерами протоколов.

В конце каждой главы приводятся вопросы для самоконтроля


и задачи для самостоятельного решения.
6 Занечников С. В. Криптографические протоколы 11 их примененив
В конце книги дан перечень страниц сети Интернет, на которых
можно получить наиболее квалифицированную и актуальную ин­
формацию по финансовой и коммерческой криптографии.
Предлагаемое издание, как и любая учебная литература, конечно
же, не ставит целью стать исчерпывающим справочником по всем

вопросам, возникающим в процессе изучения такой обширной и


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

Вместо этого все ссылки сконцентрированы в конце книги, где, кро­


ме того, предлагаются некоторые советы по выбору литературы для
дальнейшей самостоятельной работы. В конце каждой главы приве­
дены вопросы и задачи для самостоятельной работы.
Пособие написано на основе курсов лекций «Криптографические
протоколы» и «Финансовая криптография», читавшихся автором
студентам 5-го курса факультета информационной безопасности
МИФИ с 1997/98 по 2000/01 'уЧ. г. и в 2001/02-2004/05 УЧ. гг, соот­
ветственно.

Автор выражает признательность своим коллегам по факультету


информационной безопасности МИФИ, а также всем рецензентам за
внимательное и доброжелательное отношение к работе.
Глава 1
БАЗОВЫЕ КРИПТОГРАФИЧЕСКИЕ
ПРОТОКОЛЫ

Теория криптографических протоколов - сравнительно молодая


научная дисциплина. Начало ее формирования приходится на
80-е гг. хх в. Методологической основой этой отрасли знания яви­
лись открытия В области асимметричной криптографии (у. Диффи,
М. Хеллман, 1976) и последующее развитие представлений о мето­
дах синтеза стойких криптосистем. Значительная часть этих дости­
жений используется сейчас для решения весьма сложных и специ­
фичных задач обеспечения безопасности информации в различных
областях финансовой и коммерческой деятельности. Вообще появ­
ление и развитие асимметричной криптографии прежде всего связа­
но с теми областями человеческой деятельности, где существует или
может существовать (в той или иной степени) недоверие между
людьми, потенциальная возможность взаимного обмана. Это раз­
личного рода коммерческие, юридические, финансовые, нотариаль­
ные и т. п. отношения. Современная криптография располагает
множеством методов и хорошо разработанным математическим ап­
паратом для решения разноплановых задач: теорией вероятностных
доказательств, теорией аутентификации, методологией управления
ключами, теорией двусторонних и многосторонних протоколов. Вот
почему, приступая к изучению этого предмета, прежде всего необ­
ходимо получить представление о некоторых базовых криптографи­
ческих протоколах, а также о вспомогательных механизмах защиты

и инфраструктуре современных сложных криптосистем,

1.1. Закономерности организации сложных


криптосистем

Как известно, криптография (В переводе с греческого - тайно­


пись) - одна из самых древних наук; ее история уходит в глубь ве­
ков. В истории криптографии выделяется ряд этапов, которые ха­
рактеризуются сменой концепций, лежащих в основе этой отрасли
знаний. Условно выделяют этап донаучной криптографии, который
охватывает период с древнейших времен до середины ХХ в. На этом
8 Запечннков С. В. Криптографические протоколы 11 '/Х "Рlше/l(!lIuе
этапе криптография еще не была наукой как таковой - скорее это
было ремесло, доступное немногим посвященным в него лицам.
Важно, что в этот период копились те методы и факты, которые впо­
следствии легли в основу научной криптографии. В конце XIX -
начале хх в. в криптографии под влиянием научно-технического
прогресса (развитие телеграфии и радиосвязи, появление электроме­
ханических устройств) происходят существенные изменения: разра­
батываются методы двоичного кодирования информации, изобрета­
ются сложные шифрмашины, в 1917 г. инженером американской
фирмы АТ&Т Вернамом предлагается и реализуется невскрываемый
(совершенно секретный) шифр.
Все это подготовило переход к этапу научной криптографии, на­
чалом которого считается 1949 Г., когда была опубликована работа
известного американского математика К. Шелнона «Теория связи в
секретных системах», в которой он дал теоретико-информационную
формулировку задачи обеспечения секретности информации. С этих
пор классическая криптография (симметричная, или криптография с
секретным ключом) получила научные основы, стал раз~абатывать­
ся математический аппарат. Важной вехой на пути развития н~учной
криптографии явилась разработка в 1970-е гг. хх В. сложных шиф­
ров типа DES, надолго определивших способы создания алгоритмов
блочного и поточного шифрования.
В 1976 г. появляется работа двух других известных американ­
ских математиков - Уитфилда Диффи и Мартина Хеллмана «Новые
направления в криптографии». Действительно, она положила начало
развитию второго типа криптосистем - асимметричных (двухключе­
вых). Другое их название - криптосистемы с открытым ключом.
Теоретической основой этого раздела криптографии стала матема­
тическая теория сложности. Первые практически применимые
асимметричные криптосистемы на основе однонаправленной функ­
ции RSA появились в 1979 г. В 1984 г. Goldwasser и Micali сформу­
лировали определение, дающее теоретико-сложностной аналог со­
вершенной секретности. В 1989 г. Goldwasser, Micali и Racko{[
обобщили теоретико-сложностной подход на криптографические
протоколы.

Все эти работы фактически подготовили базу для формирования


совершенно новой науки: наряду с классической криптографией,
J. Базовые криптографические протоколы 9
объединившей лучшие достижения донаучной, симметричной и
асимметричной криптографии, появляется доказательная, или ре­
дукционистская, или, как часто называют ее за рубежом, современ­
ная криптография. Все эти названия являются соответственно пере­
водами английских терминов «provable sесшitу», «теоцспогпвг»,
«modem сгурtоgгарhу».
В настоящее время криптография переживает бурный рост, эта
наука находится на подъеме. Криптография - это «живая ткань»,
имеющая множество нитей и направлений развития. Перечислить их
все, как и дать строгую классификацию, просто невозможно. Попы­
таемся в сжатом виде сформулировать основные закономерности
построения криптосистем, сложившиеся в современной крипто­
графии.
По современному определению криптография - наука о методах
создания и анализа алгоритмического обеспечения информацион­
ных систем, устойчивых к преднамеренным (а заодно и случайным)
попыткам отклонения системы от предписанного ей функциональ­
ного назначения.

Сравнивая две ветви сегодняшней криптографии - классическую


и доказательную (редукционистскую), прежде всего необходимо
отметить методологическую разницу в подходе к решению крипто­

графических задач.
В классической криптографии любая задача в самом общем виде
решается следующим порядком:

1) выдвигается криптографическая проблема (задача), требую­


щая решения;

2) криптографами отыскивается ее решение;


3) криптоаналитики ищут атаку на предложенное решение - под­
вергают алгоритм криптоанализу;

4) когда атаку находят) если она угрожает или показывает по~


тенциальную слабость алгоритма, переходят к п. (2) и пытаются
найти лучшее решение этой задачи;
5) предложенное решение реализуется.

Как видим, здесь процесс разработки, вообще говоря, является


итерационным, причем переработка .или усовершенствование, пред­
ложенного решения может потребоваться уже после реализации ал­
горитма в программном или аппаратном обеспечении. Классическая
10 Занечников С. В. Криптографические протоколы и IIX применение
криптография требует определенного «дара предвидения», так как
стойкость синтезируемых алгоритмов базируется на стойкости при­
меняемых в них математических и инженерных конструкций. Тем не
менее время от времени находятся тонкие математические взаимо­

связи, которые «рушат» считавшиеся ранее стойкими криптографи­


ческие конструкции.

Доказательная (редукционистская) криптография - преобла­


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

ния может потребоваться построение специальной математической


модели, которая облегчит переход к следующему шагу;
2) дается формальное, математическое определение проблемы;
3) конструируется алгоритм (протокол, схема и т. д.), удовлетво­
ряющий сформулированному определению;
4) принимается некоторое теоретико-сложностное предположение
о существовании некоторой вычислительно-неразрешимой задачи;
5) доказывается, что алгоритм (протокол, схема и т. д.) соответ­
ствует своему определению;

6) предложенное решение реализуется.'

В отличие от классического доказательный подход позволяет


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

безопасных конструкций уже известны). В сложных случаях для


решения задачи может потребоваться построение дискретных моде­
лей, описывающих состояния информационной системы (например,
системы электронной почты, электронных платежей, распределения
ключей и др.).
J. Базовые криптографические протоколы 11
Центральный принцип любой криптосистемы, независимо от
используемой методологии ее конструирования, - использование
асимметрии. Асимметрия выражается в том, что законный участник
криптосистемы обладает некоторой информацией, которая позволя­
ет совершать ему определенные действия; противник же этой ин­
формацией не обладает, и для него, таким образом, создаются вы­
числительные препятствия.

В криптографии известны три принципиально различных спосо­


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

Поскольку второй случай труднореализуем, а третий маловероя­


тен, преобладающим методом является использование криптогра­
фических ключей. Остальные же представляют скорее чисто теоре­
тический интерес.
Предмет изучения криптографии можно представить в виде мно­
гоуровневой схемы, отдаленно напоминающей, скажем, всем из­
вестную модель ISO/OSI (рис. 1.1). Распределение криптографиче­
ских конструкций ПО уровням и блокам довольно условно, но тем не
менее позволяет выделить несколько основных понятий. Кроме то­
го, следует отметить, что многие направления современной крипто­
графии появились совсем недавно, переживают бурный рост, поэто­
му в них еще нет устоявшейся терминологии. В каждой области
исследований используются свои термины, часто не совпадающие
с терминологией из других отраслей науки.
Криптографические примитивы - это отображения самого ниж­
него уровня, которые обладают полезными для криптографии каче­
ствами. Сами они не представляют практического интереса и не да­
ют нам готовых решений никаких задач. Криптографические прими­
тивы могут быть двух типов:
1) перемешивающие, или «инженерные» (в англоязычной тер­
минологии также confusionldiffusion primitives), например петля
Фейстеля, линейный регистр сдвига с обратной связью, SР-сети;
2) алгебраические и комбинаторные примитивы, например
функция дискретного логарифма, функция RSA и др.
12 Занечников С. В. Криптографические протоколы и '/Х примененив

системы защиты ин формации

"'"
Криптографичесхие системы (сервиса защиты)
Система Система Система элек- Сервис обеспечения ... " ....
сертифицнро- электронных тронного голо- устойчивоста к •••••. '.r

ВЗНЕой платежей сования компрометации


зло ПОЧТЫ части ключей
.. ,.... ... " 11'-
Криптографические c:xeJ.4bl (механизмы защиты)
Схемы Схемы цифре- Схемы разделения а ••••••••

шифрования вой подписи секрета

... ,... -1"


Криптографические протоколы
Двусторонние Многосторонние
Протокол «передачи со стиранием», ПРОТОКОЛ пороговой подписи
'--1-- Протокол«депонированиябита», ПРОТОКОЛгрупповойподписи.
Протокол«бросаниямонеты Протокол разделения ceкpcra.
по телефону», Протокол«византийского
Протокол оценки булевых,функций соглашения»

ПРОТОКОЛаутеитификациис нулевым
разглашениемзнания

т- ~
Криптографические «Строитепъныеблоки»
функции: криптографическихпротоколов
(естроитеяьныебло- Б ероятностные Методы распреяеле-
доказательства. ния ключей.
КШ> криптосистем)
Инфраструктура Метоцы ндентнфи-
Бесключевые. управления ключами кации субъектов
Одноключевые. (КМIIPКI).
Двухключевые. ..,..
Криптографичесхие примытивы
..,... Перемешнвающие, Aлrебраические
,(illНЖенерные)} И комбинаторные
( с onfusionldiffusion)

Теория информации.
Базовые математические инструменты
Комбинаторика
""
Теория булевых функций
Алгебра. Т еория СЛОЖНО сти, ...
Теория чисел Теория вероятностей.

Рис. 1.1. Многоуровневая структура криптасистем

Криптографические функции (астроительные блоки» криnто­


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

бесключевые: генераторы случайных последовательностей, бес­


ключевые хеш-функции, псевдослучайныеперестановки;
одноключевые: блочные и поточные шифры, хеш-функции с клю­
чом, псевдослучайныепоследовательности;
• двухключевые: алгоритмы шифрования с открытым ключом, ал­
горитмы цифровой подписи.

Криптографические протоколы - это распределенные алгорит­


мы, которые могут решать некоторые полезные для практики зада­

чи. В следующем разделе будут более подробно рассмотрены ос­


новные понятия, связанные с этими конструкциями.

«Строительные блоки» криптографических протоколов - это


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

для защиты информации.


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

секрета, протокол восстановления секрета, протокол распреде­


ления ключей.

Криптографические системы - еще более высокоуровневые


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

В зависимости от конкретных условий, целей создания инфор­


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

1.2. ОСНОВЫ теории


криптографических протоколов

Протокол - это распределенный алгоритм, определяющий по­


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

только участником, а несколькими, действующими независимо друг


от друга.

Свойства протокола:
1) действия имеют очередность от начала и до конца; ни одно
действие не выполняется, пока не закончилось предыдущее;
2) должно быть точно определено каждое действие; не должно
быть двусмысленности, из каждой ситуации должен быть опреде­
ленный выход;
3) одного действующего лица недостаточно для протокола
(должно быть два или более);
1. Базовые криптографические протоколы 15
4) все участвующие в протоколе стороны должны заранее знать
последовательность действий и быть согласны ее выполнять;
5) стороны решают некоторую конкретную задачу - это не бес­
цельные действия.

Криптографический протокол - такой протокол, в котором ис­


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

х, ]~[ ]~ 1, (х" ... ,хm ) = h (Х)


_ Х2 ~ Т --712 (ХI'''''Хm)=/2 (х)

Х [ ~::
= : : f" (x;:::::;,:,·)·:~" (х)
Очевидно, любой протокол можно тривиально сконструировать,
если есть такой участник криптосистемы Т, которому все остальные
участники полностью и безусловно доверяют. Однако на практике
такие ситуации почти не встречаются, поэтому задача конструиро­

вания криптографических протоколов, как правило, заключается в


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

Х--7[-]--7 h (Х,У)!
У --7 _ --7/2 (Х!У),

F(X,y):::(.t; (x,Y):f2 (х,у)).


Если оба участника в результате выполнения протокола должны
получить одинаковые выходные данные, тогда:

F (х, у) = (g (Х, У); g (х, у)).


-16 Запечников С. В. Криптографические протоколы lll/X примененив
Как уже отмечалось, протокол - структура более высокого уров­
ня, чем криптографические примитивы и алгоритмы. В одном про­
токоле могут использоваться разнообразные примитивы и алгорит­
мы. Неправильное применение одного или нескольких из них может
привести К· утрате безопасности всего протокола. Вот простейший
пример такой ситуации: в протоколе для закрытия передаваемых
данных используется какой-либо алгоритм шифрования, но ключ к
нему в процессе выполнения протокола передается в открытом виде.

Очевидно, что здесь причиной утраты безопасности является имен­


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

защиту от взаимного обмана. Криптографический протокол - такая


процедура взаимодействия участников, в результате которой закон­
ные участники достигают своей цели, а противник не достигает.
Робастный (robust) протокол - протокол, обладающий «внут­
ренней», конструктивной устойчивостью к попыткам его «сломать».
В лучшем случае можно сконструировать протокол так, что если
большинство участников верно следуют протоколу, то они получат
верный результат.
Упругий (resilient) протокол - протокол, сохраняющий безопас­
ность, если противник узнает некоторую часть секретных данных

участников.

Один и тот же протокол может выполняться одними и теми же


лицами многократно в течение какого-то промежутка времени. Се­
анс (сессия) - это однократное выполнение протокола. Раунд про­
токола - это однократная двусторонняя пересылка сообщений.
В зависимости от контекста раунд может включать две или более
единичные пересылки сообщений. Иногда внутри протокола встре­
чаются циклические конструкции: тогда однократное выполнение

цикла и называется раундом.

Описание криптографических протоколов, как правило, кроме


описания действий участников, включает спецификацию требуемых
характеристик алгоритмов и начальных условий, требуемых для
корректной работы протокола.
1. Базовые криптографические протоколы 17
у частники протокола в общем случае подразделяются на две
группы:

1) непосредственно решающие задачу протокола (как правило,


обозначаются буквами латинского алфавита А, В, С, п ... либо сим­
волическими именами Алиса, Боб, Карл, Виолетта и т. п.);
2) обслуживающие участников первой группы: арбитр, третей­
ский судья, дилер, центр доверия, центр распределения ключей и др.

В зависимости от количества участников, принадлежащих к пер­


вой группе, протоколы делятся на двусторонние и многосторонние.
Таких участников, в свою очередь, можно подразделить на честных
(honest) и нечестн ых (dishonest). В числе последних отмечают
умышленно мешающих честным решать задачу протокола, т. е. про­

тивников, или злоумышленников, инеумышленно нечестных, до­

пускающих непреднамеренные ошибки. Вместе с тем на практике


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

По способу вторжения в протокол противник может быть пас­


сивным (eavesdropper) или активным (active adversary). Пассивный
обычно обозначается буквой Е (Eva). Он может только прослуши­
вать каналы связи и выборочно или полностью сохранять информа­
цию, передаваемую по этим каналам. Активный, который чаще все­
го обозначается буквой М (Mallory), может вставлять, модифициро­
вать, удалять сообщения из каналов связи и даже (иногда
рассматривают и такую модель) овладевать частью секретных клю­
чей участников протокола.
История возникновения теории криптографических протоколов
проистекает из тех сфер человеческой деятельности, где существует
взаимное недоверие сторон, потенциальная возможность обмана
ими друг друга, несовпадающие интересы. К таким отраслям отно-
18 Запечников С. В. Криптографические протоколы и их применение
сятся прежде всего банковское дело, нотариат, коммерческие, фи­
нансовые сделки, деловая переписка, документооборот и др.
Рассмотрим классификацию основных видов атак на криnто­
графические протоколы.
1. Атака по известным ключам (known key attack) - в этой атаке
противник обладает некоторыми ключами, использованными в пре­
дыдущих сеансах протокола, и затем применяет эту информацию
для определения новых ключей в последующих сеансах, например
выявляет закон изменения ключей.
2. Атака методом повтора сеанса (replay attack) - в этой атаке
противник полностью или фрагментарно записывает сеанс протоко­
ла и повторно применяет эти сообщения в следующем сеансе, т. е.
«повторно играет» (отсюда название «гергау») сеанс или его часть
в некоторый более поздний момент времени.
3. Атака методом деперсонификации (impersonation) - против­
ник принимает на себя идентичность одного из законных участни­
ков протокола.

4. Словарная атака (tlictionary attack) - атака путем перебора


наиболее вероятных значений каких-либо величин или сообщений,
используемых в протоколе (например, путем перебора паролей,
в качестве которых довольно часто берутся легко угадываемые дан­
ные: фамилия, имя, отчество, номер телефона, адрес и т. п.).
5. Атака методом опережающего поиска (fOJward search
attack) - по принципу осуществления похожа на словарную, но реа­
лизуется путем полного перебора всех возможных значений какой­
либо величины и используется, как правило, для расшифрования со­
общений. Например, банком выполняется транзакция, в которой ве­
личина транзакции, зашифрованная схемой открытого шифрования,
указана в 32-битовом поле. Противник, используя природу схемы
открытого шифрования, может взять 232 возможных открытых тек­
стов и зашифровать их. Каждый из 232 шифртекстов сравнивается с
наблюдаемой противником величиной транзакции, и определяется
соответствующий ей открытый текст.
6. Атака методом включения в канал (intег[еаving attack) - про­
тивник М «врезается» в канал связи между законными участниками
А и В таким образом, что для А создается иллюзия того, что он взаи­
модействует с В, и наоборот, а на самом деле каждый из них взаи-
J, Базовые криптографические протоколы 19
модействует с М, который «пропускаег через себя» все проходящие
сообщения и может их модифицировать, задерживать, менять мес­
тами и т. п. Очевидно, что в этой атаке противник должен быть ак­
тивным.

Компрометация протокола - это ситуация, когда протокол не


способен достичь тех целей, для которых он был предназначен, при­
чем противник получает преимущество без непосредствен:ного
«вскрытия» нижележащих примитивов или алгоритмов, а только пу­

тем манипуляции протоколом.

Рассмотрим простой пример. Используется поточный шифр. Из­


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

счет. Активный противник может просто сделать побитовое сложе­


ние первых 20 бит с какой-либо произвольной величиной и изме­
нить количество денег, так и не узнав его. Другие примеры атак на
протоколы и их подверженности компрометациям мы будем приво­
дить при рассмотрении конкретных классов протоколов.

При первоначальном знакомстве с финансовой и коммерческой


криптографией вряд ли возможно ставить перед собой задачу
научиться конструировать новые стойкие протоколы - достаточно
ознакомиться с обширным арсеналом существующих протоколов,
научиться грамотно их использовать. Современная криптография
имеет вполне достаточно средств для решения подавляющего боль­
шинства практических задач. Тем не менее полезным будет полу­
чить общее представление о тех научных и методических принци­
пах, на которых строится такого рода конструкторская работа.
Завершая изложение основных понятий, связанных с криптогра­
фическими протоколами) отметим основные подходы к конструи­
рованию безопасных протоколов в рамках концепции доказа­
тельной безопасности.
1. Принцип редукции к вычислительно-сложным задачам. Безо­
пасность протоколов основана на сводимости их вскрытия К реше­
нию вычислительно-сложных задач. Решить задачу «вскрытия» (на­
рушения безопасности) криптографических алгоритмов (примити­
вов), используемых в протоколе, по меньшей мере так же трудно,
как «вскрыты> протокол. В то же время решить одну из вычисли-
20 Запечников С. В. Криптографические протоколы и нг примененив
тельно-сложных задач по меньшей мере так же сложно, как
«вскрыть» этот криптографический алгоритм (примитив). Наиболее
известные и часто используемые вычислительно-сложные задачи

теории чисел приведены в табл. 1.1. В последнее время криптогра­


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

в научной литературе.

Таблица 1.1. Часто используемые в криптографии


вычислительно-сложные задачи теории чисел

УСЛО8110е
Наименова-
обозначе- Дано Найти
ние задачи
нuе

FACTOR- Задача фак- п


pi'e j : n = Plel ..... p/I,
ING торизации
где Pi- попарно
целых чи-
простые числа,
сел
~1
l
ej
RSA Задача RSA 11 = pq, 111 : mt: == с (mod п)
е:НОД(е,(р-l)(q-l)) =
= 1,
сЕ Z
SRA Усиленная 11 = pq, ZE z; r = r(z) > 1,
задачаRSА
уЕ Z/: :у' ::= Z
QRP Задача о п - нечетное состав-
?

квадратич- ное целое число,


aEQRJ1

ЙЕz{;J=!
ных выче-

тах

SQROOT Задача из- 11- составное число,


х : х == а ( mod 11 )
2

влечения аЕ QR'I
квадратного

корня по

модуmoп

DLP Задача дис- р - простое число, x:O~x~p-2,


кретного а- образующий эле-
a~ =:: f3(mod р)
логарифмир мент z;,[3E z;
ования
1. Базовые криптографические протоколы 21
Условное
Наименова-
обозначе- Даuо Найти
ние задачи
ние

GDLP Обобщен- G- конечная цикли- х :О ~ х ~ п -1,


ная задача ческая группа,
аХ =р
дискретного IGI =11, а- обр. эле-
логарифмир мент в а, {3Е G
ования

DНP Задача Диф- р - простое число, alllJmodp


фи-
Хеллмана
а- обр. элемент z;,
a//modp,
а.Ь modp
GDНP Обобщен- G- конечная цикли- а
tlЬ

ная задача ческая группа, а- обр.


Диффи- элемент в G, а", а Ь
Хеллмана
DDНP Задача р - простое число,
'/

а'" ~aC modp


распо-

знавания
С/,- обр. элемент z;,
(decisiol1 ) ай modp,
Диффи- аЬ mod р,
Хеллмана
aCmodp
SUВSET «Задача {a,,~, ... ,a/l} - МНО- 7

О рюкзаке»
жество положитель-
L II} aj=s
jE{I....•

ных целых чисел, s-


положительное целое

число

Таким образом, чтобы доказать стойкость того или иного прото­


кола, нужно задачу нарушения его безопасности «вложить» слева в
одну из известных цепочек, связывающих относительную сложность

решения вычислительно-сложных задач, например:

... ~ оонг « DHP ~ DLOG ;


... $; GDDHP ~ GDHP:S; GDLOG ;
... $; SUBSET;
22 Занечников С. В. Криптографические 1Iроmоколы Il их примененив

... ~SRA~RSA )
... ~ QRP ~ FACTORING .
... ~ Rabin ::= SQROOT
2. Принцип моделирования действий противника. При конструи­
ровании протокола отмечается вся наблюдаемая противником ин­
формация и (если противник активный) его действия как участника
протокола. Далее строится формальное доказательство того, что
противник сможет самостоятельно путем моделирования сгенериро­

вать всю информацию, наблюдаемую в протоколе. Иными словами,


из выполнения протокола реальными участниками противник полу­

чает информации не больше, чем он мог бы получить самостоятель­


но, моделируя этот протокол. Пример, иллюстрирующий этот прин­
цип, будет рассмотрен в следующем разделе.

1.3. Вероятностные доказательства


Термин «вероятностные доказательства» объединяет класс крип­
тографических протоколов, имеющих, как правило, вспомогатель­
НЫЙ характер, в которых одна из сторон с некоторой вероятностью
убеждает другую сторону в справедливости некоторого утвержде­
ния. В класс вероятностных доказательств включают: интерактив­
ные системы доказательства, доказательства с нулевым разглашени­

ем знания, вероятностно-проверяемые доказательства и другие виды

доказательств. Далее остановимся на тех из них, которые имеют


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

1.3.1. Интерактивные системы доказательства

Интерактивная система доказательства (interactive ркоо] sys-


tem) - протокол, включающий двух участников: доказывающего
(ргоvеr- Р) и проверяющего (verifier- V). Предварительно формули­
руется некоторое утверждение S, например, утверждение о том, что
некоторый объект w обладает свойством L: w Е L . В ходе протокола
р и V обмениваются сообщениями. Каждый из них может генериро­
вать случайные числа и использовать их в своих вычислениях.
В конце протокола V должен вынести СБое окончательное решение
о том, является ли S истинным или ложным.
1. Базовые криптографнческие протоколы 23
Цель участника Р всегда заключается в том, чтобы убедить уча­
стника Vв том, что S истинно, независимо от того, истинно ЛИ оно
на самом деле или нет. Таким образом, Р может мошенничать в про­
токоле, так как S может быть ложно, т. е. он может быть активным
противником. V должен проверять аргументы участника Р. Цель
участника V заключается в том, чтобы вынести решение, является ли
S истинным ИЛИ ложным. Как видим, интересы участников протоко­
ла Р и V не совпадают.
Однако участник V имеет полиномиально ограниченные вычис­
лительные возможности, а именно время его работы ограничено не­
которым полиномом от длины доказываемого утверждения:

t ~ p~wl). Это предположение является стандартным для моделиро­


вания вычислительных возможностей обычных средств вычисли­
тельной техники. В силу этого он самостоятельно, без помощи Р,
не способен распознать истинность утверждения S.
Вычислительные возможности Р никак не ограничиваются, что в
действительности может соответствовать ситуации, когда Р владеет
какой-то трудно получаемой информацией (хотя он может и обма­
нывать, утверждая, что такая информация у него имеется).
Программа действий участника V должна быть устроена таким
образом, чтобы:
1) если S истинно, Р смог бы убедить V признать это;
2) если S ложно, Р не смог бы убедить V в противном, какие бы
аргументы он ни выдвигал, т. е. вне зависимости от получаемых от Р
сообщений.
V может ошибаться, но ставится условие, чтобы вероятность
принятия им неправильного решения была бы пренебрежимо мала.
Рассмотрим примеры интерактивных систем доказательства.
1. Пример из теории чисел. Зададимся натуральным числом п.
Рассмотрим мулыипликативную группу z; = { х < n;(х, n) = l}. Обо-
значим QR ={(х,n )!х< n,(x,l'l) = 1,::3y: у2 == xmodl'l}- множество ква­
дратичных вычетов числа п. Напомним, что если сравнение
у2 == х( modn) имеет решение, то х называется квадратичнымвыче-
том числа п. В противном случае х называется квадратичнымневы-
24 Запечников С. В. Криптографические протоколы !I их примененив

четом. Тогда L = QNR ={(х,n)Ix < n,(х,n) = l,ily: у2 = xmOdn}- мно­


жество квадратичных невычетов числа n. Р доказывает V утвержде­
ние S: (х,n)Е QNR. Протокол, показанный в табл. 1.2, является ин­
терактивной системой доказательства данного утверждения. Пока­
жем, что этот протокол действительно удовлетворяет требованиям,
указанным выше.

Таблица 1.2. Пример интерактивной системы доказательства,


основанной на задаче теории чисел
р v
1
Для i = l,k,k =11l\ выбирает:
Ь; Е {о, l} - случайный бит, Zj Е 2,: '
и вычисляет (~VI' ... , Wk ) , где

{ "; (mod 11),еcnu (bi =1),


j
~ W := Х· г} (mod n),если (Ь; = о)
2 для i = 1, k вычисляет
(CI, ... , Ck), где

С. = Г,еcnu(w"I1)Е QR
1 о,еСЛll(Wi'n)е; QR -7
3 Принимает доказательство тогда и толь-

ко тогда, когда для \;;/ (; = 1, k) Cj =b j•

Во-первых, покажем, что дЛЯ \;;/ХЕ QNR, если (х,l1)Е QNR, т. е.

lIу: у2 == x(modn), Р докажет VутверждениеS с вероятностью, рав­


ной единице. Для этого рассмотрим действия участника V на шаге
(1) протокола.
Когда Ь; = 1, по условию протокола 3z; : z; == w j ( mod 11). По оп-
ределению вычета это означает, что (Wj>n)E QR, т. е. Wj является
квадратичнымвычетом числа п.

Когда Ь; = О, ПО условию протокола z;' Х == w (modn) . Из дока-


i

зываемого утверждения известно) что (х,П)Е QNR. Может ли W; быть


квадратичным вычетом числа n? Для этого должно быть
1. Базовые криптографические протоколы 25
(Zj . X ll 2 )2 == W mod 11). Это может быть, только если х = 1. Но
j (

(1,1l) ;:: 1. Кроме того, Зу ;:: 1: у2 == 1(mod 1l) . Следовательно,


(l,n)Е QR. МЫ пришли к противоречиюс исходным утверждением.
Следовательно, Ь; ;:: О тогда и только тогда, когда (W;.n)E QNR,
т. е. мы установили однозначную связь: Wj является квадратичным

вычетом числа 11 только при Ь; ;:: 1. Распознавая QR на шаге (2) про­


токола (эту задачу нельзя решить за полиномиальное время), дока­
зывающий Р будет отвечать битом С; = 1 тогда и только тогда, когда
Ь; = 1, т. е. на шаге (3) результат проверки всегда будет положитель­
ным и V всегда примет доказательство.
Покажем теперь, что для "dx! если (х,п)е QNR, вероятность

ошибки V составляет р~ш :::; 1/ з: .


Когда Ь; = 1, по условию протокола ЗZ; : z; == W; (mod n). По опре­
делению вычета это означает, что (w;,n)E QR, т. е. W; является
квадратичным вычетом числа п.

Когда Ь; = О, по условию протокола W; == Х' Zj2 (mod 11). Если


(x,n)eQNR, Т.е. (x,n)EQR, то (х,n);::l,Зу:/=х(mОdп). Тогда
можно записать, что wj == / . Z;2 (mod n), ИЛИ, что то же самое,

== (У 'Zj)2 (modJl). Значит, Зv = у' г, : у == W; (mOdn), т. е.


2
W; (Wpn)E QR .
Итак, Wj - случайный квадратичный вычет числа п.
В любом случае: Ь; = О или Ь, = 1 - участник Р на шаге (2) прото­
кола всегда будет распознавать число W; как квадратичный вычет
числа п. Следовательно, он может угадать, какой бит Ь; = {о, l} был
выбран, только случайно, с вероятностью Р = 1/2. Следовательно,
все k бит {bl' ...,bk } он сможет угадать лишь с вероятностью

P==2-k k--'Jo:> )0.


2. Пример из теории графов. Графы Go и G1 называются изо­
морфными, т. е. Go :::::: G!, если существует взаимно-однозначное со­
ответствие между их вершинами, при котором соединенным ребром
вершинам в графе Go соответствуют соединенные вершины в графе
26 Занечников С. В. Криптографические протоколы и их применение
G! (задача проверки изоморфности графов также нерешаема за по­
линомиальное время). Не упрощая задачи, можно предполагать, что
Go и G 1 - графы на одном и том же множестве вершин N мощности

т: IN/ = т . L = GNI = {(Go,GJ~\fGo *G 1} - множество пар неизо-


морфных графов. Р доказывает Vутверждение S = (Go,GJE GNI.
Протокол, показанный в табл. 1.3, является интерактивной сис­
темой доказательства данного утверждения.

Таблица 1.3. Пример интерактивной. системы доказательства,


основанной на задаче теории графов
р v
1 Для i ~ l,m берет а! Е {O,l}- спу-
чайный бит, создает изоморфную
1

КОПИЮ G а/ := G а; путем случайной


перестановки вершин:

~
G(I;I ~{(1t(u),n(v))I(U,V)EЕа .}
2 Для i =1, т вычисляет

~; Е {О,1} так, что


1

~i = О,еслu (GQ.; ,.,Go ) ,

(3; = 1, если ( G а; 1 := G\ ),

lЗ; - СЛУЧ., если (Go = G\ ),


о; *- а;
13j =О,еслu', ,
[Ga'; «о, J
отправляет f3; проверяющему -7
э Принимает доказательство тогда
и только тогда, когда все биты сов-

пали: ДЛЯ Va = l,т f3; = С1.;

Обобщим теперь рассмотренные примеры и сформулируем ряд


определений.
J. Базовые криптографические протоколы 27
Пусть S- утверждение вида wE Е, где w - слово, L- язык в
ДВОИЧНОМ алфавите. Если существует интерактивная система дока­
зательства для утверждений такого рода, то говорят, ЧТО язык L об­
ладает интерактивной системой доказательства. Обозначается

такая система (р, V, s) .


Протокол между участниками Р и V называется интерактивным
доказательством для языка L, если V полиномиально ограничен
и выполнены следующие два условия:

1) для \:}хЕ L p{(P,V)(X) =1}~1-l/2"(",


где С = Const; n - число раундов протокола (т. е. вероятность приня­
тия проверяющим доказательства истинного утверждения стремится

к единице);
2) для \:}ХЕ L и для \:} р' :;t. р (для любого другого участника,
который действует не так, как честный участник) вероятность при­
нятия проверяющим доказательства ложного утверждения исчезаю-

ще мала, т. е. p{(pl,V)(X) = l}=:; 1/ 2/,c


Условие 1 называется полнотой (completeness), условие 2 - кор­
ректностыо (soundness) доказательства. Класс языков, обладающих
интерактивными системами доказательства, обозначается IP.
Теорема (А. Shamir, А. Shen, 1990). /Р = PSPACE (т. е. класс за­
дач, обладающих интерактивными системами доказательства, сов­
падает с классом задач, решаемых с полиномиальным объемом па­
мяти).

1.3.2. Доказательства с нулевым разглашением знания

Пусть задана интерактивная система доказательства (Р, V,S).


в определении интерактивной системы доказательства ранее не
предполагалось, что V может быть противником (предполагалась
только возможность существования нечестного участника pl). Но V
может оказаться ПрОТИВНИКОМ, который хочет выведать у Р какую­
либо новую полезную информацию об утверждении s. В этом слу­
чае Р может не хотеть, чтобы это случилось в результате работы
протокола интерактивной системы доказательства (Р, V, s). Таким
28 Запечников С. В. Криптографические протоколы и их примененив
образом приходим к идее протокола доказательства с нулевым раз­
глашением знания (ze1"o-knowledge prooj). Нулевое разглашение зна­
ния подразумевает, что в результате работы протокола интерактив­
ной системы доказательства V не увеличит свои знания об утвер­
ждении S, или, другими словами, не сможет извлечь никакой
информации о том, почему S истинно.
Как и ранее, в протоколе предварительно формулируется неко­
торое утверждение S, например о том, что некоторый объект w об­
ладает свойством L: w Е L . В ходе протокола Р и V обмениваются
сообщениями. Каждый из них может генерировать случайные числа
и использовать их в своих вычислениях. В конце протокола V дол­
жен вынести свое окончательное решение о том, является ли S ис­
тинным или ложным.

Цель Р всегда состоит в том, чтобы убедить V в том, что S ис­


тинно, независимо от того, истинно ли оно на самом деле или нет,

т. е. Р может быть активным противником, а задача V - проверять


аргументы Р. Цель участника V заключается в том, чтобы вынести
решение, является ли S истинным или ложным. Как и ранее, V имеет
полиномиально ограниченные вычислительные возможности,

а именно время его работы ограничено некоторым полиномом от

длины доказываемого утверждения: t:$; p~~). в силу этого он са­


мостоятельно, без помощи Р, не способен распознать истинность
высказывания S. Вычислительные возможности Р никак не ограни­
чиваются.

Рассмотрим теперь примеры протоколов доказательства с нуле­


вым разглашением знания.

1. «Задача о пещере Али-Бабы». Имеется пещера, план которой


показан на рис. 1.2. Пещера имеет дверь с секретом между точками
С и D. Каждый, кто знает волшебные слова, может открыть эту
дверь и пройти из С в D или наоборот. Для всех остальных оба хода
пещеры ведут в тупик.

Пусть Р знает секрет пещеры. Он хочет доказать V знание этого


секрета, не разглашая волшебные слова. Вот протокол их общения:
1) V находится в точке А; .
2) Р заходит в пещеру и добирается либо до точки С, либо до
точкиD;
1. Базовые криптографические протоколы 29
3) После того как Р исчезает в пещере, V приходит в точку В,
не зная, в какую сторону пошел Р;
4) V зовет Р и просит его выйти либо из левого, либо из правого
коридора пещеры согласно желанию V;
5) Р выполняет это, открывая при необходимости дверь, если,
конечно, он знает волшебные слова;
6) р и V повторяют шаги (1) - (5) 11 раз.

Рис. 1.2. К «задаче о пещере Али-Бабы»

Если р не знает секрета двери, вероятность того, что V попросит


его выйти из того же коридора, в который ои вошел, равна 112. По­
сле n раундов протокола вероятность сократится до 1/2/1.
2. Доказательство изоморфизма графов. Р хочет доказать V изо­
морфизм графов Go и G,. Пусть G1 = <j) ( Go ) : Go z G], где <р - пре-
образование изоморфизма; т - мощность множества N вершин гра­
фов. В табл. 1.4 приведен протокол доказательства данного утвер­
ждения.

Поясним строение этого протокола. На шаге (1) участник Р соз­


дает случайный граф Н, изоморфный G t • На шаге (2) участник V,
выбирая случайный бит а. = {O,l}, тем самым просит доказать, что

Н::=; Go либо что Н ~ G]. На шаге (3) участник Р посылает участни­


ку V преобразование \V , которое он строит таким образом, что при
а. ::: 1 в результате применения этого преобразования к графу Ga по-

лучается граф F' = 1tG1 = Н . а при а = О в результате применения


этого преобразования к графу Ga получается граф FO =
30 Занечников С. В. Криптографические протоколы 11 их примененне

= 11: ( ер ( Со)) z nG] = Н , На шаге (4) участник V, выполняя проверку


равенства графов, тем самым определяет, выполнено ли условие
~

Н ~Fa. Шаги (1) - (4) повторяются т раз. Если во всех т раундах


этого протокола результат проверки оказывается положительным, V
принимает доказательство.

Таблица 1.4. Протокол доказательства изоморфизма графов


р v
1 n- случайная перестанов-
ка вершин, вычисляет

н гна, -7
2 ~ а = {о,l}- случ.
3 Посылает преобразование -7
\jf , такое, что

{ n, если ( а ~ 1), m раз


\jI=
1t о <р, если (а::: о)

4 Вычисляет граф \jIGa


.,
и сравнивает: Н =\jfGC(

5 Принимает доказательство тогда


и только тогда, когда для "11т
н(m) = \jfG~")

Этот протокол действительно является протоколом с пулевым

разглашением знаний, так как в случае изоморфных G o = G 1 участ­


ник V не получает никакой информации, кроме изоморфизмов гра­
фов GO и G\ С какими-то их случайными перенумерациями, которые
он мог бы получить и самостоятельно, выбирая случайный бит а и
перенумеровывая случайным образом граф Ga •

3. Доказательство знания дискретного логарифма х числа х.


Перед началом работы протокола задаются открытые величины: р,

q - простые числа, такие, что Ql(p -1), элемент g Е z;, число Х. До-
J. Базовые криптографические протоколы 31
казывающему Р известна секретная величина Х: ХЕ Zq' gX = Х , зна­
ние которой он должен доказать V, не разглашая самой секретной
величины. В табл. 1.5 показано решение этой задачи.

Таблица 1.5. Протокол доказательства знания


дискретного логарифма
р v
1 rE}{ 2 ,
ч
М = я' (modp) -7
2 f- RE R 2q
3 111 = г+хR(mоdq) -7
4 .)

g 111 ~ Х к . М (mod р )

4. Доказательство знания представления числа у в базисе (zero-


knowleclge рпоо] 01 knowledge о/у representation). Перед началом ра­
боты протокола задаются открытые величины, известные всем уча-
стникам: простые числа р, q, элементы у, g \' g 2'·'" g k Е G(J . Доказы-
вающему Р известны секретные величины 0:\ ,О:2'···'а,,, Е ZlJ ; у ==
== g~1 . g~! ... g;t , знание которых он должен доказать V, не разгла­
шая самих этих величин. Протокол представлен в табл. 1.6.

Таблица 1.6. Протокол доказательства знания представления


числа в базисе
р v
1 "i 1 "21"" 7А. Еи Zq'
м =g~ 'g~l .. ·gi -7
2 ~ RE R Zq
3
mj =; 'i + (J,jR, i =l,k -7
4 1
g;"1 . g~J2 ... g;'t == уп . М
5. Доказательство знания представления множества чисел
в соответствующих базисах (zero-knowledge prooj о/ knowledge о/
equality 01 representation о/ all /Л in the respective bases). Перед
началом работы протокола задаются открытые величины, извест-
32 Запечников С. В. Криптографические протоколы 11IlX примененив
и) (')
ные всем участникам: простые числа р, q, элементы у ,g\ } ,
g1 j
) ••• giЛ Е Gt} дЛЯ некоторых и). Доказывающему Р известны сек-
ретные величины 0:,,0:2' .... а): Е Zq, такие, что для Vj ут =

= (g~Л )а! .(g~j))~ ... ( g~j) )а знание которых он должен доказать V,


1
,

не разглашая самих этих величин. В табл. 1.7 приведен протокол,


который решает эту задачу.

Таблица J. 7. Протокол доказательства знания множества чисел


в соответствующих базисах
р v
1 /j,r2 , ••• ,rk E R Zq'ДЛЯ \:1)
(j) = ( (j) )Г, .( 82и) )Г!. .•..( я:(j) )Г,
М gl
~
2 ~ я«, Zq
3 Щ = 'i + а.я, i :::: 1,k ~
4 для 'i/j
( grи) (1 (82(j))"'2 ... (и)
gk ущ :!.-
-

~(y<j))R .M UJ

6. Доказательство знания мультипликативной связи «депониро­


ванных» величин (zero-knowledge proo/ о/ knowledge о/ multiplicative rela-
поп Ьеьсееп committed values). Элемент Х = gX циклической подгруп­
пы простого порядка, в которой задача дискретного логарифмирования
считается вычислительно-сложной, называется депонированной вели­
чиной (committed value), представляющей секретную величину х. Пусть
d - неизвестный элемент, такой, что h = g{[ . Перед началом работы
протокола задаются открытые величины: простые числа р, q, элементы

А, В, С Е G([. Доказывающему р известны секретные величины

..
а, а, Ь , ь" ,С, С,
А такие, что с = а,Ь А = g а, jj
1, В = g bhb, С :::: 8 chc . 3нание их

он и должен доказать V, не разглашая самих величин. В табл. 1.8 при­


веден протокол такого доказательства.
J. Базовые крипнюграфические протоколы 33
Таблица 1.8. Протокол доказательства знания
мультипликативной связи депонированных величин
р v
1 d,x,S,SI' S2 Е n 2(1'

М =g'
М,= '/"'}я' -ь»,
М2 = В1: .h J2
~
2 ~ REzг ZlJ
3
y:=d+bR,
z =x+aR,
w=s+bR,
w1 =SI +aR,
-7
w2 = S2 + (c-аЬ)R
4 ')

g у • /1 \V .:::. вR •М ,
?

g ~ '/2 "l .:::. А к • М l '


?

В' ·/z\\'2 ~CR . М 2

Обобщим рассмотренные примеры и сформулируем ряд опреде­


лений. В общем виде протокол интерактивного доказательства с ну­
левым разглашением знания (табл. 1.9) состоит из четырех шагов:

Таблица 1.9. Структура протоколов доказательства с нулевым


разглашением знания

S: ХЕ [ - доказываемоеутверждение;
/1 - др, общедостунные параметры 11
р V
величины, S - секретные данные дока-
зывающего о том, почему S истинно,
r- случайное ЧllСЛО
1 rl'- случ.,

W =}; (х, rp ) ~
2 rv- случай-
ное число,

~
C=f2(rV )
34 Запечников С. В. Криптографические протоколы 1/ их применепив
Окончание табл. 1.9
S : х Е L - доказываемое утверждение,
/1 - др. общедоступные параметры 11
р V
величины, s - секретные данные дока-
зывающего о том} почему S истинно,
r- случайное 'IlIСЛО
3 R=fз(С,х) -7
4 .)

R=W
1) доказывающий передает проверяющему так называемое сви­
детельство (witness - W) - результат вычисления однонаправленной
функции от секретной величины, знание которой он доказывает;
2) проверяющий посылает ему случайный запрос;
3) доказывающий отвечает на этот запрос, причем ответ зависит
как от случайного запроса, так и от секретной величины, но из него
вычислительно невозможно получить эту секретную величину;

4) получая ответ, V проверяет его соответствие «свидетельству»,


переданному на первом шаге.

Рассмотрим основные принципы построения доказательств с ну­


левым разглашением знания: что подразумевает свойство нулевого
разглашения знания.

В теории доказательств с нулевым разглашением знания Р и V


рассматриваются как «черные ящики» (рис. 1.3).
Пусть {т р }, ~11v } - совокупность всех сообщений, передаваемых
от Р к V (соответственно от V к р), каждое из которых является слу­

чайной величиной, и, таким образом, {X,l2, Ту ,{m р }, {ту }} =


= viewp,v (x,h) - это ансамбль случайных величин протокола, на­

блюдаемых извне (внешним наблюдателем), {x,ll,rv,,{mp },{n2y }} =


;;:: М у' ( х, h) - это ансамбль случайных величин, получаемых в ре­
зультате работы полиномиального моделирующего алгоритма (simu-
lator), который выполняется внешним наблюдателем (противником)
самостоятельно.
е

Если величины viewp.v (х, h):= Му' (х, h) вычислительно-неразли-


чимы за полиномиальное время (Т. е. не существует никакого алго-
1. Базовые криптографические протоколы 35
ритма, который за полиномиальное время мог бы распознать эти два
ансамбля случайных величин), то говорят, что протокол обеспечива­
ет вычислительно-нулевое разглашение знания (computationally геко­
k110wledge) .
х h

честный проверяющий

б
противник М

Рис. 1.3. Случайные величины, наблюдаемые в протоколе доказательства


с нулевым разглашением знания: а - противник наблюдает протокол извне;
6- противник самостоятельно моделирует протокол

Если величины viewp,v(x,h)= Mv,(x,h) одинаково распределе­


ны над множеством случайных величин, то ГОВОрЯТ, что протокол
обеспечивает абсолютно нулевое разглашение знания (perfect геко­
knowledge).
Система ( р, V, s) называется интерактивной системой дока­
зательства с нулевым разглашением знания для языка L, если она:
1) являетсяинтерактивной системой доказательства для языка L
(т. е. обладает свойствами полноты и корректности);
2) обладает свойством нулевого разглашения знания.
Пусть S - утверждение вида w Е L, где w - слово, L - язык в
двоичном алфавите. Язык L имеет интерактивную систему дока­
зательства с абсолютно нулевым (вычислительно нулевым) разгла­
шением знания, если:

1) существует интерактивная система доказательства ( р, V, s)


для языка L;
36 Запечников С. В. Криптографические протоколы и их примененне
2) для любого полиномиально ограниченного участника V' ИН­
терактивный протокол (р, V', s) является интерактивной системой
доказательства с абсолютно нулевым (вычислительно нулевым) раз­
глашением знания для языка L.
Класс языков, обладающих доказательствами с абсолютно нуле­
вым разглашением знания, обозначается PZK, с вычислительно-ну­
левым - ZK. Справедливо следующее соотношение:
згг «: PZK ~ZK с IP.
Доказаны следующие основные теоремы о доказательствах
с нулевым разглашением знания:

Теорема 1 (Goldreich О., Кrawchyk Н.). Последовательное вы­


полнение двух протоколов с нулевым разглашением знания является

протоколом с нулевым разглашением знания.

Теорема 2 (Goldreich О., Кrawchyk Н.). Параллельное выполне­


ние протоколов с нулевым разглашением знания не обязательно
приводит к протоколу С нулевым разглашением знания.

Среди всех протоколов доказательства с нулевым разглашением


знания выделяют класс протоколов доказательства знания (pro%/
knowledge).
Например, доказательство знания чисел р, q, таких, что Р: q= п
есть доказательство знания, но доказательство того, что п - состав­

ное число, доказательством знания не является - это так называемое

доказательство обладания (proolo/possession).


Но доказательство знания не обязательно должно быть доказа­
тельством с нулевым разглашением знания, так как можно просто

сообщить секрет другой стороне протокола: при этом сообщивший


докажет знание секрета, но тем самым разгласит секрет. Далее в
различных приложениях криптографии, в частности в протоколах
аутентификациии в схемах электронных платежей, будут встречать­
ся протоколы доказательства знания с нулевым разглашением зна­
ния (zero-knowledge prooj 01knowledge - ZKPK). Существуют специ­
альные разновидности протоколов доказательства знания с нулевым

разглашением знания: протоколы группового и «скрытого» доказа­

тельства знания и др.


J. Базовые криптографические протоколы 37
1.4. Протоколы аутентификации
Протокол аутентификации - криптографический протокол,
в ходе которого одна сторона удостоверяется в идентичности другой
стороны, вовлеченной в протокол, а также убеждается в том, что
вторая сторона активна во время или непосредственно перед момен­

том приобретения доказательства. Б протоколе аутентификации


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

в самом деле является Р, а не кем-то иным. Проверяющий на выходе


протокола аутентификации должен либо принять претендента как
аутентичного, либо отвергнуть его как не соответствующего заяв­
ленной идентичности. Более строго, требования к протоколу ау­
тентификации состоят в следующем:
1) если Р и V являются честными, V завершит протокол, приняв
идентичность Р;
2) V не может повторно использовать протокол, совершенный
с Р, для того, чтобы успешно деперсонифицировать Р в протоколе
с третьей стороной М;
3) вероятность того, что любая сторона М, отличная от Р, прове­
дя протокол и играя роль Р, может заставить V завершить протокол
с принятием идентичности Р, пренебрежимо мала;
4) предыдущие свойства остаются справедливыми, даже если
между Р и V совершено "большое, но полиномиально ограниченное
число сеансов протокола аутентификации, противник М участвовал
в предыдущих сеансах выполнения протокола и несколько сеансов

могли выполняться одновременно.

Известны три принципиально разных способа аутентификации:


1. «Субъект знает» - претендент обладает некоторой информа­
цией, которой нет у других субъектов компьютерной системы (па­
ролями, цифровыми кодами, секретными ключами) и знание кото­
рой он демонстрирует в протоколах аутентификации.
38 Запечников С. В. Криптографические протоколы 11ILX примененив
2. «Субъект обладает» - претендент имеет некоторый физиче­
ский предмет (магнитную карту, интеллектуальную карту, генератор
паролей), который необходим для его участия в протоколе аутенти­
фикации и который выполняет для него криптографические преоб­
разования информации.
3. «Субъект есть» - в протоколе проверяются некоторые при­
знаки, характеризующие человеческую индивидуальность субъекта
(иными словами, биометрические признаки: отпечатки пальцев, го­
лос, рисунок радужной оболочки глаза и др.).

Криптографические протоколы реализуют первый подход - опо­


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

1.4.1. Парольная аутентификация


Идея, лежащая в основе метода парольной аутентификации,
чрезвычайно проста. Каждый субъект компьютерной системы имеет
пароль - секрет, который он разделяет с системой. Демонстрация
знания этого секрета (чаще всего путем разглашения самого пароля)
принимается системой как подтверждение идентичности субъекта.
В качестве пароля обычно выбирается буквенная и(или) цифровая
последовательность, которую пользователь легко может запомнить

и при необходимости ввести по запросу системы. Различные па­


рольные протоколы различаются по средствам, которыми хранится

парольная информация внутри системы, и по методам ее проверки.


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

Фиксированные пардли. Этот тип протоколов объединяет те из


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

хранение в компьютерной системе файлов паролей в защищен­


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

задание правил выбора паролей (минимальное количество сим­


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

• искусственное замедление процесса ввода пароля в систему

с целью резкого увеличения времени на перебор паролей;


выбор в качестве пароля осмысленного предложения (фразы)
с последующим преобразованием посредством хеш-функции в
короткое сообщение, которое обычно обладает большей энтро­
пией, чем пароль такой же длины, выбираемый человеком;
добавление системой случайной величины к паролю перед обра­
боткой его однонаправленной функцией - метод солтинга.
Все перечисленные методы лишь затрудняют или замедляют
процесс доступа к паролю, его перебора или случайного угадывания.
Ни один из них не решает проблемы защиты парольного протокола
радикально. Они обеспечивали вполне приемлемый уровень защиты
в 70-80-е гг, хх в. С учетом тогдашнего уровня развития вычисли­
тельной техники и операционных систем. Сегодня перечисленные
приемы простой аутентификации с фиксированными паролями
40 Занечников С. В. Криптографические протокалы и IIX примененив
используется) как правило) в не очень ответственных случаях или

когда процесс доступа субъекта к системе необходимо максимально


упростить (например, для входа пользователя в систему в массовых
тиражируемых операционных системах семейств Windows или
Linux).
Разновидностью фиксированных паролей являются РIN-коды
(от английских слов - Personal /dentificatiol1 Number). Это числовые
пароли длиной от 4 до 8 десятичных цифр. Чаще всего они исполь­
зуются в соединении с методом «обладания чем-либо»: обычно МИК­
ропроцессорной пластиковой картой или картой с магнитной поло­
сой. РIN-код обеспечивает второй уровень защиты на случай, если
карта потеряна или украдена. Для защиты от полного перебора тако­
го маленького ключевого пространства необходимы дополнитель­
ные меры; организационная и физическая защита. Например) банко­
мат может забрать у пользователя пластиковую карту или блокиро­
вать ее после нескольких подряд неудачных попыток ввода пароля.

Одноразовые пароли. В протоколах этого типа каждый пароль


используется только один раз, т. е. пароль является функцией неко­
торого аргумента. Известны три подхода к построению протоколов
аутентификации с одноразовыми паролями:
1. Разделяемые списки одноразовых паролей. Пользователь
и система имеют заранее определенную таблицу паролей, которую
каждый из них хранит самостоятельно. При выполнении очередного
сеанса протокола аутентификации выбирается пользователем и про­
веряется системой очередной пароль из этого списка.
2. Последовательно обновляемые одноразовые пароли. Первона­
чально пользователь и система имеют только один пароль, условно с

номером i. Затем пользователь создает и передает системе пароль


под номером i-1, зашифрованный на ключе, вычисленном из i-ro па­
роля. Следует заметить, что такой метод затруднительно реализо­
вать при ненадежном канале связи (при возможности обрыва связи).
3. Последовательности одноразовых паролей, основанные на
однонаправленных функциях. Этот метод наиболее эффективен по
отношению к объему передаваемых данных. Примером является
протокол Лампорта (табл. 1.10).
1. Базовые криптографические протоколы 41
Таблица 1.10. Протокол Лампорта аутентификации
по одноразовым паролям

Предваритепьный этап
р V
1. Выбираются: w - секрет пользователя Р, Н -
однонаправленная хеш-функция, t - фиксиро-
ванная константа, определяющая число разре-

шенных сеансов аугентификации, после чего Р


меняет свой секрет.

2. Вычисляет o ::: Н
1
W (~v) и передает ее V по
секретному аутентичному каналу.
~ lр =1- счетчик
ДЛЯ,Р
3. Вычисляет Н I ( w) =н (н (...(н (w))...))
Рабочий этап
р V
Для i = 1,... ,t:
1 Вычисляет ~Vi = н':' (w) либо из
\V, либо из промежуточнойвели-
чины, сохраненнойво время вы-

числения н' (w) .


Направляет V сообщение [P,i, W j] I

где i- номер сеанса аутентифика-


~
ции

2
{
i=I
1 1'
,

'}

н (wj )=W
;_l
Если да, то ip := Ё}' +1 (увели-
чивает счетчик) и сохраняет
Wj для следующего сеанса

Здесь и далее для наглядного отображения операций, состав­


ляющих протокол, используются таблицы, состоящие из двух час­
тей, соответствующихпредварительномуи рабочему этапу протоко­
ла. В каждой части таблицы на первой строке перечисляютсяучаст­
ники данного этапа протокола. Далее в столбцах, соответствующих
каждому из участников, последовательно отображаются их дейст­
вия. Целью предварительного этапа является выработка секретной
42 Залечииков С. В. Криптографические протоколы 11 их применение
и открытой информации, необходимой участникам на рабочем эта­
пе. В последней строке таблицы, относящейся к предварительному
этапу, не разделенной на столбцы, записаны общие для всех участ­
ников открытые параметры, выработанные на предварительном эта­
пе (когда они есть). Пересылки сообщений между участниками изо­
бражены стрелками. Проверка выполнения равенств и сравнений
'J
обозначена соответственно знаками = и ==.
Предварительный этап выполняется однократно, перед началом
применения протокола. Первоначально пользователь имеет секрет
w. Однонаправленная функция используется для выработки после-
довательности паролей: w, Н (w),H (Н (w)), ... .Н' (w).
Рабочий этап (сеанс аутентификации) выполняется не более t раз
для заранее выбранного параметра (. Пароль для i-ro сеанса прото-
кола Wj = н:' (w), 1::; i ::; t . Р идентифицирует себя дЛЯ V, используя
одноразовые пароли из этой последовательности.
Протокол Лампорта остается уязвимым для активного против­
ника, который перехватывает еще не использовавшийся пароль для
целей последующей деперсонификации. Чтобы предотвратить эту
атаку, пароль должен сообщаться только той стороне, которая га­
рантированно является аутентичной. Для преодоления этой угрозы
используются протоколы аутентификации типа «запрос - ответ», ко­
торые будут рассмотрены далее.
Проблема синтеза доказуемо стойких протоколов парольной
аутентификации до сих пор остается открытой, свидетельством
чего является большое количество научных работ по этой темати­
ке, представляемых на международных конференциях по крипто­
графии.

1.4.2. Аутентификация методом «запрос - ответ»

Идея, заложенная в основе протоколов аутентификации типа


«запрос - ответ» (challenge - response), заключается в том, что одна
. сторона (претендент) доказывает свою идентичность другой стороне
(проверяющему) посредством демонстрации знания секрета прове­
ряющему (в некоторых протоколах секрет известен проверяющему и
используется для проверки ОТВ9та, в других - вообще нет необходи-
J. Базовые криптографические протоколы 43
мости, чтобы секрет был известен проверяющему). Претендент дол­
жен ответить на запрос, меняющийся во времени, причем ответ
должен зависеть и от его секрета и от запроса. Запрос - это обычно
число, выбираемое одной стороной в начале протокола. Если линия
связи между участниками протокола прослушивается противником,

ответ претендента не должен снабжать противника полезной ин­


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

изменятся.

Параметры, меняющиеся во времени, используются для проти­


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

протокола.

В качестве таких параметров могут использоваться три типа ве­


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

Наиболее просто реализуется выработка числовых последова­


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

токола с увеличением на единицу в каждом последующем сеансе.

Недостатком этого способа является необходимость ведения участ­


никами своих внутренних счетчиков последовательностейчисел.
Случайные числа (обычно обозначают символом r С соответст­
вующими индексами) легко генерировать всем сторонам протокола,
при этом от участников не требуется поддержания какой-либо до­
полнительной информации, как в предыдущем случае.
Наконец, в третьем случае, когда используются метки времени
(timestamps), сторона, генерирующая сообщение в протоколе, полу­
чает метку времени со своих локальных часов (системного таймера)
44 Запечников С. В. Криптографические протоколы и ш· примененив
и криптографически привязывает ее к сообщению. Получатель берет
текущее время со своих локальных часов (системного таймера)
и сравнивает с величиной метки времени, полученной от партнера.
Для использования этого метода необходимо выполнение следую­
щих условий:
1. Разница между метками времени отправителя и получателя
должна укладываться в определенный интервал времени фиксиро­
ванного размера - окно nрuняmuя (ассеритсе window).
2. Ранее не должно было быть получено сообщений с идентич­
ной меткой времени от того же отправителя. Это подтверждается
про веркой по списку всех меток времени, полученных от каждого
источника за период текущего окна принятия.

3. Часы должны быть синхронизированы и защищены от моди­


фикации.
Преимущество метода в том, что он не требует поддержания
внутренней информации (ни долговременной, ни кратковременной)
и наличия каких-либо дополнительных устройств, так как часы (сис­
темный таймер) есть практически на любой вычислительной плат­
форме.
Основным международным стандартом по криптографическим
протоколам аутентификации является стандарт Международной ор­
ганизации по стандартизации и Международной электротехниче­
ской комиссии ISO/IEC 9798 - Infonnation technology - Security tech-
niques - Епtitу authentication mechanisms, состоящий из пяти частей:
ISOIIEC 9798-1- «General Model»;
ISO/IEC 9798-2 - «Меспашапв using symmetric епсiрhепnепt algo-
rithms»;
ISOIIEC 9798-3 - «Entity authentication using а public-key algоrithПD>;
ISOIIEC 9798-4 - «Mechanisms using а cryptographic check fuпсtiоп»;
ISOIIEC 9798-5 - «Mechanisms using zero knowledge techniques».
Далее мы рассмотрим некоторые из протоколов, рекомендуемых
.этим стандартом.

Протоколы «запрос - ответ» с использованием симметрич­


ных криптосхем. В этих протоколах претендент и проверяющий
имеют симметричный секретный ключ либо ключи парно­
выборочной связи. Для их получения может использоваться дове­
ренный сервер в режиме реального времени. Стандартом ISO/IEC
J. Базовые криптографические протоколы 45
/
9798-2 предусмотрены три способа аутентификации (звездочками в
таблицах обозначены необязателъныекомпоненты сообщений):
1. Односторонняя аутентификация, основанная на метке вре­
мени (табл. 1.11). Если у претендента и проверяющего есть синхро­
низированные (в пределах погрешности) системные часы, нет необ­
ходимости посылать запрос. Претендент сразу может направить со­
общение с включенной в него меткой времени, а проверяющий -
сверить метку с показаниями своих часов. Включение в сообщение
идентификатора проверяющего предотвращает использование со­
общения для аутентификации участника Р в протоколе с каким-либо
другим проверяющим.

Таблица 1.11. Протокол односторонней аутентификации


с меткой времени
р к - общий сек етный ключ v

2. Односторонняя аутентификация с использованием случайных


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

Таблица 1.12. Протокол односторонней аутентификации


с использованием случайных чисел
р
к - общий секретный ключ V
~ rv - случайное число

г; (rv, v·) 7

3. Взаимная аутентификация с использованием случайных чисел


(табл. 1.13). Отличие этого протокола от предыдущего в том, что
здесь каждый из участников поочередно выполняет роли проверяю­
щего и претендента, т. е. они проверяют аутентичность друг друга.

Протокол взаимной аутентификации представляет собою два прото­


кола односторонней аутентификации, «упакованных» в три пере-
46 Запечников С. В. Криптографические протоколы 11 их примененив
сылки сообщения. Подобного рода протоколы в силу их симметрич­
ности называются протоколами рукопожатия.

Таблица 1.13. Протокол взаимной аутентификации


с использованием случайных чисел

р
к - общий секретный
V
ключ

~ /'у - случайное число


rp- случайное число,

Ек (Ij., 'i/, V·) -7


~ EK(ly,r,,)
Этот протокол допускает замену шифра на хеш-функцию с клю­
чом, как указано в стандарте ISOIIEC 9798-4 (табл. 1.14).
Таблица 1.14. Протокол взаимной аутентификации
с использованием случайных чисел (вариант с хеш-функциями)

р
к - общий секрет- V
ный клю«

~ rv - случайное число
Гр - случайное число,

11K (Гl',rv, V) -7
~ 11К (rv' Тр , Р)
Для повышения стойкости протокола к передаваемым сообще­
ниям могут добавляться метки времени.
Протоколы «запрос - ответ» с использованием асимметрич­
ных кр ип то схем. Можно выделить две группы таких протоколов:
протоколы с использованием схем цифровой подписи и протоколы с
использованием схем открытого шифрования. Перечислим те из
них, которые рекомендованы в стандарте ISOIIEC 9798-3.
1. Протоколы с использованием цифровой подписи:
1.1. Односторонняя аутентификация с метками времени
(табл.l.15).
1.2. Односторонняя аутентификация со случайными числами
(табл.l.16).
1.3. Взаимная аутентификация со случайными числами (табл.l.17).
J. Базовые криптографические протоколы 47
Таблица 1.15. Протокол односторонней аутентификации
с использованием схемы цифровой подписи (метка времени)

I Щ1r.1r,V'Sr(lр,v) I 7 I V I
Таблица 1.16. Протокол односторонней аутентификации
с использованием схемы цифровой подписи (случайные числа)
р v
f- Yv - случайное число
Гр - случайное число,

сеп г, rl" V,8 p (l р , ry , у*)


-7
Таблица 1.17. Протокол взаимной аутентификации
с использованием схем цифровой подписи
р v
f- rV - случайное число
Гр - случайное число,

сеп ; , !j" V, 81' (r p, ry, V·)


-7
f- сеп., ,P,Sy (/i" rp , Р)
Относительно приведенных в табл. 1.15-1.17 протоколов умест­
но будет сделать несколько замечаний.
В описаниях протоколов встречаются обозначения секг; и сепо.
:Гак обозначены сертификаты открытых ключей цифровой подписи
соответствующих участников протокола, т. е. структуры данных,

содержащие их идентификаторы, открытые ключи и другую слу­


жебную информацию, заверенную цифровой подписью удостове­
ряющего центра. Подробнее метод сертификации открытых ключей
будет рассмотрен в гл. 2.
Протоколы, подобные описанным выше, используются также
в стандарте Международного телекоммуникационного союза IТU
Х.509 (будет рассмотрендалее). В нем описаны протоколы аутенти­
фикации, совмещенныес протоколамиобмена ключами.
Как видим, в этих протоколах часто повторяетсяситуация, когда
один участник передает другому некоторый набор данных неболь­
шого размера, подписанный цифровой подписью. В подобных слу­
чаях очень удобно бывает при реализации протокола использовать
48 Запечников С. В. Криптографические протоколы 11 их применекие
схему подписи с восстановлением сообщений (будет рассмотрена
дале~). Тогда нет необходимости передавать отдельно данные и от­
дельно подпись: данные можно извлечь из подписи при ее проверке.

Таким образом, часть полей из сообщений можно устранить.

2. Протоколы с использованием cxeJw открытого шифрования:


2.1. Односторонняя аутентификация (табл. 1.18) - использова­
ние хеш-функции позволяет проверяющему демонстрировать знание
г, не разглашая его, тем самым предотвращая атаку с выбранным от­
крытым текстом.

2.2. Взаимная аутентификация (табл. 1.19).


Таблица 1.18. Протокол односторонней аутентификации
с использованием схем открытого шифрования
р v
r- случайное число
~ [х = 11(Г), V, Ер (r, V)J
Расшифровывает сообщение,
вычисляет х' = '! (r'), сравнивает
Х
I
="
Х , если да, то посылает r -7

Таблица 1.19. Протокол взаимной аутентификации


с использованием схем открытого шифрования
р v
rj - случайное число, е; ('i, Р) -7
~ r2 - случайное число, Ер ('i Т2 )
I

r2 -7
1.4.3. Аутентификация, основанная на доказательствах
с нулевым разглашением знания

Общая идея асимметричных протоколов аутентификации, осно­


ванных на доказательствах с нулевым разглашением знания, состоит

в том, что законный пользователь Р, имеющий открытый и секрет­


ный ключи, и проверяющий V выполняют совместный криптогра­
фический протокол интерактивного доказательства, в процессе ко­
торого Р должен доказать свою подлинность, продемонстрировав
знание секретного ключа законного пользователя, но не разгласив
1. Базовые криптографические протоколы 49
его для проверяющего V (Т. е. из информации, полученной V, ему
вычислительно невозможно получить секретный ключ Р).
Все протоколы имеют два этапа: предварительный и рабочий. На
предварительном, который выполняется однократно, специфициру­
ются некоторые параметры и вырабатываются величины, участ­
вующие в рабочем этапе протокола (в частности, открытые и сек­
ретные ключи Р). На рабочем этапе собственно выполняется доказа­
тельство аутентичности Р.

1. Протоколы Файге - Фиата - Шамира. Это первый из пред­


ложенных протоколов, аутентификации, основанный на доказатель­
ствах с нулевым разглашением знания. Основой для него послужила
схема аутентификации и цифровой подписи Фиата и Шамира
(А. Fiat и А. Shamir, 1986).
Первоначально авторами был предложен протокол, показанный
в табл. 1.20.
Таблица 1.20. Протокол аутентификации Фиата - Шамира
Предварительный этап
р Центр довеоия V
s: (s,n) = 1,1::; s::; я -1, р, q - большие простые числа,
v = i(mod n) п =pq
11, У

Рабочий этап
р
V
1 r - случайное число,
1 :5: r :5: п - 1, х = у2 mod п 7
2 f-- е Е {О, 1} - случайное число
3 у = r.st! (mod n) 7
4 Если (у == О), отклоняет доказательст-
во, так как r = о. в противном случае
.)

у2 ~ Х . уе (mod n)

На предварительном этапе центр доверия выбирает два больших


простых числа р, q (которые он держит в секрете) и публикует
большое число п Е Z: п = ра, п ~ 512 бит (рекомендуется п - 1024
бита; для упрощения вычислений, но не для повышения безопасно­
сти рекомендуется выбирать n = (4p+3)(4q+3) - число Блюма). Да­
лее сторона, которая будет выполнять в протоколе аутентификации
50 Запечников С. В. Криптографические протоколы 11 их примененив
роль претендента, выбирает свой секретный ключ s, причем такой,
что выполнены следующие условия: {з.п] = 1, 1:::; s:::; 11-1. Открытый
ключ v = i(mod n). в конце предварительного этапа всем сторонам
становятся известны величины: n - модуль схемы и v - открытый
ключ Р.
Рабочий этап протокола состоит в следующем. В цикле выпол­
няются следующие действия (смысл цикла будет пояснен ниже;
в табл. 1.20 показано содержание одного цикла):
1) Р выбирает случайное число J". r < п, вычисляет х = J.2 mod n и
отправляет его проверяющему У;
2) V вырабатывает случайный бит еЕ {о,!} и посылает его Р;
3) если е =О, Р отправляет V число r, в противном случае (е =1)
он отправляет число у = rs(mod 11);
4) V проверяет, что у:/; о (если у = О, доказательство должно
быть недействительно из-за того, что r= О); если это условие вы-
?

полнено, то проверяется равенство / ~ х- V C (mod п) И В случае его


выполнения доказательство проверяющим принимается,

Действия (1) - (4) повторяются в цикле t раз. Вероятность обма­


на претендентом проверяющего (Т. е. вероятность принятия прове­
ряющим ошибочного решения) при однократном выпопнении дей­
ствий (1) - (4) равна 1/2, соответственно при выполнении цикла t раз
вероятность равна 1/2'. Число t называют параметром безопасности
протокола, его рекомендуется выбирать равным 20 ...40. Считается,
что р прошел аутентификацию, если проверка сравнения на шаге (4)
во всех t циклах завершилась с положительным результатом.

Рассмотрим подробнее структуру этого протокола. Запрос е на


шаге (2) требует, чтобы Р был способен ответить на два вопроса:
один из них нужен для того, чтобы продемонстрировать знание в,
другой - чтобы предотвратить обман честного претендента нечест­
ным проверяющим. Соответственно запросу претендент отвечает на
шаге (3) либо у = r, либо у = J'S (mod 11). Ни тот ни другой ответ не
несет никакой информации об s: в первом случае он от s вообще не
зависит, во втором - замаскирован случайной величиной r, которая
известна только Р, так как на шаге (1) тоже была замаскирована при
помощи однонаправленной функции.
Противник, пытающийся деперсонифицировать Р, может стре­
миться обмануть проверяющего, выбрав произвольное r, вычислив
J. Базовые криптографические протоколы. 51
2
r
х = - (mod n) И ответив у :::: r при е = 1, но не сможет ответить при
V

е = О, так как это требует знания j; (mod n) .


Противник, выступающий в роли проверяющего, может смоде­
лировать пары сообщений (х,у) самостоятельно. Действительно,
можно выбирать случайные у, задаваться случайными битами е ::::
:::: {О/ 1} и вычислять в зависимости от этого х::: / (mod 11) либо
2
x:::L(modn). Распределение вероятностей пар (х,у) не будет отли-
V
чаться от распределения вероятностей тех величин, которые сгене­
рировал бы Р в реальном протоколе. Таким образом, протокол дей­
ствительно обладает свойством нулевого разглашения знания.
Позднее те же авторы усовершенствовали протокол (табл. 1.21),
показав, что параллельная конструкция протокола уменьшает число

раундов обмена между Р и V при сохранении свойства нулевого раз­


глашения знания.

Таблица 1.21. Протокол аутентификации


Файге - Фиата - Шамира
Предварительный этап
р Центр доверия V
$j: ($;,n) = 1, 1:$ s:$1l-1, p,q - большие про-
2 стые числа,
Vj = Sj (mod 11), V ::: (\1(, V2, •.. , Vk),
11 =pq
S = (SI. S2• ... , S.()
п, V(, V2• ••• • Vk

Рабочий этап
р V
for (! ;:; 1,2, ... ,t)
1 rj - случайное число, rj<l1,
Х;::: r/ mod п -7
2 (ен, е;2 • .. . . ejJ:) Е {О,] / - случайное
f-
число

Yi -- 'i (,";1 d)
3 е;2 е! , ) (
SI S2 •.. 5" то n
7
4 1
Х; = У;2 ( V1С;[ V21'/1 •. .V"ей ) (
то d)
11
52 Занечников С. В. Криптографические протоколы 11 их примененив
Число n выбирается, как и в предыдущем случае. Далее Р выби­

рает свой секретный ключ в виде набора k различных чисел {s.}~


I 1=\
,
k 2
где каждое Sj: (Sj,ll) = 1, 1::; s::; п -1. Строка { v. } . ,где
1 1=1
V; = в,
1
(mod n),
принимается в качестве открытого ключа Р.
Рабочий этап здесь аналогичен рабочему этапу предыдущего
протокола. В цикле f раз выполняются следующие действия:
1) Р выбирает случайное число Г, 1'<П, вычисляет х = 1..2(mod n)
и отправляет его проверяющему V;
2) V вырабатывает случайную двоичную строку {eJ:=I' е; Е {ол},
и посылает ее Р;
k
3) Р вычисляет у = J-' П s:i, перемножая только те Sj, которые со­
i=1
ответствуют единичным битам вектора е, и посылает у проверяю­
щему;

k
4) Vпроверяет, что х = у2. П V;('/ .
i=l
В данном протоколе вероятность ошибки проверяющего в t про-
ходах цикла равна 1I2 Kt • Авторы протокола рекомендовали выби­
рать k = 5, t = 4.
Стойкость протокола Фиата - Шамира основана на сложности
извлечения квадратного корня по модулю п, когда неизвестно раз­

ложение п на множители.

2. Протокол Guillou - Quisquater. Пусть /р - строка идентифи­


кационной информации о клиенте Р (табл. 1.22), включающая, на­
пример, его имя, срок полномочий, номер банковского счета и т. п.
J = Н(1р), где Н - хеш-функция, либо просто J = /р - это верительная
грамота (credentials) Р. Эта информация служит открытым ключом
Р. Центр доверия вырабатывает и публикует число п = pq, где р, q-
большие простые числа (секретные), и число V, определяемое из срав­
v
нения JB == l(modn), где В - секретный ключ Р.
./,1
J. Базовые криптографические протоколы 53
Таблица 1.22. Протокол аутентификации Guillou - Quisquater
Предварительныйэтан
р V
Центр доверия
p,q - простые числа, 11 :;; pq,
ь.в.: lp, ] :;; Н(/р), ]Bv s l(modll)

11, ]
Рабочий этап
р V
1 r- случайное l.Jисло,
,. Е (l;п-l),Т=J.I'mоdll -7
2 d - случайное число, d Е (О; v - 1)
~
3 D :;; rвzt l110d п -7
4 .)

т' ~ D р' тпоё л, T~T'(modll)


V

Перед началом протокола V считывает у клиента Р строку J. Ра­


бочий этап протокола состоит из следующих шагов:
1) Р выбирает случайное число з; 1<r<n-l, вычисляет Т = r" mod
п и отправляет его V;
2) V выбирает случайное число d Е Z, d < О < v -1 , и посыпает его Р;
3) Р вычисляет D = rE(1 mod п и посылает его V;
4) V вычисляет Т' = D V/ mod п. Аутентификациясчитается за­
вершившейсяуспешно, если Т==. т' (mod n), так как
т' = Dv;r' = (rBd)Vfl:::: rVB(fv/:::: rV(JBvyf:::: r V==. T(modn).

Знание двух ответов D} и D2 на два различных запроса d\ и d2


при одинаковом Т эквивалентно знанию Bk, где k :::: над (v, d2 - d t ).
Корректность протокола доказывается следующим образом.
Пусть d l , d 2 - два запроса к Р, посылаемые V на шаге (2) протокола,
такие что O:5.d\<d2<v . D 1, D2 - соответствующие им ответы:
D,V]dt n;
== 1
]d ==. Т (mod n). Тогда:

(~: J Jd,-d, =l(modll).

Как известно, для любой пары положительных целых чисел


уравнение ах-Ьу = ± над(х,у) всегда имеет решение, О<а<у,
S4 Запечников С. В. Криптографические протоколы u ,а применекие
О<Ь<х; а и Ь можно вычислить, используя расширенный алгоритм
Евклида. Заменяя х на (d2-d 1) , а у на v, получаем a(drdl)-bv = ± 1,
так как (v, d 2-d\) = 1.
Возводя полученное ранее уравнение в степень а, получаем:

(~: Т J"(d,-d,) =( ~: Т J±I+bv =l(modn),

[J±I( ~: Jb JJ =l(modn).

Но, поскольку В по условиям протокола является решением

уравнения Jв' =[(тод п) ,ТО в" =( ~: J ь (тод


J I!) .

Отсюда видно, что противник может легко вычислить секретный


ключ В абонента Р. Следовательно, Р всякий раз должен выбирать
числа r, не повторяющиеся с предыдущими.

3. Протокол Шнорра и основанные на нем ltроmОКОЛbl. Схема,


предложенная Шнорром (С. Sсhnоп, 1989), основана на сложности
задачи дискретного логарифмирования (табл. 1.23).
Таблица 23. Протокол аутентификации Шиорра
Предварительный эта"
р Центр доверия V
SE R {l,...,q-l}, р, q - простые числа, qlp-l,

v=a'{ modp а Е Zp:a Q :=:: l(mOdp)


p,q,a, v
Рабочий этан
р V
1 r Е {l,... ,q -l},
х = armodp 7
2
~ е Е {O, ...,2t - 1 } _ случайное число
3 у::; r+se mod а 7
q
4
x=aYvf' modp
J. Базовые криптографические протоколы 55
Центр доверия выбирает и открыто публикует два простых чис­
ла р и q: qlp-1 - и число а ::;f:1: а'} == 1(modp). Далее выбирается слу­
чайное число s<q, становящееся секретным ключом Р, и вычисляет­
ся v = а-в mod р - открытый ключ.
Протокол аутентификации состоит в следующем:
1) р выбирает случайное число r<q, вычисляет х а' rnod р и =
посылает х проверяющему V (вычисления могут быть выполнены
предварительно);
2) V вырабатывает случайное число е: О < е ~ 21 -1 и посылает
егоР;
3) р вычисляет у = r+se (mod q) и посылает его V;
4) V проверяет, выполнено ли равенство х aYv~ mod р. =
Как видно, проверка аутентичности Р основана на том, что в вы­
числениях Р на шаге (3) участвует его секретный ключ s, который V
получить не может вследствие вычислительной сложности задачи
дискретного логарифмирования. Р считается прошедшим аутенти­
фикацию, если проверка сравнения на шаге (4) прошла с положи­
тельным результатом.

Безопасность протокола основана на величине параметра t. Ав­


торы указывают, что сложность вскрытия протокола составляет по­

рядка 21 операций, и рекомендуют выбирать р . . . 512 бит, q-140 бит,


t:= 72 битам. Свойство нулевого разглашения для схемы Шнорра
строго не доказано.

Брикелп и Мак-Карли (Brickell Е., McCurley К., 1990-1991)


предложили модификацию протокола Шнорра (табл. 1.24).
Таблица 1.24. Протокол аутентификации Брикелла - Мак-Карл и
Предварительный эта"
р
Центр доверия V
s<p - секретный p,q, W - простые числа, ,
ключ,
qwlp-l;q2lp-l;q, w~ 2 k
v: v =a' s (mod р)
а.а" == 1(тод р)
р, а, v
56 Запечников С. В. Криптографические протоколы 11 их примененив
Окончание табл. 1.24
Рабочий этан
р V
1 rE{I, ... ,p-l},
х = а' шоd р - случайное число -7
2
~
е Е {о, ... ,2t
} _ случайное
число

3 у = (r+se) mod(f)-l) -7
4 '>

x=a"'vt' шоdр

Для этого протокола центр доверия выбирает простые числа


p,q, w : qwlp - 1;q2~ Р - 1;q, w ~ 2k , где k - параметр безопасности.
Числа q и w являются секретными, остальные - открытыми. Далее,
как и в предыдущем случае, Р выбирает случайный секретный ключ
s<p и вычисляетоткрытый ключ v = a-s mod р.
Рабочий этап протокола аутентификации выполняется следую­
щим образом:
r
1) р выбирает случайное число r<p, вычисляет х = a mod р и
посылает его проверяющему V (вычисления могут быть выполнены
предварительно );
2) V вырабатывает случайное число е: О < е ~ 2' -1 , и пересьша-
етегоР; .
З) р вычисляет у = (r+se) mod (P-l) и пересылаетего Р;
c
4) V проверяет выполнение равенства х a\'v mod р. =
Описанный протокол не имеет принципиальных отличий от ис-
ходного протокола Шнорра, поэтому дополнительных пояснений по
нему, на наш взгляд, не требуется. Заметим только, что протокол
дополнительно усложняет задачу противника: он должен уметь уже

не только решать задачу дискретного логарифмирования, но и зада­


чу факторизации числа (P-l).
Авторы протоколарекомендуютвыбирать k-140, р-512 бит.
Все протоколы аутентификации, основанные на асимметричных
алгоритмах, обладают одним интересным свойством - они стан­
дартным образом могут быть преобразованы в схемы цифровой
подписи. Для этого участник V заменяется однонаправленной хеш-
1. Базовые криптографические протоколы 57
функцией. Сообщение не хеширустся перед подписанием - вместо
этого хеш-функция включается в сам алгоритм цифровой подписи.
Протоколы аутентификации и схемы цифровой подписи во мно­
гом аналогичны, но имеют и существенные различия, главные из ко­

торых заключаются в следующем:

в схемах цифровой подписи сообщение имеет время жизни - тем


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

содержание сообщений, подписываемых цифровой подписью,


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

наконец, цифровая подпись служит для аутентификации сооб­


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

1.5. Проблемы обеспечения конфиденциальности


и аутентичности информации

Как известно из курса основ криптографии, о защищенности со­


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

Конфиденциальность сообщений, как известно, может быть


обеспечена либо симметричными шифрами, либо схемами открыто­
го шифрования. Практическое использование последних сдержива­
ется сравнительно низкой скоростью их работы (как правило, на
58 Запечкиков С. В. Криптографические протоколы 11 IIX примененив
много порядков ниже, чем у симметричных). По этой причине ос­
новным средством обеспечения конфиденциальности сообщений
достаточно большого объема и при интенсивном трафике были и ос­
таются симметричные алгоритмы шифрования.
Подлинность сообщений можно обеспечивать, используя коды
аугентификации сообщений (Message Authentication Codes - МАС)
либо цифровую подпись. Целесообразность применения одного из
двух механизмов определяется требованием обеспечения в конкрет­
ном приложении невозможности отказа от сообщений (или отсут­
ствием этого требования). Невозможность отказа может быть обес­
печена только асимметричными криптосхемами, т. е. в данном слу­

чае схемами цифровой подписи, так как в любой схеме цифровой


подписи секретные ключи подписи имеют только одного владельца.

Следовательно, при возникновении спора о факте создания какого­


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

ляются общими секретами как минимум для двух, а то и более уча­


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

рошо осознает свои действия и психологически готов нести ответст­


венность за подписываемый документ. Далее подписанный доку­
мент при необходимости зашифровывается. Получатель обрабаты­
вает документ в обратном порядке: сначала расшифровывает, потом
проверяет цифровую подпись. С технической точки зрения более
надежным было бы, напротив, подписание уже полностью обрабо­
танного, в том числе зашифрованного, документа. При этом получа­
телем проверялась бы подлинность «окончательного» источника
данных, т. е. если проверка цифровой подписи получателем даст от­
рицательный результат, это совершенно точно будет свидетельство­
вать о «внешней» ошибке либо злоумышленном воздействии на со-
1. Базовые криптографические протоколы 59
общение при передаче по каналу связи. Для корректной проверки
цифровых подписей необходимо обеспечивать подлинность откры­
тых ключей всех участников криптосистемы. Гарантии подлинности
открытых ключей, как правило, предоставляются инфраструктурой
криптосистемы, в частности инфраструктурой открытых ключей.
В тех случаях, когда требование невозможности отказа (с юри­
дическим разрешением конфликтных ситуаций) не является крити­
чески важным, используют симметричные методы аутентификации.
В симметричных криптосистемах также необходимо обеспечить
подлинность общих секретных ключей, что достигается применени­
ем протоколов аутентичного распределения ключей. Когда участни­
кам криптосистемы предоставлены гарантии подлинности их общих
секретных ключей, только тогда можно говорить об обеспечении
подлинности данных, передаваемых по каналу связи между ними.

Традиционно известны два метода обеспечения подлинности


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

тегом или имитовставкоЙ. Для определенности будем далее во всех


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

только то лицо, которое знает общий с получателем секретный


ключ.

Симметричные алгоритмы обеспечивают высокую производи­


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

1) требуется обеспечить только конфиденциальность данных;


2) требуется обеспечить только аутентичность данных;
60 Запечников С. В. Криптографические протоколы 11 их примененив
3) требуется одновременно обеспечить конфиденциальность
и аутентичность данных.

Таким образом, понятие защищенного канала передачи инфор­


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

1) режим простой замены, или режим электронной кодовой кни­


ги(Electronic CodeBook - ЕСВ );
2) режим сцепления блоков (Cipher Block Chaining - СВС);
3) автономный режим, или режим обратной связи по выходу
(Output FeedВack - OFВ);
4) режим обратной связи по шифртексту (Cipher FeedBack
CFB);
5) режим счетчика (Counter Mode Епсгурпоп - CTR ).
Режимы различаются удобством (или неудобством) использова­
ния в тех или иных ситуациях, свойствами распространения ошибки,
возможностями несанкционированного внесения изменений в шиф­
ртекст, доказанными утверждениями о безопасности и пр.
Отечественным стандартом ГОСТ 28147-89 рекомендованытри
режима работы блочного шифра, обеспечивающиеконфиденциаль­
ность: режим простой замены, режим гаммирования(соответствую­
щий OFВ) и режим гаммирования с обратной связью (соответст­
вующий CFB).
Известны и другие режимы блочного шифрования, обеспечи­
вающие конфиденциальность: 2DEM (2D-Encryption Mode), АВС
(Accumulated Block Chaining), IGE (lnfinite Garble Extension), ХСВ
1. Базовые криптографические протоколы 61
(Extended Codebook Mode). Последний режим рассматривается в на­
учной литературе как перспективный, так как позволяет обрабаты­
вать блоки произвольной длины, для которых реализует строгую
псевдослучайную перестановку.
Теперь обратимся к случаю, когда при передаче данных необхо­
димо обеспечить только аутентичность. Для этого можно исполь­
зовать либо хеш-функцию с ключом, либо блочный шифр в режиме
аутентификации.
Стандартизованным, широко применяемым в практике защиты
информации является режим СВС-МАС. Отечественным стандартом
ГОСТ 28147-89 рекомендован режим выработки имитовставки, по
принципу устройства в целом соответствующийрежиму СВС-МАС,
где в качестве хеш-кода сообщения берется фрагмент последнего
блока шифртекста.
Из научной литературы известен целый ряд режимов работы
блочных шифров, обеспечивающихаутентичность. Из них наиболее
эффективными и стойкими считаются следующие два, которые ЯВ­
ляются кандидатами на стандартизацию:

1) одноключевой режим аутентификации со сцеплением блоков


ОМАС (One-Key све МАС);
2) режим вероятностной аутентификации RМAC (Randonrized
МАС).

Перечислим и остальные режимы: РМАС (Parallelizable МАС),


ТМАС (Two-Key СВС МАС), ХСВС-МАС (Extended Cipher Block
Chaining МАС), ХЕСВ-МАС (Extended Electronic CodeBook МАС).
Напомним, что отечественным стандартом на хеш-функцию
с ключом является ГОСТ Р 34.11-94.
Случай, когда требуется обеспечить одновременно конфиденци­
альность и аутентичность, более всего интересен для обсуждения.
Рассмотрим сначала основные теоретические результагы в этой
области.
Функции обеспечения конфиденциальности и аутентичности мо­
гут применяться к открытому тексту либо раздельно, либо одновре­
менно. В первом случае немедленно возникает вопрос о порядке их
применения. Пусть Ке - общий секретный ключ шифрования отпра­
вителя и получателя данных, КМ - их общий секретный ключ аутен-
62 Запечников С. В. Криптографические протоколы 11 ,а примененив
тификации, Ек /:' - алгоритм шифрования, ТКМ - алгоритм вычисле­

ния хеш-кода, Ек 1:.' • К'" - алгоритм обработки сообщения отправите­


лем, М - открытый текст, С - шифртекст. Очевидно, возможны три
варианта обработки сообщения отправителем (получатель обраба­
тывает сообщения в обратном порядке):
1) отдельно зашифровывается открытый текст и отдельно вы­
числяется хеш-код, который присоединяется к шифртексту (encrypt-
and-authenticate) :
Е кЕ , км (М)= ЕКЕ (M~ITK.1f (М);
2) сначала вычисляется хеш-код, который присоединяется к от­
крытому тексту сообщения, а затем оба они зашифровываются (аи­
thenticate-then-encrypt):
ЕКЕ'КМ (М)= ЕКЕ (М//Тк,\{ (М))
3) сначала открытый текст зашифровывается, затем вычисляется
хеш-код шифртекста, который присоединяется к нему (encrypt-then-
authenticate):
ЕКЕ'КМ (М)= С//Ткм (С), где С:::: ЕКЕ (м).
Какой из ЭТИХ способов лучше? И каковы критерии их оценки?
Доказано, что самым стойким методом является третий. Он макси­
мально полно удовлетворяет всем критериям безопасности, включая
стойкость к атакам по выбранным открытым текстам и к атакам по
выбранным шифртекстам. Другие методы в общем случае не обес­
печивают безопасности передаваемых данных, хотя в не очень от­
ветственных случаях различия в доказанных свойствах не имеют
практического значения. Можно даже построить пример такого про­
токола, в котором используется совершенно секретный (по Шенно­
ну) шифр, но если выбран второй метод защиты (authenticate-then-
епсгурт), то протокол получается абсолютно нестойким к атакам ак­
тивного противника. Вместе с тем доказано, что в частном случае,
когда применяется стойкий алгоритм блочного шифрования в режи­
ме еве или поточный шифр (накладывающий на поток данных слу­
чайную или псевдослучайную двоичную последовательность), ме­
тод authenticate-then-encrypt является стойким.
1. Базовые криптографические протоколы 63
Есть и второй путь решения рассматриваемой задачи защиты -
одновременное применение функций обеспечения конфиденциаль­
ности и аутентичности. Для этого используются специальные режи­
мы работы блочных шифров, называемые режимами аутентичного
шифрования (authenticated епспуриоп}.
Наиболее эффективными из них, претендующими быть стандар­
тами, являются следующие:

1) режим счетчика со сцеплением блоков ссм (Counter with


СВС-МАС);
2) режим счетчика над полем Галуа асм (Galois/Counter Mode).
Кроме них, известен еще целый ряд режимов аутентичного
шифрования: CS (Cipher-State Mode), CWC (Carter- Wegman autheti-
cation with Counter encryption), ЕАХ (А Conventional Authenticated-
Encryption Mode), IACBC (Integrity Aware Cipher Block Chaining),
IAPM (Integrity Aware Parallelizable Mode), ОСВ (Offset CodeBook),
PCFB (Propagating Cipher Feedback), ХСВС (Extended Cipher Block
Chaining Encryption).
Большинство теоретических результатов в рассматриваемой об­
ласти было получено за последние несколько лет. Наиболее распро­
страненные сейчас протоколы образования защищенных каналов
передачи данных были разработаны раньше, чем стали известны эти
результаты. Так, в протоколе SSL используется метод authenticate-
then-encrypt, в SSH - метод encrypt-and-authenticate, которые с точки
зрения теоретической криптографии в общем случае являются не­
стойкими. Но в стандартизованной спецификации протокола SSL
как раз использован режим шифрования свс, который согласно из­
вестным, доказанным криптографами результатам является исклю­
чением из общего правила и обеспечивает стойкость протокола в
данном частном случае, несмотря на его нестойкость в общем слу­
чае. Все же возможности атаки на протокол SSL остаются, и такой
пример мы рассмотрим в гл. 4.
Было бы, конечно, лучше, чтобы протоколы обеспечивали наи­
высшую степень стойкости независимо от конкретных условий и
особенностей применения, но ПОСКОЛЬКУ жизненный цикл хорошо
разработанных и апробированных технологий достаточно длителен,
надеяться на корректировку протоколов можно только в будущем,
с развитием и совершенствованием информационных технологий.
64 Запечкиков С. В. Криптографические протоколы 11 их применеиие
1.6. Специальные схемы цифровой подписи
в криптографических протоколах часто приходится иметь дело
со схемами цифровой подписи, обладающими некоторыми дополни­
тельными, специальными свойствами. В этом разделе мы рассмот­
рим два важных примера таких схем.

Первая из них - цифровая подпись с восстановлением сообще­


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

1.6.1. Схема цифровой подписи


с восстановлением сообщения
Весьма важной для многих применений является схема цифро­
вой подписи с восстановлением сообщения (message recovery). Такая
схема специфицирована в международном стандарте ISOIJEC 9796.
Рассмотрим ее детально.
Стандарт не специфицирует конкретный алгоритм подписи, но
указывает, что это должно быть отображение k бит на k бит: если
М - подписываемое сообщение, то 1М I= k .ISigns.t (М )1 = k .Этому ус­
ловию удовлетворяет, к примеру, схема RSA, дЛЯ которой
S = M (modn), где ed == l(mOdq>(n)).
d

Схема подписи с восстановлением сообщений отличается от


обычной схемы цифровой подписи (схемы с дополнением, или «с
J. Базовые криптографические протоколы 65
аппендиксом») тем, что используется для подписания сообщений
ограниченной длины и не требует криптографических хеш-функций,
но позволяет восстановить сообщение только из подписи, без пере­
дачи открытого текста. В схеме подписи «с аппендиксом» от ПОДПИ-
сывающего к проверяющему передается М. Sign,'K (lz (М)) , а в схеме
подписи с восстановлением сообщений, только Signsk (М ). Кроме
того, как станет ясно далее, такая схема подписи требует предвари­
тельной обработки подписываемых сообщений, в частности их вы­
равнивания (message padding), если это необходимо.
Введем следующие обозначения: k- длина подписи в битах, d-
длина подписываемого сообщения М в битах (требуется, чтобы

d ~8L(k +3)116 J), z - число байтов в сообщении, причем z = Г d /8l.


r =8z- d + 1 - число, на единицу большее количества добавляемых

при выравнивании бит, t =Г (k -1)/ 16l - наименьшее целое, такое,


что строка из 2! байт включает по меньшей мере k-l бит.
Например, параметры могут быть выбраны так: k = 1024 бита,
d = 150 бит. Тогда z = 19 байт, J' = 3 бита, t = 64 байта.
Процедура генерации подписи по ISOIIEC 9796 представляет
собою последовательное выполнение пяти этапов,
1. «Выравнивание» сообщения (padding) - дополнение нулевыми
битами. Пусть М - исходное сообщение. К нему добавляются нуле­
вые биты таким образом, что длина получаемого в результате сооб­
щения М? становится кратной 8 бит, т. е. равна целому числу байт:

МР = or-111M , где 1 ~ r ~ 8. Число байтов в МР равно z:


МР = тz 11 тz - I 11···11 т2 11 Щ, \:11т; I =1 байт.
2. Расширение сообщения (extension). МР расширяется за счет
дописывания слева последовательности всех байтов МР, взятых
справа налево в цикле, пока длина сообщения не станет равной
t байт:
МЕ = МЕ, 11 ме.; 11 ... 11 МЕ2 11 МЕ}, \1IМЕ; I= 1 байт,
MEi+1 = т(imodz)+I' О ~ i ~ t -1 .
66 Запечников С. В. Криптографические протоколы 11 их прииенепив
3. Введение избыточности (redundancy). МЕ преобразуется в
MR = мк; 11 MR 2t - 1 1I ···11 MR 2 1J MR 1
таким образом, что:
а) t байт МЕ дополняются t избыточными байтами по следую­
щему правилу:

мR2i - 1 ~ МЕ;> 15: i ~ t,


MR2i ~ S (МЕ; ), 1 :$; i ::;; t ,
где S(u) - «теневая функция» байта и, которая определяется сле­

дующим образом: и = и 2 11 U 1, lu11 = lu 21 = 4- битовые строки длиной


полбайта, т. е. тетрады, S(u)=1t(uJII1t(u\), где функция n задается
следующей таблицей подстановок в шестнадцатеричной нотации:

n=(О 1 2 3 4 5 6 7 8 9 А В С D Е F).
lE 3 5 8 9 4 2 F О D 8 6 7 А С 1 '
б) выполняется преобразование MR 2 :. ;::;,. EiЭ MR 2 z (для того, что­
бы проверяющий подпись мог восстановить длину исходного сооб­
щения). Так как d ~ 8z - r + 1, для этого достаточно знать z и r. Эти
значения могут быть впоследствии получены из MR.
4. Усечение и усиление (tгиnсаting andforci.ng). MR преобразуется

в k-битовое целое число IR (intennediate integer), IIRI = k. Оно фор­


мируется следующим образом:
а) k-l младших бит MR дополняются слева единичным битом;
б) младший байт получившегося результата и 2 1 1 и • замещается
на и 1 11 О 11О . Это делается, чтобы гарантировать, что IR == 6( mod 16) .
5. Генерация подписи. Число /R подписывается, используя любой
механизм подписи, в котором длина подписи s равна длине подпи-

сываемого сообщения, т. е. jIRI = Isl = k .


В случае, если используются схемы подписи RSA или Рабина,
подпись по ISOIIEC 9796 формируется следующим образом (е - от­
крытый ключ схемы RSA или Рабина, п - модуль схемы, d- секрет­
ный ключ). Вычисляется так называемый репрезентативный эле-
}. Базовые криптографические протоколы 67

мент: RR = lR, если е нечетное или е четное и


( lпR J - I
(т. е. СИМВОЛ Якоби числа IR, интерпретируемого как целое число по

модулю п; равен единице), и RR = IН 12, если е четное и ( 1: J=-\ .


Подпись генерируется ПОД репрезентативным элементом:

S;;;; шiп{( RR)d modn, n -( (RR)d modn)}.


Процедура проверки подписи 110 ISOIIEC 9796 состоит из по­
следовательного выполнения трех этапов, на каждом из которых ли­

бо получается положительный результат, либо подпись отклоняется.


Подпись принимается тогда и только тогда, когда выполнение каж­
дого из этапов завершилось с положительным результатом.

1. Открытие подписи (sigпаtuге opening). Пусть s - подпись.


Выполнение этого этапа заключается в следующем:
а) к подписи s с целью восстановления IR' применяется откры­
тое преобразованиепроверки цифровой подписи, например для схе-
мы RSA вычисляется se mod11 ;;;; lR/ ;
б) подпись отклоняется, если IR' не является строкой длиной
k бит со старшим битом, равным единице, или если младшая тетрада
не равна 0110.
2. Восстановление сообщения. Этот этап состоит из трех частей.
2.1. Из целого числа IR' конструируется битовая строка MR'
длиной 2! байт. Для этого:
а) k-l младших бит числа IR' обозначаетсяХ;
б) если и 4 11 из 11 и 2 11 О 11О - четыре младшие тетрады Х, младший
байт Х замещается на n-1 (и 4 ) 11 и2 ;

в) MR' получается путем дописывания к Х слева от нуля до


15 нулевых бит таким образом, что результирующая строка имеет
длину 2t байт.
2.2. Вычисляются значения z и r следующим образом:
а) из 2t байт MR' вычисляются t сумм: мн; Ef) S (МR~i-l)'
1 :Si ::::; t . Если все суммы равны нулю, подпись отклоняется;
б) z - наименьшее из i, для которого мп; Ef) S (MR;i-\ ) "# О;
68 Запечников С. В. Криптографические протоколы 1/ их примененив
В) r - самая младшая тетрада суммы, найденной на шаге «б»;
подпись отклоняется, если не выполнено условие 1~ 181 ~ 8 (в шест-

надцатеричной системе счисления).


2.3. Из MR' конструируется строка МР' длиной z байт сле­
дующим образом:
а) вычисляется МР/ = MR~i_l для 1 ~ i ~ z ;
б) подпись отклоняется, если r-l старших бит мр' не все равны
нулю;

В) м' - это 8z-r+ 1 младших бит МР' .


3. Проверка избыточности. Подпись s проверяется следующим
образом:
а) из м' конструируется строка мн: путем применения шагов
(1) - (3) процедуры генерации подписи (т. е. производится ее по­
вторный пересчет);
б) подпись принимается тогда и только тогда, когда k-l млад­
ших бит MR II
равны k-l младшим битам м« .
1.6.2. Схема цифровой подписи
с опережающей безопасностью
Цель достижения опережающей безопасности для схемы цифро­
вой подписи заключается в том, чтобы максимально снизить риск
разглашения секретного ключа подписи, но сделать это самым про­

стым образом, не требуя распределения между участниками схемы


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

Для этого вводится понятие эволюции ключа. Участник схемы


цифровой подписи начинает свою работу в системе как обычно, ре­
гистрируя открытый ключ РК и храня в тайне соответствующий ему
J. Базовые криптографические протоколы 69
секретный ключ SKo. Отрезок времени, в течение которого откры­
тый ключ РК предполагается сделать действительным для санкцио­
нированного использования в системе, делится на периоды, обозна­
чаемые 1,2, ..., Т. Открытый ключ остается всегда фиксированным,
тогда как секретный ключ «эволюционирует» с течением времени.
Так, в каждом из этих периодов участник системы генерирует под­
пись, используя различные секретные ключи: SK 1 в l-M периоде, SK2
во 2-м периоде и т. д. Секретный ключ i-ro периода вырабатывается
как функция ключа (i-l)-ro периода, а именно с началом i-ro перио­
да участник схемы применяет к SKj.1 однонаправленную функцию h,
чтобы получить в результате SK j • Сразу после этого он удаляет SKi-1•
Теперь злоумышленник, атаковавший участника в течение i-ro пе­
риода, сможет завладеть ключом SK j , но не ключами SKo"",SKi-1, так
как они уже были удалены. Более того, злоумышленник не сможет
получить и прежние ключи из SK j , поскольку они получаются из
предыдущих с помощью однонаправленной функции.
Подпись всегда включает в себя номер периода j, в течение ко­
торого она была сгенерирована,так что она рассматриваетсякак па­
ра U,~). Алгоритм проверки подписи берет фиксированныйоткры-
тый ключ РК, сообщение и подпись, подлежащую проверке, и про­
веряет, что подпись является действительной в том смысле, что
была сгенерирована легальным участником системы в период вре­
мени, указанный в подписи. Заметим, что, хотя секретный ключ уча­
стника эволюционируетс течением времени, открытый ключ оста­
ется неизменным, так что и процесс проверки подписи всегда оди­

наков. Также остаются постоянными и процессы управления


открытыми ключами.

Число периодов и длина каждого периода - параметры, выбор


которых зависит от каждого конкретного случая. Например, мы мо­
жем пожелать использовать схему цифровой подписи с одним и тем
же открытым ключом в течение года, с ежедневными обновлениями
секретного ключа. В таком случае Т = 365, а каждый период имеет
длину в одни сутки.

Схемой цифровой подписи с эволюцией ключа KE-SIG = (KG,


Upd, Sgn, Vf) называется совокупность четырех алгоритмов:
1. Алгоритм генерации ключей KG берет в качестве входного па­
раметра безопасности число kЕ N , суммарное количество перио-
70 Запечииков С. В. Криптографические протоколы 11 ,а применение
дов Т, В течение которых будет функционировать схема, а также,
возможно, некоторые другие параметры (алгоритм является вероят­
ностным), и возвращает базовый открытый ключ РК и соответст­
вующий ему базовый секретный ключ SKo;
2. Алгоритм обновления секретного ключа Upd берет в качестве
входной величины секретный ключ подписи предыдущего периода
SKi-1 и возвращает секретный ключ подписи текущего периода SK j
(алгоритм обычно детерминированный).
3. Алгоритм подписи 5gn берет секретный ключ подписи теку­
щего периода SK j и подписываемое сообщение М и возвращает под­
пись М для периода j, что записывается следующим образом:

(j,() ~ SgnsK (м). J Алгоритм может быть вероятностным, а


подпись всегда состоит из номера текущего периода j и тега ~.
4. Алгоритм проверки подписи Vf берет открытый ключ РК, со­
общение М и проверяемую подпись (j,~), чтобы возвратить бит, ко-
торый означает принятие подписи в случае равенства единице и ОТ­
клонение ее в случае равенства нулю, что записывается следующим

образом: Ь f-- VjpK(M ,(j,~}). Этот алгоритм обычно является де­


терминированным.

Пара (j,~) считается действительной подписью сообщения М


для периода j, если VfPK (М, (j,())= 1. Требуется, чтобы подпись
сообщения М, сгенерированная алгоритмом SgnsKJ (М), была дей-
ствительной подписью М для периода j. Предполагается,что секрет-
ный ключ SKj для периода jE {1,2~ ... .г} уже содержит в себе вели­
чину j и суммарное количество периодов Т. Наконец, договоримся,
что SKT + ! - пустая строка и что Upd s K1" возвращает SK T + 1•
В табл. 1.25 в качестве примера приведена схема цифровой под­
писи с опережающей безопасностью Беllarе - Мiner, полностью
удовлетворяющая приведенному выше определению.
J. Базовые криптографические протоколы 71
Таблица 1.25. Схема цифровой подписи с опережаюшей
безопасностыо Вейаге - Miner
Алгоритм KG(k,I,T):
1. Выбрать два случайных числа p,q == З(mоd4) длиной k/2 бита, вычис-
лить N = pq.
2. Для каждого i;:; 1,...,1 выбрать S/ ~Z~ и вычислить
П, f-- Sj2(T+') (mod N).
3. Вычислить SK o f-- (N,T,O,S,.o,. ..,S/.o) И РК f-- (N,Т,Иl""'U/)'
4. Возвратить (РК, зк, )
Алгоритм Upd(SKj-1), где SK j_J = (N,T,j-l,S"j_р,,,,S,.j_l) И
l=:;;j~T+l:

Есци г> Т+ 1, возвратить пустую строку.


В противном случае:

1. Для каждого i = 1,...,1 вычислить Sioj ~ SI~j_1 (mod N).


2. Вычислить SK j f-- (N, Т, j'S"j'''''S/,j)'
3. Возвратить зк,

Алгоритм Sgll~~J (М)ы, где SK j = (N. Т, j'SI.j'''''S'.j):


1. Выбрать R~Z~.
2. В ычислить У f-- R2{Т+ 1- j) (rnod N) .
3. Для Bcexj;;;:; 1,...'1 вычислить Cj ~ Н и,у,м),
1
4. Вычислить Z f-- R . П S2j (mod N) .
;=1

5. Возвратить (j,(Y,Z))
Алгоритм V/)i- (M,U,(y,z))), где РК;:; (нл.и; ... ,U,):
1. Для ьсех].» 1'....1 вычислить C j f-- Н и,У,М).
1
2. Если Z2{T +1- 1) ;;;:; У. п И/С, (mod N), возвратить 1, в противном случае
1=1
возвратить О
72 Запечников С. В. Криптографические протоколы и их примененив
Эта схема цифровой подписи может быть достаточно просто
преобразована в схему аутентификации, сохраняющую свойство
опережающей безопасности.

1.7. Схемы разделения секрета


Предположим, есть важная секретная информация, которую
можно потерять. Ее опасно доверять кому-то одному. Возникает во­
прос, как повысить надежность и безопасность ее хранения.
Первый путь - сделать несколько копий этих данных и хранить
их в разных местах. Резервирование обеспечивает высокую надеж­
ность хранения, но если скомпрометирована хотя бы одна копия, то
секретность всей информация будет потеряна.
Второй путь - разделить секрет на несколько частей и хранить
их в разных местах, при необходимости собирая вместе. Самый
простой способ разделить секрет s на п частей - выбрать n-1
случайное число SI'S2""'S/I_] ' а л-ю часть определить так:

S/I :::: S EiЭ SI EiЭ S2 Ее о ЕВ S/I_l' Каждое число sp i ::::: 1,11 носит название
••

доли секрета (share). Доли создает носитель секрета з, Иногда это


один из п участников, получающих доли, иногда - постороннее ли­

цо, которое в этом случае называется дилером. Каждая доля з, долж­


на быть передана соответствующему участнику конфиденциально.
Если эту долю видят и другие участники протокола, эта схема уже
не работает. Для восстановления секрета s необходимо присутствие
всех п сторон, имеющих доли секрета, которые должны выполнить

операцию сложения: S = S] Ее S2 Ее ... ЕВ S'I . Так приходим к идее СХеА-l


разделения секрета (secret sharing scheme) - сокращенно ерс. Такая
схема обеспечивает высокую конфиденциальность (чтобы восстано­
вить секрет, надо получить все его доли), но низкую надежность
(если потеряна хотя бы одна доля, восстановить секрет уже будет
невозможно).
Мы хотим построить более гибкую схему. Пусть есть п участни­
ков криптосистемы. Мы хотим, чтобы любые t из них могли восста­
новить секрет, но никакие (-1 из них не смогли бы получить ин­
формацию о секрете. Число t (t<n) - параметр схемы, называемый
порогом. Схема, обладающая такими свойствами, называется (t,n)-
J. Базовые криптографические протоколы 73
пороговой ере. Она лучше, чем предыдущая, так как, если кто-то из
участников потеряет свою долю или не будет участвовать в восста­
новлении секрета, секрет все равно можно восстановить и без этих
долей.
\ Известны несколько математических методов реализации такой
схемы. Однако далеко не все из них удобны на практике. В качестве
примеров приведем две схемы.

Схема Шамира (А. Shamir, 1979) основана на хорошо известном


математическом факте, который заключается в том, что через любые
t точек на плоскости можно провести бесконечное множество кри­
вых, описываемых многочленом г-го порядка, но через любые t+1
различные точки можно провести только единственную кривую,

описываемую многочленом г-го порядка. Так, через любую точку на


плоскости проходит бесконечное множество прямых линий, но че­
рез две различные точки - только единственная. Через любые две
точки можно провести бесконечное множество парабол, но через
любые три различные точки - только одну и т. д. Таким образом, ес­
ли каждому из участников криптосистемы «выдать» по одной точке,
то восстановить кривую можно будет только при достаточном коли­
честве участников.

Схема Блейкли (А. Blackley, 1979) основана на следующих гео­


метрических фактах. Одна прямая на плоскости описывает беско­
нечное множество точек, но любые две непараллельные прямые за­
дают единственную точку их пересечения. Любые две некомпланар­
ные плоскости в трехмерном пространстве пересекаются по прямой,
которая задает бесконечное множество точек, но любые три неком­
планарные плоскости пересекаются в единственной точке. Эти на­
блюдения по аналогии можно продолжить и в пространствах боль­
ших размерностей. Если каждому из участников криптосистемы
«выдать» по одному уравнению плоскости (или гиперплоскости в
пространствах размерности больше трех), то определить единствен­
ную точку их пересечения можно будет опять-таки при достаточном
числе этих уравнений. В схеме Блейкли увеличение числа участни­
ков сопровождается ростом размерности пространства, в котором

решается задача, что усложняет решение системы уравнений.


В криптосистемах широко используется пороговая сре Шамира,
так как она допускает удобную геометрическую интерпретацию
74 Запечников С. В. Криптографические протоколы и LLX применеиие
и легко обобщается для многочленов над конечными полями. Пусть
F - конечное поле, f (;() = ай + а\ х +.,. ан хН, а; Е F - многочлен над
полем Р, т. е. f (х) Е F [ х]. Известно, что такой многочлен обладает
следующими свойствами:
1. Интерполируемость. По данным t точкам многочлена:
(X1' yl )'···.(x" y,) , где
все XI, ...,X, различны, У; =/(Х;), можно найти
его коэффициенты ао, а1 " ••• , ан . Алгоритм, делающий это, называется
алгоритмом интерполяции.

2. Секретность. По данным любым t-1 точкам полинома:


(-'1' У! ), .... (Хн. Ун) , где 'У; =f (Х; ), никто не может ничего предпола­
гать об ай - свободном членеf(х).
Эти свойства делают многочлены над конечными полями инст­
рументом для построения пороговых криптосистем.

Рассмотрим (t,n)-nороzоауlО ере Шамира над полем Zp, где р­


большое простое число. Схема включает несколько протоколов.
Фаза инициализации. Дилер D выбирает п различных ненулевых
элементов поля Zp, которые обозначаются Х;, 1 ~ i ~ н, р~ n + 1; это

точки, к которым «привязаны» участники. Часто выбирают Х; := i,

т. е. просто всем участникам схемы присваиваются порядковые но­

мера. D передает Х; участнику Р;


Распределение долей:
1) D хочет разделить секретный ключ К Е Zp ; D секретно, слу-

чайно и независимо друг от друга выбирает t- 1 элемент поля

al' ... ,Qt-l' где а; Е Zp'


2) D конструирует многочлен степени, меньшей либо равной t-1,
1-/
и вычисляет для i =l.n: Yi =а(х;), где а(х)= К + Iamx (modp).
ln

m=!

т. е. К = а(О). Коэффициенты многочлена дилер хранит в секрете.


3) Дилер по секретному и аутентичному каналу рассылает каж­
дую из долей У; соответствующему участнику Р ; ДЛЯ всех i;;:;1,n .
J. Базовые криптографические протоколы 75
Восстановление секрета возможно двумя способами.
1 способ. Предположим, участники ~
J
,"', ~ I
хотят восстановить

секретный ключ К. Они имеют ( XiJ' У;) ) и знают, что


Yij = а (Xi J ),j = 1,f, где а(Х)Е. Z.p [х) .- ~еизвестный многочлен, вы­
бранный D. Так как а(х) имеет степень, меньшую либо равную t-1,
а(х) может быть записан в виде
а(х) = а о + a1x + ... + at_1x - ,
t 1

где а о, ql ,..., ан - неизвестные элементы поля Zp и ао =К .


Они получают систему t линейных уравнений с t неизвестными
а о , а l , ... , ан над полем Zp:
1-1 _

У;
j
= ао + L аmх;,
111'
j
] = 1,t.
/1/=1
Если уравнения линейно независимы, система имеет единствен­
ное решение. Они могут решить систему относительно неизвестных
коэффициентов и получить ао.
Утверждение. (t,n)-пороговая СРС Шамира позволяет одно­
значно восстанавливать секрет любой группе из t участников схемы
и обеспечивает совершенную секретность (теоретико-информацион­
ную стойкость) против попытки вычисления секрета любой группой
из j участников, обладающих. неограниченной вычислительной
мощностью (j<t).
Доказательство. у каждого участника схемы есть пара точек:

(X;J1 Y;j): Yi; = а (Х/] ),j::::: 1,1, где а(х)::::: ао +~x+ ...+al_lxl-1, ао = К . По­
лучается следующая система линейных уравнений, решаемая в Zp:
2 1-1
ао +~Xj, +~Xil +... +at-\хiJ ::::: У;,'

!
2 (-1

ао + a1x;2 .~.~.~~~ ..~.'.'.'.~.~I.~:~iz : : : Y~ ,


ао + a1x;, + a2xi,2 +...+a 1xi,1-1 ::::: Yi,'
t_
76 Запечников С. В. Криптографические протоколы и их применение
или в матричной форме:
(-1
1 х. x~ Х. а
о Yil
'1 " '[
(-1
1 -: Xi~ х-
'2
а\ Yi 2

(-1
1 x~1, Xi, а.; Yi,
В левой части системы стоит матрица коэффициентов А, имею­
щая специальный вид: каждая j-я ее строка состоит из коэффициен­
тов Xj . , последовательно возводимых во все степени от О до t-l. Это
J

так называемая матрица Вандермонда. Ее определитель вычисляет­


ся по формуле

.detA;:::; П (x it -Х;} )modp.


\~j<kS.,

Так как все Х; различны, 'ri(Xit -ХiJ ) -:f; О. Произведение вычисля­


ется в поле Zp, Произведение ненулевых элементов в поле всегда от­
лично от нуля. Следовательно, det А :F о. Следовательно, система
имеет единственное решение над полем Zp" а значит, любая группа
из t участников может однозначно восстановить ключ К = ао.
Пусть теперь группа из 1-1 участников ~ '.00' ~ пытается вы-
I 1-[

числить К. Они получат систему из t-1 уравнений с t неизвестными.


Пусть Уа - какое-то предполагаемое (или случайно взятое) ими зна-
чение ключа. Так как известно, что К = Уо :;;; ао ;:::; а (о), это соотно­
шение дает им t-e уравнение. Матрица коэффициентов результи­
рующей системы из t уравнений с t неизвестными снова будет мат­
рицей Вандермонда, а значит, снова будет' иметь единственное
решение.

Следовательно, для каждого предполагаемого значения кдюча

существует полином а\.. (х): У;J =а>, (Х;J ), j


о о
== 1,t -1, Уо = a •v (О), ко-
о

эффициенты которого получены из решения системы. Таких поли­


номов существует столько же, сколько может быть различных зна­
чений Юlюча К = Уа. Значит, никакая группа из t-l участников не
может получить никакой дополнительной информации о ключе.
Лучший способ узнать ключ - это попытаться угадать его, что БОЗ-
1. Базовые криптографические протоколы 77
можно с вероятностью 1/ 21К! И соответствует понятию о теоретико­
информационной безопасности криптосистемы по Шеннону. Ут­
верждение доказано.

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


более простым способом. Воспользуемсяинтерполяционнойформу­
лой Лагранжа
I х-х.
а(х) = L,Yi П '*.
j=l } ISkSt, X j j" - X ik
k'/;j

Мы имеем t пар чисел (Х;., У;. ) j = 1, t , и доказали, что много-


j J

член единственный. Следовательно, формула Лагранжа даст нам


единственно верный результат.
Формулу можно упростить) так как участникам группы не нужно
вычислять все коэффициенты многочлена, а только свободный член
К = а(О):
t

х=О К= LYi} п-~


)'= 1 I<k<t Х/" - X j• _
k-;СГ' k J

Обозначим коэффициенты интерполяции в формуле Лагранжа:


х.
bj = П -----=-"-, j=l,t.
ISk~t. X ik - X i,
k"#j
Они могут быть вычислены предварительно, так как все
Xi j ,Х'} общеизвестны. Остается вычислить ключ как линейную КОМ-

бинацию t долей секрета:


t
К= ~b.y ..
~ } ,}
j=l
Схемы провернемогоразделения секрета. В СРС Шамира нече-
стный дилер D может раздать участникам ~ ,..., Рn несовместные

доли, из которых они никогда не восстановят секретный ключ К.


Необходимо предложить такую схему, в которой можно было бы
проверить совместимость долей секрета. Известны две СРС, ре-
78 Запечников С. В. Криптографические протоколы u их применеиие
тающих эту задачу, основанные на сложности задачи дискретного

логарифмирования: СРС Фельдмана и ере Педерсена.


Схема проверяемого разделения секрета Фельдмана. Пусть p,q-
большие простые числа, р -1 == О ( mod q); g - элемент порядка q

.группы z;, т. е. gq == 1(mod р) . Для любой доли У; вычисляется от­


крытая величина г, =я" (mod р) , которая по свойству гомоморфиз­
ма функции экспоненцирования позволяет каждому Р ; проверять,
что его собственная доля секрета совместима с открытой информа­
цией.

D выбирает многочлен а(Х)Е Z(I [х] С коэффициентами


ао = Кга.,». а,_1 и раздает всем участникам соответствующие про­

верочные значения g(lQ, g(ll, ..., я': .


Положим Х; == i, i =1,11 . Дилер D секретно передает каждому уча­

стнику схемы Р ; предназначенную ему долю Yi ::;; a(i)mOdq.


Каждый участник Р, проверяет свою долю, используя провероч­
ное уравнение

я' ~ (g 110 ) . ( g 111 У .(g (12 { ••• ( g ан У'-1 (mod р ) .


в случае положительного результата проверки Р ! передает всем
остальным участникам схемы сообщение, что он принял свою долю,
Yi = ао + a 1l·+·a2 ( тоd)
q. В случае отрицатель-
2l +... + анЕ
так как
./-1

ного результата он делает вывод, что ему дилером была выдана не­
верная доля.

Если все ~,! =1,11 распространили сообщения о принятии долей,


фаза распределения долей завершилась успешно. Такая же проверка
может выполняться при восстановлении секрета.

Заметим, что в схеме проверяемого разделения секрета каждый


может проверить только свою долю, но не чужую' - ДЛЯ этого нужны
схемы публично проверяемого разделения секрета.
J, Базовые криптографические протоколы 79
Схема проверяемого разделения секрета Педерсена. Числа
p,QJg,K определяются так же, как и в предыдущей схеме; не z; -
открытое общедоступное число, но такое, что d Е Zq' где gd =
=h (mod р) неизвестно.
Чтобы распределить секрет К, дилер выбирает два многочлена

8(),у(-) степени t-1 над полем Z'1 с коэффициентом 80 = к и слу-

чайными коэффициентами {5/1! }IIIE{I" ..,t-l} И {Уm }me{0.....t-1} соответст­


венно, т. е.

8(z)=8 0 +81z+52z 2 +...+5r_1Z H Е Zq [z], 80 = К,


y(z) =уо +Y1z +Y2Z2 + ... +Yt-\zt-l Е Zq [z1, Уа - случайное число,
и распространяет всем участникам схемы Р;, i =1,п величину

= g 5,,, • hу", (mod р ), т = О, t -1 . Затем дилер D секретно пересылает


Е In

всем P i = 1,12 их доли {ир wJ,где И; == 8(i), W =уи).


j, j

Проверочное уравнение для участника Pj :


" ..2 .1-1
g Il; lz'V; = ( Е о ) • ( Е,)' . ( Е 2 )' ••• ( е., )' (mod р ) .
При положительном результате проверки будет выполнено ра­
венство

(g5 0 11 уо ). (gБ1/ZVI У ...(gБ1-I /1 ун уl-l = gSо+51;+ ...+Бнr~-1 .11 yu+y =


1
ji+ ..·+Yt-1 i -

= gБ(i) '!1.Y(i) (mod р).

Схема Педерсена обеспечивает теоретико-информационную


секретность, так как даже если вычислительно неограниченный про-

тивник, видящий g к /1 Уо (mod р) умеет решать задачу дискретного


логарифмирования и может вычислить К + dyo ( mod q), это все рав­
но не дает ему никакой информации о секрете К. Таким образом,
схема Педерсена не позволяет противнику вычислить g к , тогда как
схема Фельдмана обладает лишь теоретико-сложностной стойко­
стью относительно знания противником g к .
80 Запечников С. 8. Криптографические протоколы и 'IX примененив
1.8. Технические средства поддержки
. криптографических протоколов
Большинство криптографических протоколов требует для своей
реализации определенных технических средств. Можно выделить
несколько основных целей, для которых это необходимо:
защищенное хранение секретных данных;

аппаратная реализация криптографических алгоритмов или фраг­


ментов протоколов;

• средства аутентификации пользователей.

Существует большая номенклатура технических средств под­


держки криптографических протоколов:
криптографические сопроцессоры;
• специализированные платы с реализацией криптографических
функций;
• пластиковые карты;

• портативные генераторы паролей;


устройства для шифрования аналоговых сигналов и др.

Все перечисленные устройства реализуются, как правило, на ба­


зе интегральных микроэлектронных схем. При необходимости они
могут быть реализованы в защищенном исполнении. Как оценить
степень их защиты? Специальные российские и международные
стандарты по оценке степени защищенности аппаратуры на сего­

дняшний день отсутствуют, за исключением стандарта ISO/IEC


15408 - «Общие критерии» (ГОСТ р ИСО/МЭК 15408), определяю­
щего общую методологию оценки защищенности продуктов и сис­
тем информационных технологий. Упомянутый стандарт не содер­
жит никакой конкретной методологии оценки ни криптографиче­
ских средств защиты информации, ни аппаратных блоков. Других
международных или российских стандартов этого профиля в на­
стоящий момент нет.
В связи с отсутствием других стандартов целесообразно в каче­
стве образца возможной методики оценки защищенности крипто­
графических модулей рассмотреть федеральный стандарт США
FIPS 140 - «Security Requirements for Cryptographic Modules», кото­
рый является практически единственным руководством в этой об­
ласти. Стандарт использует ряд понятий, которые приведены ниже.
J. Базовые криптографические протоколы 81
Криптографический модуль (криптомодуль) - это совокупность
аппаратного, программного и микропрограммного обеспечения или
некоторая их комбинация, которая реализует криптографическую
логику или процессы защиты (включая криптографические алгорит­
мы или генерацию ключей) и содержится внутри некоторого физи­
ческого объема.
Политика безопасности криптографического модуля - точная
спецификация правил безопасности, при которых будет функциони­
ровать криптографический модуль, включая правила, вытекающие
из требований стандарта FIPS 140, и дополнительные правила, нала­
гаемые производителем оборудования.
Интерфейс криптомодуля - логическая часть криптографиче­
ского модуля, которая специфицирует множество точек входа или
выхода, обеспечивающих доступ к модулю, включая потоки инфор­
мации или физический доступ.
Критический параметр безопасности - это информация, свя­
занная с безопасностью, которая появляется в открытом тексте либо
в другой незащищенной форме, разглашение или модификация ко­
торой может компрометировать защиту криптомодуля или защиту
информации, обрабатываемой модулем. Это могут быть секретные
криптографические ключи либо данные, связанные с аутентифика­
цией (пароли, РIN-коды).
В стандарте изложен определенный набор критериев оценки,
объединенных в следующие группы:
требования к спецификации криптографического модуля;
требования к спецификации интерфейсов криптомодуля;
роли, сервисы и способы аутентификации субъектов информа­
ционной системы криптомодулем;
• требования по описанию криптомодуля на базе модели конечно­
го автомата (Finite State Machine);
требования по физической безопасности, в том числе по безо­
пасности одночиповых и многочиповых криптомодулей и требо­
вания к защите и тестированию отклонений параметров внешней
среды;

• требования по безопасности операционной системы;


• система управления криптографическими ключами, включая ге­
нерацию случайных и псевдослучайных чисел и криптографиче-
82 Запечкиков С. В. Криптографические протоколы и их примененив
ских ключей) обмен ключами и распределение ключей, ввод­
вывод ключей, хранение и уничтожение ключей;
требования к уровню электромагнитных излучений и наводок;
требования по самотестированию устройства;
гарантии, принятые в процессе конструирования устройства;
способы предотвращения иных атак.

В соответствии с этим набором критериев выделяют четыре сте­


пени защищенности устройств:
1. Класс «SеqJ1гity Levell» - устройства без защиты. Это самый
низкий уровень защиты: предполагается только реализация в уст­
ройстве некоторых алгоритмов шифрования без всяких дополни­
тельных мер защиты, предотвращающих несанкционированный дос­
туп к криптографическим алгоритмам либо критическим парамет­
рам безопасности. Таким устройством может быть плата
персонального компьютера, пластиковая карта и др.

2. Класс «Бесипсу Leve! 2» - устройства, свидетельствующие о


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

замки. Допускается программная реализация алгоритмов в много­


пользовательских средах с разделением времени) где применяются

операционные системы) соответствующие функциональным требо­


ваниям «Общих критериев» по классу защищенности EAL2, с опи­
санным профилем защиты функций контроля доступа и аутентифи­
кацией по ролям,
3. Класс «Бесипзу Level 3» - устройства, предотвращающие
взлом. Устройство активно пытается предотвратить доступ к крити­
ческим параметрам безопасности внутри криптомодуля (посредст­
вом обнуления данных при вскрытии корпуса). В устройстве ис­
пользуется аутентификация, основанная на идентификаторах субъ­
екта доступа. Порты ввода-вывода критических параметров
безопасности должны быть физически отделены от других портов
приема-передачи данных) ввод-вывод осуществляется в зашифро­
ванном виде или через процедуры разделения знания частей секрета.
Допускается программная реализация алгоритмов в многопользова­
тельских средах, где применяются операционные системы, соответ­

ствующие функциональным требованиям «Общих критериев» по


1. Базовые криптографические протоколы 83
классу защищенности EAL3, с дополнительными функциональными
требованиями по образованию доверенных путей передачи данных и
реализации модели политики безопасности. Выполнение последнего
набора требований предотвращает смешение открытых текстов с
шифртекстами и предотвращает неумышленную передачу крипто­
графических ключей в открытом виде.
4. Класс «Security Level 4» - устройства, уничтожающие дан­
ные при взломе. Устройства этого класса обеспечивают высший уро­
вень защиты: физическая защита реализует «конверт» вокруг крип­
томодуля С возможностью обнаружить проникновение в модуль,
предпринятое любым способом (для физически незащищенных
сред). Устройства либо обнаруживают флуктуации параметров
внешней среды и обнуляют критические параметры безопасности,
либо проводят строгое тестирование сбоев среды для того, чтобы
обеспечить гарантии того, что флуктуации за пределами нормально­
го режима не могут повлиять на компрометацию защиты модуля.

При программной реализации в многопользовательских средах с


разделением времени должны удовлетворяться все требования для
класса «Security Level 3», но операционная система должна быть
оценена по классу EAL4 с дополнительными требованиями форма­
лизации модели политики безопасности, поддерживаемой устройст­
вом, анализа побочных каналов утечки информации и описанием
модульной структуры устройства.
В США существует также программа оценки криптографиче­
ских модулей в соответствии с этим стандартом - CMVP (Crypto-
graphic Module Validatiol1 Рпоятт}. Система оценки криптографи­
ческих модулей в основных чертах аналогична системе оценки про­
дуктов и систем информационных технологий по «Общим
критериям», в том числе повторяются все основные ее элементы: ак­

кредитованные лаборатории, процесс сертификации средств защиты


и т. д.

При реализации криптосистем очень широкое распространение


получил такой вид защищенных устройств) как пластиковые кар­
ты. Классификация пластиковых карт приведена на рис. 1.4.
84 Запечников С. В. Криптографические протоколы 11 их примененив

г Пластиковые карты
I
Карты с маг-
~
нитной полосой

--
I Гибридные
карты
I
Полупр ОБ ОДНИ-
~

~
КОБые карты

~
Карты с погиче-
ской схемой

Карты с памятью
~
Карты-счетчики

Контактные

~
Микропроцес-
сорные карты

(смарт-карты)
lr ~ Карты с ДВОЙНЫМ
интерфейсом

~ ... Б е сконтактные

+
«Бпизкодейст- Удаленного
вующие» взаимодействия

+ .,j.,..

Активные Пассивные

Другие виды
- Оrnические
~
карт

~
Штрих-кодовые ~ Перфорационные
Рис. 1.4. Классификация пластиковых карт

Карты с магнитной полосой впервые начали использоваться


в конце 60-х гг. в США в автоматах для вьщачи наличных денег.
Магнитные карты имеют функции хранения данных, записи на кар­
ту и чтения с карты, В соответствии со стандартами IS0 магнитные
1. Базовые криптографические протоколы 85
карты имеют три магнитные дорожки, на одну из которых разреше­

на запись данных, другие доступны только для чтения. Основными


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

ча» - одна полоса содержит участки с различными уровнями намаг­

ниченности. В настоящее время магнитные карты используются в


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

большого ущерба системе.


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

Интеллектуапьные карты (ИК), или смарт-карты, - это пла­


стиковые карты со встроенным программируемым микропроцессо­

ром. Геометрические параметры таких карт не отличаются от опи­


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

троль доступа к памяти ИК во время взаимодействия с автоматизи­


рованной системой, выполнять ряд других специф ических функций,
как правило криптографического характера. ИК, кроме выполнения
86 Запечников С. В. Криптографические протоколы 111":: применсние
алгоритмов, связанных с их целевым назначением (например, осу­
ществления финансовых транзакций), выполняют в основном крип­
тографические преобразования информации (схемы шифрования,
цифровой подписи, аутентификации и др.). Кроме того, ИК могут
дополнительно снабжаться средствами логической и даже биомет­
рической аутентификации владельца карты. Типовые характеристи­
ки современных ИК таковы: объем ROM - 2...64 Кбайт, RAМ -
4 ... 128 Кбайт, EEPROM - 2... 16 Кбайт, в них используются в основ­
ном 16- и 32-разрядные микропроцессоры. Существует два типа
микропроцессорных ИК, различающиеся принципом взаимодейст­
вия с устройством считывания: контактные и бесконтактные.
Основным аппаратным устройством ИК является интегральная
микросхема, вмонтированная в пластиковую основу, находящаяся

под металлическими контактными площадками. Физически инте­


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

ное покрытие, не позволяющее «увидеть» внутреннюю структуру

модуля. Программное обеспечение смарт-карты включает операци­


онную систему карты, прикладное программное обеспечение (ПО) и
идентификационную информацию.
На пластиковой карте может храниться разнообразная информа­
ция, имеющая отношение к ее владельцу, в том числе криптографи­
ческие ключи, персональные данные. На карте таюке могут аппарат­
но реализовываться разнообразные криптографические алгоритмы:
схемы открытого шифрования, цифровой подписи, блочные и по­
точные шифры, хеш-функции, генераторы псевдослучайных функ­
ций, идентификационные примитивы. Конкретные примеры исполь­
зования пластиковых карт в криптографических протоколах будут
рассмотрены в последующих разделах.
J. Базовые криптографические протоколы 87
Контрольные вопросы и задачи к гл. 1
1. Каковы основные свойства криптографического протокола?
Приведите примеры процедур обмена сообщениями, которые явля­
ются криптографическими протоколами и которые ими не являются.
2. Б чем заключаются свойства полноты и корректности инте­
рактивного доказательства?
3. В чем отличие интерактивных систем доказательства с нуле­
вым разглашением знания от интерактивных систем доказательства?
Сохраняется ли свойство нулевого разглашения при последователь­
ном и параллельном выполнении протоколов?
4. Что понимается под компрометацией криптографического
протокола? Приведите примеры:
атаки по известным ключам;

словарной атаки.
5. Имеется схема открытого шифрования RSA, где d- секретный
ключ участника Р; е - открытый ключ, соответствующий этому
секретному ключу; п - модуль схемы шифрования. Р имеет шифр­
текст С. Р хочет доказать V знание секретного ключа d, но так, что­
бы V не узнал этот ключ и чтобы он не смог расшифровать какой­
либо шифртекст (в том числе и С). Как это можно сделать? (Пред­
ложите протокол доказательства с нулевым разглашением знания.)
Вычислительные возможности Р и V в процессе обмена полиноми­
ально ограничены.

6. Известна формула Андерсена определения длины пароля:

S =l:-NX'~
t 2 т'

где S,- время безопасности(раскрытия)пароля (в течение этого вре­


мени пароль сохраняеттайну);
т - скорость ввода пароля, симв./мин;
х - длина пароля, симв.;

N- мощность алфавита;
L - число вводимых символов и др. знаков, необходимых для
инициализации опознания (может быть больше длины пароля).
Постройте графики зависимости времени безопасности:
а) PIN -кода;
б) цифроалфавитного пароля (русский алфавит).
88 Занечников С. В. Криптографические протоколы 11 '/Х применение
ОТ ДЛИНЫ пароля при условии:

ручного ввода символов на ЮIавиатуре (Т::: 120);


автоматизированного подбора паролей (Т::: 1200),

считая, что число попыток ввода пароля неограниченно, а для ввода

пароля необходимо набрать его на клавиатуре и нажать клавишу


<Enter>.
7. Проведите сравнение протоколов аутентификации, основан­
ных на доказательствах с нулевым разглашением знания (Фиата -
Шамира, Guillou - Quisquater, Шнорра), по следующим параметрам:
вычислительной сложности протокола для доказывающего и прове­
ряющего, количеству передаваемых байтов данных, дополнительной
памяти, необходимой Р и У. Сделайте вывод о сравнительной эф­
фективности протоколов. (Необходимые параметры выберите само­
стоятельно. )
8. Как преобразовать протокол аутентификации Шнорра в схему
цифровой подписи?
9. Предположим, что к данным, предназначенным для передачи
в канал связи согласно техническим условиям отправителю необхо­
димо применить: алгоритм блочного шифрования (шифр считать
идеальным), алгоритм помехоустойчивого кодирования, алгоритм
сжатия. В каком порядке следует применять эти алгоритмы и поче­
му? На каком этапе в случае необходимости нужно сгенерировать
цифровую подпись отправителя? Имеет ли эта' задача однозначное
решение?
10. Поясните, в каких случаях для обеспечения подлинности со­
общений необходимо применять цифровую подпись, а в каких -
хеш-функции с ключом, В чем преимущества и недостатки каждого
метода? ,
11.Пусть (Е! D) - схема симметричного шифрования, МАе -
криптографическая хеш-функция с ключом. Пусть А и В имеют об­
щие ключи: К, - для шифрования, К2 - для хеш-функции. Они хотят
передать сообщение т таким образом, чтобы была обеспечена сек­
ретность, целостность и подлинность сообщения. Им предложены
следующие способы выполнения протокола:

а) М,МАСК2 (Ек, (М));


б) ЕК1 (М,МАС К2 (М));
1. Базовые криптографические протоколы 89
В} Е к, (М ),MACK~ (м);

г) Ек, (м),Е к ! (МАС к! (М));


д) Ек, (м),МАС К2 (Е КI (М));
е) Ек] (МАСК2 (М )), мАСK z ( Ек, (М)) ;
ж) Ек, (М,МАС к! (м)),МАСК1 (М);
з) Ек, (М , А), где А - идентификатор отправителя (В расшифро­
вывает шифртекст и проверяет, что вторая часть открытого текста
совпадает с идентификатором отправителя).
Для каждого способа объясните, обеспечивает ли он требуемые
свойства (секретность, целостность, подлинность). Какие из этих
способов предпочтительнее? Какие непригодны для использования?
Почему?
12. Назовите известные вам режимы работы блочных шифров,
позволяющие обеспечить:
только секретность сообщений;
только подлинность сообщений;
• одновременно секретность и подлинность сообщений.
Какие из этих режимов считаются лучшими по соотношению
«стойкость/скорость»?

13. Какие режимы алгоритмов шифрования ГОСТ 28147-89 и DES


предпочтительнее использовать для шифрования полей базы данных
автоматизированной банковской системы с ИК, содержащей сведения
о клиентах (идентификаторы, открытые ключи, номера ИК, состояние
счета, отметка о включении ИК в стоп-лист и т. д.), доступ к которой
осуш:ествляется в режиме реального времени, и почему?
14. Рассматривается схема цифровой подписи с восстановлением
сообщения из стандарта ISOIIEC 9796. Какой максимальной длины
(В байтах) может быть сообщение, если требуется, чтобы подпись
имела длину 512 бит?
15. Как, используя схему проверяемого разделения секрета
Фельдмана, трем абонентам Sl' S2, 8з совместно сгенерировать об­
щее для них случайное число, если допускается, что кто-то один ИЗ
них может обманывать остальных, пересылая неверные сообщения?
Глава 2
ИНФРАСТРУКТУРА кгипгосисгвм

Под инфраструктурой понимаются составные части общего уст­


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

2-~1. Управление ключами


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

При конструировании алгоритмов и протоколов предполагается, что


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

реализованы соответствующие криптографические алгоритмы и


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

2.1.1. Основные понятия и определения

Ключевым отношением называется состояние, в котором взаи­


модействующие стороны разделяют общие данные - ключевой ма-
2. Инфраструктура криптоснстем 91
териал, необходимые ДЛЯ выполнения криптографических алгорит­
мов и протоколов.

Управление ключами (key management) - это совокупность тех­


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

фического протокола.
Напомним, что в соответствии с методологией, принятой в со­
временной криптографии, стойкость любой криптосистемы опреде­
ляется только степенью безопасности используемых в ней ключей,
так как все долговременные элементы криптосистемы (множество
правил шифрования, его механизм и пр.) рано или поздно станут
известными злоумышленнику. Этот принцип был сформулирован
еще в конце XIX в. И получил название правила Керкхоффса (Kerck-
hoffs' аеыаетха). Цель хорошей криптографической конструкции -
свести более сложные проблемы к надлежащему управлению и
безопасному хранению небольшого количества криптографических
ключей, безопасность которых и доверие к ним пользователей дос­
тигается путем их физической изоляции и организационных мер за­
щиты. При этом для обеспечения безопасности криптографических
ключей хороши любые доступные методы:
технические средства охраны (изолированные помещения, сиг­
нализация и т. п.);
защищенная от взлома аппаратура (очень важно обеспечить на­
дежную аугентификацию пользователя при работе с нею!);
• концентрация ключевого материала в небольшом количестве легко
наблюдаемых и внушающих доверие компонентов системы.

Цель управления ключами - поддерживать ключевые отношения


таким образом, который исключает проявление угроз ключевому
материалу, основными из которых являются следующие:

утрата конфиденциальности (секретности) секретных крипто­


графических ключей;
уграта аутентичности секретных или открытых ключей: требо­
вание аутентичности означает возможность проверки идентич­

ности лица, обладающего ключевым материалом, действитель­


ному владельцу ключа;
92 Запечкиков С. В. Криптографические протоколы и их применение
несанкционированное использование секретных или открытых

ключей, например использование недействительного ключа, не­


целевое использование ключа.

Компрометация ключа - событие, в результате которого про­


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

обеспечение секретности, подлинности и целостности для сек­


ретных криптографических ключей;
обеспечение подлинности и целостности для открытых крип­
тографических ключей.

Здесь под секретными криптографическими ключами понима­


ются как общие секретные ключи симметричных криптосистем, так
и секретные ключи асимметричных криптосистем (которые в отли­
чие от первых не являются общими для двух или более участников
системы, а известны исключительно своим владельцам).
На практике дополнительной целью управления ключами явля­
ется согласие с действующей политикой безопасности системы.
Основным международным стандартом в области управления
криптографическими ключами является стандарт Международной
организации по стандартизации и Международной электротехниче­
ской комиссии ISOIIEC 11770, состоящий из трех частей:
ISOIIEC 11770-1 - «Кеу management - Introduction».
ISOIIEC 11770-2 - «Кеу management - Symmetric techniques».
ISOIIEC 11770-3 - «Кеу management - Аsупunеtriс techniques».
8 названном стандарте задачи управления ключами выводятся
из необходимости обеспечения безопасности криптографических
ключей на всех этапах их жизненного цикла.

2.1.2. Жизненный цикл криптографических ключей


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

Как известно, любой объект (например, любое промышленное


изделие) имеет определенное, конечное время жизни, за которое он
2. Инфраструктура криптосистем 93
проходит определенные стадии своего развития от «рождения» до

«гибели». Не являются в этом смысле исключением и криптографи­


ческие ключи. Для любого объекта стандартизации стандартами 180
определяются четыре стадии жизненного цикла: предоперационная,

операционная, постоперационная,стадия выхода из эксплуатации.

Применительнок криптографическимключам эти стадии означают


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

мы и применяется ими в штатом режиме. На постоперационнойста­


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

Внутри перечисленных общих стадий жизненного цикла можно


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

лученного во время регистрации.

3. Генерация ключа: производится таким образом, чтобы гаран­


тировать необходимые свойства для приложения или алгоритма и
случайность (в смысле возможности предсказания его противником
с пренебрежимо малой вероятностью). Субъект может генерировать
свои собственные ключи или приобретать ключи от доверенного
компонента криптосистемы.

4. Инсталляция ключа: ключевой материал инсталлируется для


функционального использования в программном или аппаратном
обеспечении субъекта, включая ручной ввод пароля или персональ­
ного кода, запись на магнитный диск, в постоянную память, микро­
электронную схему или на другие носители. Начальный ключевой
94 Запечников С. В. Криптографические протоколы 11 l/X примененив
материал может служить для установления сеанса с доверенным

компонентом криптосистемы, во время которого в реальном мас­

штабе времени согласуются рабочие ключи. Во время последова­


тельных обновлений новый ключевой материал заменяет исполь­
зуемый.

1. Регистрация
Предопер ционная
пользователя
стадия

г----------

I
I
I
I
I
I
I

·
·
I Опер ционная

·,
I

I
стадия

I
I

Т
лотеря без
I
I
I

I
I
· компрометации

···
I
б. Штатное

··
·,
I

I
использование

ключа

I
I
I

·
I

Архивация ключа

-·-·--·----·-·-·-·-·-·;i~~~~;---·-·-·-·-·-·-·-·------- ----- --- ~;;;~;;;

----'~.. Движенпе ключа 7 - резерВ1Ч) оваш те ключа


________)- Спстемныесобытия 11 -ВОССПIНОВЛeIO-Iе ключа

Рис. 2.1. Жизненный цикл криптографических ключей


2. Инфраструктура криптасистем 95
5. Регистрация ключа: одновременно с инсталляцией ключа
ключевой материал может быть публично записан как ассоцииро­
ванный с уникальным именем субъекта системы. Для открытых
ключей регистрация может выполняться специально выделенной
третьей стороной, при посредстве которой они становятся доступ­
ными для остальных субъектов через открытые директории или дру­
гие средства.

6. Штатное использование ключа: при нормальных обстоятель­


ствах это состояние продолжается, пока не истечет период, преду­

смотренный регламентом системы (так называемый криптопериод


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

7. Резервирование ключа: копирование ключевого материала на


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

8. Обновление ключа: по истечении периода, предусмотренного


регламентом, операционный ключевой материал заменяется на но­
вый. Это может включать процедуры генерации ключа, наследова­
ния ключа, выполнение протоколов распределения ключей. Для от­
крытых ключей обновление и регистрация новых ключей обычно
включает безопасные коммуникационные протоколы с доверенной
третьей стороной.
9. Архивация ключа: ключевой материал, более не используемый
в штатном режиме, может быть заархивирован, чтобы обеспечить
источник восстановления ключа при специальных обстоятельствах
(например, в случае возникновения конфликтов о принадлежности
цифровой подписи). Архивация подразумевает долговременное хра­
нение ключей в постоперационной стадии, при этом могуг приме-
96 Запечниное С. В. Криптографические протоколы 11 '/Х применение
няться алгоритмы сжатия данных с целью сокращения объема хра­
нимых ключей.
10. Вывод из эксплуатации и уничтожение: когда более нет не­
обходимости поддерживать ассоциацию ключа с субъектом, ключ
выводится из эксплуатации, т. е. удаляется из всех публичных запи­
сей и все копии ключа уничтожаются. В случае секретных ключей
должны быть безопасно стерты все «следы» ключа. Это действие
является обратным к регистрации ключа (фаза И2 5).
11. Восстановление ключа: если ключевой материал потерян, но
при этом не случилось компрометации (сбой оборудования, забыт
пароль), должно быть возможно восстановить ключевой материал с
безопасной резервной копии.
12. Аннулирование ключа: может быть необходимо удалить клю­
чи из операционного использования до истечения предполагаемого

срока по различным причинам, включая компрометацию ключей


или выбытие владельца ключа из системы.
Изображенный на рис. 2.1 жизненный цикл ключа более соот­
ветствует асимметричным криптосистемам. В симметричных он, как
правило, проще (например, сеансовые ключи не регистрируются, не
резервируются, не восстанавливаются, не архивируются).
Важно обратить внимание на то, что с точки зрения обеспечения
безопасности криптографических ключей ни одна из указанных ста­
дий жизненного цикла и ни одно из СОСТОЯНИЙ ключа не является
более или менее важным по сравнению с другими. Действительно,
если безопасность ключа нарушена хотя бы на одной из стадий, хо­
тя бы в одном ИЗ состояний или при переходе из одного СОСТОЯНИЯ в
другое, то это приведет к нарушению безопасности криптосистемы
в целом. Различные фазы жизненного цикла отличаются только с
точки зрения технической сложности обеспечения безопасности
ключей, но с точки зрения логической организации процесса управ­
ления ключами все они равноправны и в равной степени важны. ПРИ
разработке и эксплуатации систем криптографической защиты ин­
формации большое внимание должно уделяться вопросам грамотной
организации управления криптографическими ключами на всех эта­
пах их жизненного цикла,

С точки зрения сложности обеспечения безопасности ключей


выделяют четыре наиболее ответственные фазы, на которых необ-
2. Инфраструктура криптосистем 97
ходимо решать задачи управления ключами: генерация) распростра­

нение, хранение и уничтожение ключей. Из них самой сложной для


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

2.1.3. Модели управления ключами


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

системы вообще может быть неопределенным или меняющимся.


В связи с этим необходимо предусмотреть способы координации
действий участников по управлению своими криптографическими
ключами, т. е. ввести управление ключами в масштабах всей систе­
мы в целом. Для организованного управления ключами должна под­
держиваться какая-либо модель управления ключами. В криптоси­
стеме может быть реализована одна из двух моделей управления
ключами: децентрализованное либо централизованное (трехсторон­
нее) управление ключами.
Децентрализованное управление ключами подразумевает от­
сутствие единого центра управления криптографическими ключами
в системе. Все процедуры по обслуживанию жизненного цикла клю­
ча в этом случае выполняются самими абонентами криптосистемы.
Если в рассматриваемую систему входят лишь два участника,
модель управления ключами носит название двухточечной (ройи-ю­
point). Абоненты А и В имеют либо один ключ К для передачи дан­
ных в обоих направлениях, либо раздельные ключи КАВ и КВА дЛЯ
однонаправленной передачи данных. Все процедуры жизненного
цикла ключей выполняюттолько два абонента, не привлекая никого
более.
Если в криптосистеме п абонентов, приходим к модели полной
ключевойматрицы. Тогда каждая пара участников i и} имеет ключи
парно-выборочной связи Kij и Kj j для однонаправленной передачи
данных. Если Kij = ~i, матрица - симметрическая; i-й абонент для
98 Запечников С. В. Криптографические протоколы и /а примененив
связи со всеми остальными должен хранить i-й столбец этой матри­
цы, т. е. n-1 ключ. Эта система надежна против компрометации, но
требует хранения очень большого количества ключей - п(п-1) шт.
(или 11(11-1)/2, если матрица симметрическая).
Централизованное (трехстороннее) управление ключами
предполагаетналичие в системе, помимо «рядовых» абонентов, спе­
циально выделенного участника - «третьей стороны». Т. Она вы­
полняет функции центра распределения ключей (key distriЬиtiоn
сетеп - KDC) либо центра трансляции ключей (key translation сеп­
ter-KTC).
Когда в системе работает KDC) любые два участника А и В име­
ют общие ключи для общения с KDC, но не имеют ключей для связи
друг с другом. Ключи генерируются КDC централизованно, после
чего они рассылаются всем заинтересованным сторонам. В нашем
случае либо непосредственно от КDC к А и от KDC к В, либо оба
ключа от КDC направляются к А, будучи зашифрованы на ключах
соответствующих абонентов, а затем А перенаправляет В его ключ.
Когда в системе имеется КТС, участники А и В имеют общие с
КТС ключи, но ключи парной связи генерируются ими самостоя­
тельно, а КТС выполняет лишь функцию пересылки (трансляции)
ключей от одного участника к другому. Трансляция ключа парной
связи) выработанного А, может происходить одним из двух спосо­
бов: либо КТС принимает ключ от А, зашифрованный на ключе, об­
щем для А и КТС, а затем перешифровывает его на ключе, общем
дЛЯ КТС и В, и посылает его В, либо перешифрованный ключ на­
правляет обратно А, а затем А перенаправляет его В.
В любой из моделей «третья сторона» Т - это может быть и
КDC, и КТС - может работать в различных режимах.
1. Линейный режим (т-Ипе). В этом случае Т .. промежуточная
сторона, включенная в тракт передачи данных между А и В. Т слу­
жит средством связи между абонентами А и В в реальном масштабе
времени. Примерам такого режима является межсетевой экран, вы­
полняющий криптографические функции.
2. Режим реального времени (on-line). Здесь Т вовлекается в ка­
ждый сеанс выполнения протокола, если в нем участвует хотя бы
один из абонентов А, В (или оба сразу). Однако в этом случае А и В
осуществляют связь напрямую, а не через Т. Примером такой ситуа-
2. Инфраструктура криптасистем 99
ции является доверенный сервер распределения ключей, работаю­
щий в реальном масштабе времени.
3. Отложенный режим (o.ff-line). В этом режиме Т не вовлекает­
ся в протокол в реальном времени, но приготовляет некоторую

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


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

2.1.4. Структура ключевой системы


симметричных криптасхем

Ключевая система криптосхемы - это множество ключей крип­


тосхемы и правила их использования.

Ключевая система любой криптосхемы строится таким образом,


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

создания. Необходимость введения этого правила объясняется тем,


что, например, требования к ключам, используемым в блочном
шифре и в схеме цифровой подписи, могут различаться как по длине
ключа, так и по качеству псевдослучайного генератора, а также по
наличию у ключа специальных математических свойств. Еще один
аргумент в пользу этого правила заключается в том, что криптограф,
проектируя криптосистему, никогда не может знать, каким образом
100 Запечников С. В. Криптографические протоколы 11 '/Х примененив
и насколько корректно ключи будут использоваться прикладными
программами, реализующими эту криптосистему. Ограничения по
использованию ключа могут быть усилены физической защитой или
криптографическими методами.
1.2. Принцип иерархии ключей. Любая сложная криптосистема
включает многоуровневую ключевую систему. Впервые это было
сформулировано в американском стандарте по управлению ключами
для финансовой индустрии Х 9.17. Действительно, можно выделить
два типа информации, защищаемой секретными ключами: пользова­
тельские данные и сам ключевой материал криптосистемы. Ключи,
защищающие пользовательские данные, в соответствии с принци­

пом целевого использования ключей подразделяются на ключи


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

ционной стадии самой информационной системы (изделия) и оста­


ются неизменными в течение всего жизненного цикла. МК
защищаются мерами процедурного контроля, физической или логи­
ческой изоляцией их от посторонних субъектов.
Ключи шифрования ключей (КШК) - симметричные ключи или
открытые ключи шифрования, используемые для транспортировки
или хранения других ключей, например в протоколах транспорти­
ровки ключей. Безопасность КШК обеспечивается уровнем МК.
Ключи шифрования данных (КШД) - ключи, которые использу­
ются для выполнения криптографических операций над данными
пользователя (шифрование, аутентификация). Обычно это кратко­
временные (сеансовые) симметричные ключи. Однако и асиммет­
ричные секретные ключи цифровой подписи также могут рассмат­
риваться как кшд.
2. Инфраструктура криптосистем 101
Ключи верхних уровней применяются для защиты ключей ниж­
'них уровней. Это позволяет сделать атаки на схемы шифрования бо­
лее затруднительными (меньшим становится объем шифртекста)
и снизить ущерб от возможной компрометации каждого ключа.
2. Принципы «временного» разделения ключей.
Криптапериод ключа - это период времени, в течение которого
ключ остается действительным для санкционированного использо­
вания в системе. Криптопериод ограничивает использование ключей
на фиксированный период, после которого они должны быть заме­
нены.

Введение криптопериода ключей может служить следующим


целям:

ограничению информации, связанной с определенным ключом,


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

ограничению использования определенной технологии (напри­


мер, лицензионного программного обеспечения) в пределах оце­
ночного времени жизненного цикла;

ограничению времени, доступного для криптоанапитика против­

ника с МОЩными вычислительными ресурсами.

Введение криптопериодов влечет за собой (довольно условное)


подразделение всех ключей криптосистемы по временному признаку
на долговременные и кратковременные.

Долговременные ключи (long-term keys), к которым относятся,


как правило, мастер-ключи, а часто также КШК и другие ключи,
способствующие обмену ключами, защищают кратковременные
ключи. Долговременные ключи типичны для прикладных программ,
требующих хранения данных в течение более или менее длительно­
го промежутка времени.

Кратковременные ключи (short-term keys) - это ключи, вырабо­


танные посредством протоколов обмена ключами или транспорти­
ровки ключей (что будет рассмотрено в разд. 2.2), которые исполь­
зуются часто как КШД или сеансовые ключи для одного­
единственного сеанса связи между абонентами криптосистемы. Та­
кие ключи типичны для коммуникационных прикладных программ.
102 Запечкиков С. В. Криптографические протоколы 11 и'С примененив
с понятием криптопериода ключа связана еще одна тонкость.
Понятие время жизни ключа следует отличать от понятия время га­
рантированной защиты. Первое означает предполагаемый период
использования ключа законным владельцем, второе - расчетное

время, которое ключ будет противостоять атакам криптоаналитика,


Это не время, затрачиваемое противником на криптоанализ, а время
до того момента, когда криптоанализ станет реально возможным с

учетом быстро возрастающей вычислительной мощности современ­


ных средств вычислительной техники.
Выбор ключей и организация ключевой системы в соответствии
с принципами «функционального» и «временного» разделения клю­
чей формируют структуру ключевой системы, Т. е. ее строение,
взаиморасположение и связь ее составных ключей - криптографиче­
ских ключей.

2.1.5. Методы распространения открытых ключей


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

играют по отношению к ним подчиненную роль и используются как

необходимое средство в тех случаях, когда асимметричные методы


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

Она, в свою очередь, включает две подзадачи: управление частными


секретными ключами участников и управление их открытыми клю­

чами.

Задача управления секретными ключами здесь проще, чем в


симметричных криптосистемах, так как секретные ключи никогда не

выходят за пределы собственности их владельцев: нет необходимо­


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

Как отмечалось выше, наиболее сложным для обеспечения безо­


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

4. Использование сервера в режиме отложенного доступа и ме­


тода сертификации открытых ключей.
5. Использование криптосистем, неявно гарантирующих
аутентичность открытых ключей, в том числе:
а) системы, основанные на идентификаторах;
б) системы с неявно сертифицированными открытыми ключами
(например, схемы Gunther и Girault).
Среди всех перечисленных методов преобладающим на пракгике
является метод сертификации открытых ключей. Остальные в силу
многочисленных причин находят лишь ограниченное применение.

2.1.6. Метод сертификации открытых ключей.


Инфраструктура открытых ключей

Задача управления открытыми ключами является новой по срав­


нению с задачами, возникавшими в симметричных криптосистемах,

и требует своих особых подходов. Из-за необходимости ее решения


возникло отдельное научно-практическое направление прикладной
криптографии, а сама идея решения этой задачи выразилась в созда­
нии специальной инфраструктуры в рамках криптосистемы , полу­
чившей наименование инфраструктуры открытых ключей (что
является дословным переводом английского термина Public Кеу
lnfrastructure - РК/).
Инфраструктура открытых ключей (ИОК) - это универсальная
концепция организованной поддержки криптографических средств
защиты информации в крупномасштабных информационных систе-
104 Запечников С. В. Криптографнческие протоколы и их примененив
мах в соответствии с принятыми в них политиками безопасности,
которая реализует управление криптографическими ключами на
всех этапах их жизненного цикла, обеспечивая взаимодействие всех
средств защиты распределенной системы.
Логически МОК объединяет механизмы, субъекты, правила и
взаимосвязи, которые необходимы для доступа к криптографиче­
ским ключам и для ассоциирования открытых ключей со своими
владельцами.

Физически МОК состоит из программ, форматов данных, комму­


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

ИОК может быть интегрирована со всеми основными операци­


онными системами (ОС), сетевым ПО и основными прикладными
программами (ПП). Чтобы использовать сервисы, предоставляемые
МОК, в прикладных программах, они должны быть адаптированы
или должны быть разработаны новые прикладные программы.
Важно иметь ввиду) что создание инфраструктуры открытых
ключей имеет целью комплексную поддержку всего жизненного
цикла открытых криптографических ключей в целом, а не только
каких-либо отдельных его фаз, например распространения ключей
(хотя последняя задача и является технически наиболее сложной).
Международные организации, занимающиеся стандартизацией
информационных технологий, разработали ряд моделей ИОХ, из ко­
торых наиболее известными и распространенными являются модели
SPKI, РК1Х и APKI. .
Модель SРЮ (Simple Public Кеу Infrastructure) - наиболее про­
стая модель МОК, разработанная Международной инженерной орга­
низацией по сети Интернет (IETF). Проект SPKI направлен на соз­
дание простой, минимально необходимой криптографической ИН­
фраструктуры и представлен двумя документами серии RFC
(Request for Comments):
RFC 2692 - «SPКI Requirements»;
RFC 2693 - «SРЮ Certificate Theory».
Модель pКJ){ (Public Кеу Infrastructure for Х.509) о~еспечивает
существенно более широкую функциональность и основана на стан­
дарте Международного телекоммуникационного союза ITU Х.509.
Ее составляют несколько уже утвержденных стандартов RFC и по-
2. Инфраструктура криптосистем 105
рядка 20 проектов (draft) стандартов RFC. К утвержденным стандар­
там относятся:

RFC 2459 - «Intemet Х.509 Public Кеу Infrastructure Certificate


and CRL»;
RFC 2510 - «Internet Х.509 Public Кеу Infrastructure Certificate
Management ProtocoIs»;
RFC 2511 - «Intemet Х.509 Certificate Request Message Еоппаг»;
RFC 2527 - «Internet Х.509 Public Кеу Infrastructure Certificate
Policy and Certification Practices Fгаmеwогk»;
RFC 2528 - «Intemet Х.509 Public Кеу Infrastгucture Representa-
tion of Кеу Exchange AIgorithm (КЕА) Keys in Internet Х.509 Public
Кеу Iпfrаstгuсtш"е Certificates»;
RFC 2559 - «Intemet Х.509 Public Кеу Infrastructure Operational
Protocols - LDАРvЪ>;
RFC 2560 - «Intemet Х.509 Public Кеу Infrastructure Опliпе
Certificate Status Protocol- OCSP»;
RFC 2585 - «Internet Х.509 PubIic Кеу Infrastructure Operational
Protocols - FГP and Н'П'Р»;
RFC 2559 - «Intemet Х.509 Public Кеу Infrastmcture LDAPv2
Schema».
В настоящее время именно модель PKIX претендует стать стан­
дартом ИОК не только в сети Интернет, но и вообще в любых сетях,
построенных на базе коммуникационной архитектуры TCP/IP.
Элементы технологии ИОК реализуются множеством произво­
дителей программного обеспечения, включая такие известные фир­
мы, как 1ВМ, RSA, Entrust Technologies и др. На уровне отдельной
организации, систем документооборота между организациями или в
пределах одной отрасли эта технология уже может быть реализована
имеющимися программными средствами. На государственном уров­
не в России реализация ИОК - это, по-видимому, вопрос более или
менее недалекого будущего: по крайней мере такую перспективу от­
крывает принятый в январе 2002 г. Федеральный закон РФ от
10 января 2002 г. NQ l-ФЗ «Об электронной цифровой подписи»,
В Российской Федерации он является основным документом, регу­
лирующим правовые аспекты деятельности, связанной с задачами
управления ключами и функционированием удостоверяющих цен­
тров. На глобальном, общемировом уровне работы по стандартиза-
106 Запечников С. В. Криптографические протоколы и их пршteuеuuе
цИИ ИОК на базе сети Intemet ведутся рядом международных орга­
низаций.
Рассмотрим вкратце основное содержание метода сертифика­
ции открытых Ю110чеЙ.
Пусть имеется криптосистема, включающая большое число уча­
стников (рис. 2.2). Среди участников криптосистемы выделяется
один, специальный, которому доверяют все остальные. Он получает
название удостоверяющий центр, или центр сертификации ключей,
или агентство сертификации (Certification Authority - СА). Его
функции может выполнять, например, администратор системы, ос­
нащенный соответствующим аппаратным и программным обеспече­
нием (сервер регистрации и сертификации ключей). Все остальные
участники являются обычными, «рядовыми» абонентами криптоси­
стемы.

Участники. криптасистемы
(S"" P.J

~
Храншшще
сертификатов Участники. криптосистемы

Рис. 2.2. Процессы получения и использования сертификатов


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

рации открытому ключу. Решить эту задачу можно различными спо­


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

колом доказательства знания с нулевым разглашением знания.

Сертификат открытого ключа - специальная структура дан­


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

зывающая признаки абонента с его открытым ключом.


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

безопасные каналы связи открытых ключей без опасения их необна­


ружимого изменения.

Различают две формы сертификатов открытых ключей: иденти­


фикационные и атрибутные.
В идентификационном сертификате обязательно присутствует
идентификатор субъекта - владельца ключа, по которому можно од­
нозначно установить его личность. Основным стандартом по иден­
тификационным сертификатам является стандарт Международного
телекоммуникационного союза ПU Х.509. В соответствии со стан­
дартом Х.509 сертификат имеет следующий формат (рис. 2.3).
108 Запечников С. В. Криптографические протоколы 11 их примененне .
--
Верспя сертификата

Серийный номер сертпфпкага

Пдентификагор алгоритма цифровой подпнсп,


используемого удостоверяющпм центром

ИМЯ удостоверяющего центра


(днректорнальное ИМЯ по стандарту x.soo)
Перпод действия сершфнката

Имя владельца открытого ключа


(цирекгорпальное ИАШ по егандарту Х. 500)

Информация об открытом ключе владельца:


• цдентпфпкатор апгоргпма;
• значение ОТКРЬПQГQ КШОЧ:1.

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


выпустившего сертпфпкат (у2)

Уникальный идентификатор владельца открытого ключа ("..2)

Поле расшпренпя (\'3): содержанце не определено

Цифровая подппеь удостоверяющего центра


под всеми предыдущпмп по пявш

Рис. 2.3. Формат сертификата открытого ключа


110 стандарту тз Х.509

Сертификат состоит из двух полей: поля данных и поля подписи.


Поле данных имеет формат, описанный в стандарте. Поле подписи
содержит цифровую подпись удостоверяющего центра под полем
данных. Существует две версии этого стандарта, которые принято
обозначать Х.509у2 и Х.509у3. Различие между ними заключается в
том, ЧТО в версии 2 определены поля «Уникальный идентификатор
удостоверяющего центра, выпустившего сертификат» и «Уникаль­
ный идентификатор владельца открытого ключа», а в версии 3 стан­
дарта эти поля исключены, но предусмотрено наличие в поле дан­

ных дополнительного поля расширения, содержание которого не

определено: оно может специфицироваться другими стандартами,


зависеть от области применения информационной системы и т. п.
Самыми разработанными и широко применяемыии на практике
логическими моделями ИОК на базе идентификационных сертифи­
катов являются следующие:
2. Инфраструктура криптасистем 109
Х9.55- стандарт США дЛЯ финансовой индустрии;
PKIX - проект стандарта штр на базе стандарта X.509v3, адап­
тирующий положения этого стандарта для использования в сети
Intemet;
APКI - архитектура дЛЯ ИОК, описанная в документах The Open
Group.
Однако использование идентификационных сертификатов не
всегда желательно для пользователей, так как при этом может про­
исходить доступ к информации, не имеющей отношения к тому слу­
чаю, по которому необходим данный конкретный факт доступа к
сертификату. Возможность однозначно установить личность вла­
дельца по сертификату может привести к установлению «тотального
контроля» над участниками криптосистемы. В связи с этим было
предложено использовать другую форму сертификатов.
Атрибутныв сертификаты связывают открытый ключ с одним
или более «атрибутов», которые в соответствии со стандартом Меж­
дународного телекоммуникационного союза Х.501 (эквивалентный
стандарт - ISOIIEC 9594-2) определяются как «информация любого
типа». Таким образом, один и тот же участник в зависимости от си­
туации и используемой прикладной программы может предстать в
разных «ипостасях», между которыми невозможно установить одно­

значную связь. К примеру, атрибутом может быть роль пользователя


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

имеют абсолютно одинаковые права в системе и невозможно уста­


новить, кто именно из них совершил конкретное действие с приме­
нением данного конкретного сертификата.
Наиболее разработанными и широко применяемыми на практике
логическими моделями инфраструктуры открытых ключей на осно­
ве атрибутных сертификатов являются:
Х9.57 - стандарт США дЛЯ финансовой индустрии;
SPКI - проект стандарта IEТF дЛЯ использования в сети Intemet.
Удостоверяющий центр (центр сертификации открытых клю-
чей) - это специально выделенный участник криптосистемы, кото­
рому доверяют все остальные участники (ецентр доверия»), чья
110 Запечников С. В. Криптографические протоколы и их применение
подпись служит гарантией ПОДЛИНН'ости ключей и который выпол­
няет следующие функции:
1) сбор сведений об участниках системы, необходимых для сер­
тификации: имя, почтовый адрес, права доступа, должность, номер
кредитной карты и т. п. (зависит от конкретного приложения);
2) генерация и рассылка (либо помещение в общедоступное хра-
нилище) сертификатов открытых ключей;
3) уничтожение сертификатов с истекшим сроком годности;
4) обновление сертификатов;
5) аннулирование сертификатов.
Аннулирование сертификата может потребоваться в случаях,
когда срок санкционированного использования открытого ключа

участника системы прерывается досрочно, ранее, чем это преду­

смотрено принятым в системе регламентом, например при ком­

прометации секретного ключа участника криптосистемы, соот­

ветствующего данному открытому ключу, при удалении (выбы­


тии) владельца ключа из системы, при смене роли пользователя в
системе (перемещении пользователя). Аннулирование сертифика­
та - это чрезвычайное обстоятельство, о котором необходимо
оповестить всех участников криптосистемы. Существует два спо­
соба решения этой задачи.
Проверка статуса сертификата в режиме реального времени.
Для этого требуется выполнение специального протокола с удосто­
веряющим центром, который отвечает на вопрос, не был ли запро­
шенный сертификат аннулирован.
Периодическое создание и рассылка списков аннулированных
сертификатов (Certificate Revocation List - CRL). Формат CRL оп­
ределен в стандарте 1ТU X.509v2 (рис. 2.4).
Второй способ на практике используется чаще. Однако у него
есть один существенный недостаток: между двумя последователь­
ными рассылками списка аннулированных сертификатов всегда су­
ществует какой-то временной «зазор», т. е. об аннулировании сер­
тификата какого-либо участника все остальные участники узнают не
мгновенно, а только по прошествии некоторого времени. Наличие
такого разрыва создает угрозу несанкционированного использова­

ния аннулированного ключа.


2. Инфраструктура критносивтем 111
Идентификатор алгоритма цифРОВОЙ ПОДПИСИ, ИСПОJlliзуемого удосто-
веряюшим центром

имя удостоверяющего центра (дирекгориальное имя по станпарту


Х500)

Дата и Бремя текущего обновления

Дата и время следующего обновления

I
I

Серийный номер сертификата

Датааннупирования
г-

Дополнительные ПОЛЯ t-

Поле расширения

Цифровая подпись удостоверяющегоцентра под всеми предыдущими


полями

Рис. 2.4. Формат списка аннулированных сертификатов


по стандарту тз Х509 v2
Удостоверяющий центр рассылает всем участникам системы
свой открытый ключ, который нужен им для проверки подписи на
сертификатах. Считается, что подменить его невозможно в силу
трех причин: массовости рассылки, периодического повтора и об­
щедоступности.

В криптосистемах с большим числом участников или с большой


интенсивностью потока требований к удостоверяющему центру
функции регистрации участников передко возлагают на специально
выделяемый центр регистрации (Registration Authority - RA).
Сертификаты всех участников криптосистемы могут либо хра­
ниться в специальном общедоступном хранилище, либо рассылаться
по сети. На практике преимущественно используется первый спо­
соб, причем физически хранилище сертификатов чаще всего реали­
зуется либо с использованием директориального сервиса (директо­
рия, к которой открыт доступ на чтение всем участникам), либо ве6­
сервиса (веб-страница, с которой все участники криптосистемы мо­
гут забирать сертификаты).
112 Запечников С. В. Криптографические протоколы и ю; применение
Преимущество сертификата в том, что два участника системы,
доверяющие одному и тому же удостоверяющему центру, могут не

знать и не хранить открытые ключи никаких других абонентов,


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

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

проверки подписи удостоверяющего центра на сертификате от­


крытого ключа абонента А, используя открытый ключ удостове­
ряющего центра;

проверки, не был ли сертификат аннулирован к текущему мо­


менту времени.

3) в случае, если все проверки окончились с положительным ре­


зультатом, принять открытый ключ, извлеченный из сертификата А
как аутентичный ключ.
Далее В может использовать открытый ключ абонента А для вы­
полнения любых необходимых ему криптографических алгоритмов
или протоколов. К примеру, участники А и В, приобретя таким обра-
2. Инфраструктура криптосистем 113
зом открытые ключи друг друга, могут выработать общий секрет­
ный ключ для симметричной криптосистемы.
Хотя сертификат является вспомогательным средством для
транспортировки и обеспечения подлинности открытого ключа, он,
как и сам ключ, имеет свой жизненный цикл. В его жизненном цик­
ле можно выделить те же стадии и ряд состояний, в которых пребы­
вает сертификат: создание, рассылка, штатное использование, об­
новление или аннулирование, уничтожение сертификата.
Недостаток метода сертификации открытых ключей заключается
в том, что участникам криптосистемы после проверки сертификата
часто все равно необходим доступ в реальном масштабе времени в
базу данных с информацией о других участниках криптосистемы
(например, для проверки аннулирования сертификата либо для того,
чтобы получить какие-то дополнительные данные об этом участни­
ке, необходимые для работы прикладных программ). Это не всегда
удобно, поэтому сейчас наблюдается «откат» к модели иак с удо­
стоверяющим центром, работающим не в отложенном режиме,
а в реальном масштабе времени.

2.1.7. Особенности управления ключами в сложных


(многодоменных) информационных системах

Домен безопасности (security domain) - территориально распре­


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

деленная, единая политика безопасности. Как правило, управление


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

териала одних участников криптосистемы, предоставляемые другим

участникам системы, которые дают возможность организовать меж­

ду ними безопасный канал обмена данными. Источником отношения


доверия является центр доверия (администратор). Поддерживается
это отношение посредством выработки общих с центром доверия
секретных ключей или паролей для каждого субъекта (в случае сим­
метричных криптосистем) или посредством обладания аутентичным
114 Запечников С. В. Криптографические протоколы 11 их примененив
открытым ключом центра доверия (в случае асимметричных крип­
тосистем), что позволяет установить безопасный канал связи между
субъектами информационной системы и центром доверия или меж­
ду различными субъектами. Домены могут быть организованы ие­
рархически и формировать б6льшие домены.
Доверие между двумя доменами. Пусть А, В - два абонента,
желающие связаться между собой безопасным образом, причем они
принадлежат к разным доменам информационной системы: А Е DА '
ВЕ Ds ; Тл и ТВ - центры доверия соответствующих доменов
(рис. 2.5).
Домен DB
Единый Л"~""'. "'"Ч' дсверия
,..---------------------- .. -------- --- ----- ---------------------_ .._-------- -,
(2)
1-
i:[ Центр доверия ТА 1_ КАВ
~
-
l
I
Центр доверия ТВ
[!I

~---t-------t-------------
(1) (ЗА)
------------------~t----------..;
. (3В)

Абонент А 1-
I~
(4) , JI
~
Абонент В
I I

Рис. 2.5. Установление отношения доверия между двумя доменами

Образование безопасного канала связи в симметричной критгто­


системе подразумевает, что абонентам необходим общий секретный
ключ КлВ, известный только А, В и лицам, которым оба они доверя­
ют. Изначально таких ключей у них нет, да и лиц, которым доверя­
ют одновременно оба абонента, также может не быть.
Образование безопасного канала связи в асимметричной крипто­
системе предполагает, что абонентам необходимо установить отно­
шение доверия к их открытым ключам таким образом, чтобы обра­
зовался «мост доверия» между А иВ.
В обоих случаях это возможно только при условии, что между ТА
и ТВ уже существует отношение доверия. Оно образуется, например,
в момент инсталляции криптосистемы. Если ТА и ТВ уже имеют ме­
жду собой отношение доверия, его можно использовать для уста­
новления отношения доверия между А и В через цепочку (А,ТА ) ,
2. Инфраструктура КРШllllОСllсmе.м 115
(т.1'~J)'(ТВ'В)' если А и В, в свою очередь, доверяют своим центрам
доверия. Если ТА и ТВ не имеют прямого отношения доверия, оно мо­
жет быть установлено с помощью третьего центра доверия - Те и т. д.
Симметричные криптосистемы. Отношение доверия образуется
при выработке гарантированно аутентичных общих секретных клю­
чей, которое осуществляется следующим образом:
1) А подает запрос в ТА на выработку ключа для связи с В (шаг 1
на рис. 2.5);
2) ТА И ТВ вырабатывают общий сеансовый ключ КАв (шаг 2);
3) ТА И ТВ соответственно передают КАв абонентам А и В, гаран­
тируя секретность и аутентичность (шаги ЗА и ЗВ);
4) А использует КАВ для прямой связи с В (шаг 4).
С точки зрения абонента А взятые вместе ТА, ТВ и отношение до­
верия (ТА, Тв) могут рассматриваться как единый, композитный
центр доверия, с которым А связывается через ТА и который играет
роль центра распределения ключей (центра трансляции ключей), по
аналогии с простыми (однодоменными) схемами. Аналогичный
взгляд создается и для абонента В, которому единый центр доверия
доступен уже в лице центра доверия своего домена Тв.
Асимметричные криптосистемы. Доверие в асимметричных
криптосистемах может быть установлено, основываясь на сущест­
вующих отношениях доверия, происходящих от источника данных,

посредством стандартных криптографических примитивов (цифро­


вой подписи, хеш-функции с ключом). А может приобрести дове­
ренный открытый ключ В следующим образом:
1) А запрашивает у ТА доверенный открытый ключ абонента В
(шаг 1 на рис. 2.5);
2) ТА приобретает его у ТВ с гарантированной аутентичностью
(шаг 2);
3) ТА передает этот открытый ключ А с гарантированной аутен­
тичностью (шаг ЗА);
4) А использует этот открытый ключ для обеспечения безопас­
ности прямой связи с В (шаг 4).
В асимметричных криптосистемах чаще всего функции центра
доверия Т вьшолняет удостоверяющий центр.
116 Запечников С. В. Криптографические протоколы и их прииененив
Модели доверия, включающие несколько центров сертифика­
ции. Существует много способов организации отношения доверия
между удостоверяющими центрами в асимметричных криптосисте­

мах с несколькими удостоверяющими центрами. Эти способы назы­


ваются моделями доверия (или топологиями сертификацищ и логи­
чески могут отличаться от физической ТОпологии сети (В частности,
коммуникационное звено еще не означает отношения доверия меж­

ду связываемыми им узлами). Все они опираются на метод сертифи­


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

Кросс-сертификат - сертификат, созданный одним удостове­


ряющим центром СА х , удостоверяющий открытый ключ другого
удостоверяющего центра СА у. Будем обозначать такой кросс-
сертификат {САу}СА х . Запись вида ({САх }САу,{СА у }САх ) называ­
ется парой кросс-сертификатов, один из которых носит название
прямого сертификата (jorward-certificate), другой - обратного сер­
тификата (reverse-certijicate).
Сертификаты открытых ключей обеспечивают средства ДЛЯ по­
лучения аутентичных открытых ключей при условии, что прове­
ряющий имеет доверенный открытый ключ удостоверяющего цен­
тра, подписавшего сертификат. В случае наличия нескольких удо­
стоверяющих центров проверяющий может пожелать обладать
аутентичным открытым ключом путем цроверки сертификата, под­
писанного иным удостоверяющим центром, нежели тот, для которо­

ГО он владеет доверенным открытым ключом. В этом случае прове­


ряющий сможет так поступать лишь при условии, что может быть
сконструирована цепочка сертификатов, соответствующая непре­
рывной цепи доверия от открытого ключа удостоверяющего центра,
которому проверяющий доверяет, до открытого ключа, доверием
к которому он желает обладать.
Цепочки сертификатов соответствуют направленным ребрам
в графическом представлении модели доверия. Цель - найти после­
довательность сертификатов, соответствующую направленному пу­
ти - пути сертификации, начиная с узла, соответствующего уцосто-
2. Инфраструктура крunmосисmе.м 117
веряющему центру, открытому ключу которого проверяющий дове­
ряет априори, и кончая удостоверяющим центром, подписавшим

сертификат открытого ключа, который подлежит проверке,


Рассмотрим пример. Пусть А - проверяющий, который желает
проверить открытый ключ абонента В (рис. 2.6).

Рис. 2.6. К llрtuиеру отыскания цепочки сертификатов

Очевидно, что путь (СAs,СА4,САз ) существует. {CA4}CAs- сер­


тификат открытого ключа Р4 удостоверяющего центра СА4 , подпи­
санный удостоверяющим центром CA s. Цепочка сертификатов
({ СА4 }cAs, {САз } СА4 ) вместе с априорным доверием абонента А к
CA s позволяет А проверить подпись {СА4}СЛs для того, чтобы из­
влечь доверенную копию ключа Р4 и использовать Р4, чтобы прове­
рить подпись {САз } СА4 , чтобы извлечь доверенную копию Рз и за­
тем использовать Рз, чтобы проверить аутентичность сертификата,
содержащего рв,

Если направленный путь в графе неизвестен априори, его нужно


найти (построить) некриптографическими методами, что похоже на
решение задачи маршрутизации пакетов данных в сетях.

Рассмотрим теперь часто используемые модели доверия.


Строго иерархическая модель доверия (рис. 2.7). Каждый або­
нент начинает проверку цепочки сертификатов со своего корневого
узла. Эта модель называется также моделью корневых цепей, так как
118 Запечников С. В. Криптографические протоколы /l их примененив
все цепи доверия начинаются с корня. Эта модель реализует идею
централизованного доверия.

Е/4 ) в}4)

Рис. 2. 7. Строго иерархическая модель доверия

Несколько таких деревьев могут быть скомбинированы в модель


доверия, поддерживающую множество деревьев - лес. В этом случае
между корнями деревьев заводятся кросс-сертификаты. Например,
если подписан сертификат {САу}САх , это дает возможность пользо­
вателям из дерева под управлением СА х получить доверие к серти­
фикатам, подписанным СА у, через цепи сертификатов, которые на­
чинаются с СА х и тянутся через СА у• Такую модель нередко назы­
вают мостовой моделью доверия, так как кросс-сертификаты между
корнями деревьев образуют своего рода «мосты доверия».
В строго иерархической модели все пользователи, по существу,
находятся в единственном домене, определенном корнем. Несмотря
на тот факт, что, например, CA 1 подписывает сертификат ключа
E1(1) , E1(1) доверяет корню CAs непосредственно, но не CA1• Ер) до­
веряет СА) только косвенно через корень. Потенциально недостатки
этой модели заключаются в следующем:
все доверие в системе зависит от корневого ключа;

цепочки сертификатов требуются даже для двух абонентов, ОТ­


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

Более естественной является модель, когда доверие начинается


с локального, а не с удаленного узла (корня).
Иерархическая модель двунаправленного графа (рис. 2.8). Эта
модель похожа на предыдущую, строго иерархическую модель, но

здесь каждый удостоверяющий центр нижнего уровня иерархии соз­


дает сертификаты, удостоверяющие открытые ключи родительского
удостоверяющего центра. Прямые сертификаты удостоверяющих
центров СА х создаются удостоверяющими центрами, непосредст­
венно вышестоящими над СА х ; показываются стрелками, входящи­
ми в СА х. Обратные сертификаты удостоверяющих центров СА х
создаются самими СА х и подписывают открытые ключи вышестоя­
щего удостоверяющего центра; показываются стрелками, исходя­

щими из СА х .

Рис. 2.8. Иерархическая модель двунаправленного графа


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

абонента и поднимаются до наиболее «верхнего» предка обоих ли­


стьев дерева, относящихся к А и кВ.
Недостаток модели заключается в том, что здесь могут возни­
кать длинные цепи сертификации даже между субъектами, которые
часто общаются между собой. Этот недостаток может быть обойден,
120 Запечников С. В. Криптографические протоколы 11 их примененив
если разрешить прямую кросс-сертификацию узлов, не находящихея
в иерархии.

Обобщенная модель двунаправленного графа (рис. 2.9). Эта мо­


дель также называется моделью распределенного доверия, так как в

ее топологии не обязательно должен иметься центральный узел, или


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

Рис. 2.9. Обобщенная модель двунаправленного графа

Можно предложить, чтобы в иерархических моделях конечных


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

жили бы только для кросс-сертификации между удостоверяющими


центрами. В общей модели, где все удостоверяющие центры пред­
полагаются равными, более естественно разрешить им всем серти­
фицировать конечных пользователей - абонентов системы.
Ограничения в люделях доверия. Доверие, полученное через це­
почки сертификатов, требует успешной проверки каждого сертифи­
ката, формирующего звенья цепочки. Так как СА х кросс­
сертифицирует открытый ключ СА у, в отсутствие дополнительных
ограничений доверие, распространяемое СА х, транзитивно передает­
ся всем удостоверяющим центрам, которые могут быть достигнуты
по цепочкам сертификатов, начинающимся с СА у• Чтобы ограничить
область доверия, распространяемого единственным кросс-сертифи­
катом, удостоверяющий центр может налагать ограничения на под­
писанные им кросс-сертификаты. Такие ограничения могут быть
усилены во время проверки цепочек сертификатов, например за счет
2. Инфраструктура кринтосистем 121
введения дополнительных полей в сертификат. Часто вводятся огра­
ничения такого рода.

Ограничение длины цепи: удостоверяющий центр может ограни­


чить расширение доверия, даваемого им, которое он непосредствен­

но кросс-сертифицирует, за счет указания БО всех подписываемых


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

Вообще говоря, проблема установления доверия непростая и до


конца еще не разрешенная. Известны попытки создания специаль­
ных языков для описания отношений доверия в информационных
системах со сложной топологией.

2.2. Протоколы распределения ключей

Одной из самых сложных задач управления ключами, возни­


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

2.2.1. Основные понятия и определения

Протокол распределения ключей (key establishment protocol)


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

Протоколы обмена ключами (keyagreement, key exchange) - зто


протоколы распределения ключей, в которых общий секрет выраба-
122 Запечников С. В. Криптографические протоколы и их примененив
тыаетсяя двумя или более участниками как функция от информации,
вносимой каждым из них (или ассоциированной с ними) таким обра­
зом, что (В идеале) никакая другая сторона не может предопределить
их общий секрет.
Выделяют две дополнительные формы протоколов распределе­
ния ключей. Говорят, что протокол осуществляет обновление ключей
(key ирdate), если в протоколе вырабатывается совершенно новый
ключ, не зависящий от ключей, выработанных в прошлых сеансах
выполнения протокола. Протокол выполняет выработку производ­
ных ключей (key аепуайоп), если новый ключ «выводится» из уже
существующих у участников криптосистемы.

Протоколы распределения ключей можно классифицировать и


по другому признаку .
Протоколы с предраспределенными ключами (key pre-distribu-
иоп) - протоколы распределения ключей, в которых результирую­
щие ключи полностью определены априори начальным ключевым

материалом. К особому виду таких протоколов можно отнести схе­


мы разделения секрета.

Протоколы динамического распределения ключей (dynamic key


establishment) - протоколы распределения ключей, в которых ключи,
вырабатываемые фиксированной парой (или группой) участников
различны в разных сеансах протокола. Этот процесс называют также
распределением сеаНСО8ЫХ ключей.
Протоколы распределения ключей можно также классифициро­
вать 110 признаку использования в них симметричных либо асиммет­
ричных криптосхем.

Классификация рассматриваемых далее протоколов распределе­


ния ключей по перечисленным выше признакам показана в табл. 2.1.

Таблица 2.1. Классификация протоколов распределения ключей


Протоколы раснределения ключей
Классы
Транспортировка
протоколов Обмен ключами
ключей

Протоколы, Needham - Schroeder, Шарады Схема Схемы


основанные на Омау - Rees, Kerbe- Меркле Блома разде-
симметричных ros, трехэтапный ления

криптосхемах. протокол Шамира секре-

та
2. Инфраструктура криптасистем 123
Протоколы распределения ключей
Классы
TpancnopnlupOBKa
нротоколов Обмен ключами
ключей
Протоколы, Need/1aJ1l - Schroeder, Diffie- - Схемы
основанные Х.509, Вейе» - УасоЫ, Нейтап. разде-
на асиммет- SSL ElGamal, пения

ричных крип- MTI, STS, секре-

тосхемах Оипте» та

Динамическое распределение Протоколы с


ключей предраспределен-

ными ключами

Протоколы распределения ключей могут строиться как без уча­


стия «третьей стороны», так и с ее участием. Доверенная «третья
сторона» может выполнять различные ФУНКЦИИ: сервер аугентифи­
кации, центр распределения ключей, центр трансляции ключей, удо­
стоверяющий центр и др.

2.2.2. Свойства протоколов распределения Ю110чей

К основным свойствам протоколов распределения ключей от­


носят свойства аугентификации ключа, подтверждения ключа и яв­
ной аутентификации ключа.
(Неявная) аутентификация ключа (implicit key аитепйсаиоп) -
свойство, посредством которого один участник протокола убеждает­
ся, что никакая другая сторона, кроме специально идентифициро­
ванного второго участника протокола (и возможно, центра доверия),
не может получить доступ к секретным ключам, полученным в про­

токоле.

Разъясним это определение. Здесь нет гарантий, что второй уча­


стник действительно получил доступ к ключу, но никто другой,
кроме него, не мог его получить. Неявная аутентификация ключа
независима от реального обладания ключом другим участником и не
требует каких бы то ни было действий от второй стороны.
Протокол аутентичного распределения ключей (authenticated
key establishment protocol) - это протокол распределения ключей, ко­
торый обеспечивает аутентификацию ключей в смысле предыдуще­
го определения.

Подтверждение ключа (key confirmation) - свойство, посредст­


вом которого один участник протокола убеждается, что другой уча-
124 Запечников С. В. Криптографические протоколы 11 их примененив
стник (возможно, неидентифицированный) действительно обладает
секретными ключами, полученными в протоколе.

В протоколах применяется четыре способа подтверждения ключа:


1) вычисление хеш-кода ключа;
2) использование ключа в хеш-функции с ключом;
3) шифрование известной величины, используя ключ;
4) доказательства с нулевым разглашением знания.

Первые три способа, в отличие от последнего, разглашают неко­


торую частичную информацию о ключе, но это обычно не имеет
практического значения.

Явная аутентификация ключа (explicit key аитеппсапоп) - свой­


ство, которое выполняется, когда имеют место (неявная) аутен­
тификация ключа и подтверждение ключа одновременно. В этом
случае известно, что идентифицированная сторона протокола реаль­
но обладает специфицированным ключом.
Понятие аутентификации ключа не тождественно понятию ау­
тентификации субъекта-участника протокола. Аутентификация уча­
стника в смысле ранее введенных понятий (идентичность стороны и
ее «присутствие» в текущий момент времени) требуется далеко не
во всех протоколах. Например, известный «классический» протокол
обмена ключами Диффи - Хеллмана не обеспечивает ни аутентифи­
кацию ключа, ни подтверждение ключа, ни аутентификацию участ­
ников протокола.

Однако для протокола распределения ключей с аутентификацией


участников очень важно, чтобы он гарантировал, что участник, чья
идентичность подтверждена посредством аутентификации, был бы
тем же самым участником, с которым выработан общий ключ.
В противном случае злоумышленник может позволить легальному
участнику пройти аутентификацию, а затем деперсонифицировать
его при распределении ключей.
Часто для протоколов распределения ключей желательно также
наличие некоторых дополнительных свойств.
Совершенная опережающая секретность (peifect forward se-
crecy). Протокол обладает свойством совершенной опережающей
секретности, если компрометация долговременных ключей не ком­
прометирует прошлые сеансовые ключи участников протокола.
2. Инфраструктура криптасистем 125
Стойкость к атаке по известным ключам (known-key attack).
Протокол уязвим к атакепо известным ключам, если компрометация
прошлых сеансовых ключей позволяет либо компрометировать бу­
дущие сеансовые ключи пассивному противнику, либо деперсони­
фицировать протокол в будущем активному противнику. Это аналог
атаки по известному открытому тексту (known-plaintext attack) на ал­
горитмы шифрования.

2.2.3. Протоколы распределения ключей, основанные


на симметричных криптосхемах

Протоколы распределения ключей, основанные на симметрич­


ных криптосхемах, удобно разделить на два больших класса: прото­
колы без центра доверия (двусторонние) и протоколы с центром до­
верия.

Класс двусторонних протоколов включает протоколы обновле­


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

Самым простым примером этого рода протоколов служит одно­


проходный протокол между сторонами А я В, У которых уже имеет­
ся долговременный ключ К (табл. 2.2). В результате они вырабаты­
вают новый сеансовый ключ в,

Таблица 2.2. Простой однопроходный протокол обновления


сеансового ключа

А К - долговременный ключ В
УА - случайное число, Ек!.'·А) ~
S=YA S;:: УА

к недостаткам этого протокола можно отнести то, что ключ це­


ликом определяется только одним участником, протокол уязвим к

атаке методом повтора сообщений и не предоставляетгарантий под­


линности участников.

Двухпроходный протокол (табл. 2.3) уже обеспечивает двусто­


роннюю аутентификацию сторон, но для его выполнения участники
должны иметь синхронизированные часы.
126 Залечииков С. В. Криптографические протоколы 11 ш примененив
Таблица 2.3. Простой двухпроходный протокол обновления
сеансового ключа

А к - долговременный ключ В
rA - случайное число, Екfгл,tл,В) ~
f- EK(rB,tB,A)
s = j(rл,rв) s = j(rA,rB)
Протоколы транспортировки ключа методом «запрос - ответ»
строятся на основе аналогичных протоколов аутентификации.
В табл. 2.4 показав протокол, который обеспечивает односторон­
нюю аутентификацию методом «запрос - ответ». В нем ключ цели­
ком определяется одним участником - абонентом А - и транспорти­
руется второму участнику.

Таблица 2.4. Протокол транспортировки ключа методом


<<запрос - ответ»

А к - долговременный ключ В
f- I1в

li1 - случайное число, EкfrA,IlB,B) -7


s = rA s= ГА

Протокол, помещенный в табл. 2.5, обеспечивает взаимную


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

Таблица 2.5. Протокол транспортировки ключа,


построенный на базе «протокола рукопожатия»
А К - долговременный ключ В
f- nв

ПА, /iI - случайное число,


Ек(ГЛ,nА,nВ,(В)) -7
rB - случайное число,
f- EK(rB,пв. nА,(А»)
s =.f( /'А, ув) s =ДГА,ГВ)
Ни один из приведенных выше протоколов обновления ключа с
использованием симметричного шифрования не обладает свойством
совершенной опережающей секретности. Более того, все протоколы
с числом пересылок сообщений две и более принципиально не го­
дятся для прикладных программ с передачей данных в режиме «хра-
2. Инфраструктура криптосистек 127
нение и продвижение» (store-andjorward), таких, как электронная
почта, так как, очевидно, они требуют диалога участников.
Протоколы выработки производного ключа позволяют участни­
кам получать сеансовые ключи, зависящие от уже имеющегося у них

ключевого материала.

Среди протоколов этого рода рассмотрим однопроходный про­


токол (табл. 2.6). В нем сеансовый ключ s вычисляется каждым уча­
стником самостоятельно из долговременного ключа и случайного
числа, вырабатываемого участником А в каждом раунде протокола.
Правильность вычисления ключа проверяется каждым из участни­
ков по факту получения осмысленной информации в последующих
сеансах связи. А может контролировать ключ в этом протоколе, вы­
бирая его в виде rA =Dк(х). Протокол уязвим к атаке методом повто­
ра сообщений.

Таблица 2.6. Однопроходный протокол выработки


производиого ключа

А К - долговременный В
кян»

ГЛ - случайное число -7
s = Ек(гл) или s = /lK(rA) s = ЕК(ГА) или s = /lк('л)
Все рассмотренные ранее протоколы обеспечивали лишь огра­
ниченный набор свойств защиты, будучи подвержены тем или иным
атакам. Задача построения доказуемо безопасного протокола рас­
пределения ключей без центра доверия была решена Bellare и Roga-
way. Ими был предложен протокол АКЕР2 - Authenticated Кеу Ех­
change Protocol, показанный в табл. 2.7. Здесь hK - хеш-функция
с ключом, h~, - псевдослучайная перестановка или хеш-функция
е ключом.

Таблица 2.7. Протокол АКЕР2

А
к, к' - долговремен- В
ные ключи

гА - случайное число -7
fB - случайное число,
~ т = (В,А,rл,rв), Т, hK(T)
(A,rB) 11K(A,rB) -7
s = h~,(rB) s = h~,(rB)
128 Запечкиков С. В. Криптографические протоколы II их nplНlellCJllle
Доказано, что этот протокол обеспечивает взаимную аутентифи­
кацию участников и неявную аутентификацию ключа, Т. е. является
протоколом аутентичного распределения ключей в смысле введен­
ного ранее определения ..
Как видим, протоколов без центра доверия существует довольно
много, и такое многообразие обусловлено отсутствием одного­
единственного, «идеального» протокола: в различных ситуациях и

различных приложениях бывает удобно использовать разные прото­


колы.

Довольно любопытен трехэтапный протокол Шамира (табл. 2.8).


Таблица 2.8. Трехэтапный протокол Шамира
р: вычисление дискрет-
А ного логарифма щоd р В
вычислит. сложно

Выбирает Выбирает
а : 1.:5 а s; р - 2, Ь: l~b ~ р-2,

(a,p-l)=l. (Ь, р -1) = 1.


Вычисляет Вычисляет

а- mod(p-l)
I
ь:' mod(p -1)
К - случ.: 1~ К s; Р - 1
ка modp -7
f-
(к(/)" шоd Р
-7
(к аЬ (1 mod р ( = К Ь mod р
к - сеансовый КЛЮЧ b- I

((к"ь(' J modp

(= Kmodp)
Это единственныйв своем роде протокол транспортировкиклю­
чей, который, используя только методы симметричной криптогра­
фии (но привпекая операцию модульного экспоненцирования),по­
зволяет выработать общий секретный КJIЮЧ двум абонентам по ОТ­
крытому каналу связи, не требуя наличия у НИХ ни открытых, ни
общих секретных ключей.
2. Инфраструктура криптосистем 129
Протокол обеспечивает защиту только от пассивного противни­
ка и не обеспечивает аутентификацию. В сущности, он решает ту же
самую задачу, что и классический, хорошо известный протокол об­
мена ключами Диффи - Хеллмана (о котором мы еще раз напомним
в подразд. 2.2.4), но путем транспортировки ключей, а не обмена
ключами, и используя для этого три пересылки сообщений вместо
двух.

Рассмотрение протоколов с центром доверия начнем с прото­


кола Needham - Schroeder, предложенного в 1978 г. Он был первым
протоколом этого класса, опубликованным в научной литературе.
Начальные условия для него таковы: Т - это центр доверия, А и Т
имеют общий секретный ключ КАТ, В И Т имеют общий секретный
ключ КВТ; NA - неповторяющаяся ни в одном сеансе протокола вели­
чина, чаще всего это случайное число; s- сеансовый ключ, выраба­
тываемый сервером; А,В - идентификаторы участников протокола.
Протокол выполняется следующим образом:
(1) А -? Т: »»:
(2) Т 7 А : Еклт (N л , В,«, EKnт (s, А)),
(3) А -? В: EKuг (s, А),
(4) В 7 А: Es(NB ) ,
(5) А -? В: Es(N B -1).
Достоинстваэтого протокола состоят в том, что он обеспечивает
взаимную аутентификацию участников А и В, а также обладает
свойствомподтвержденияключа (Т является центромраспределения
ключей).
К недостаткам можно отнести тот факт, что противник имеет
неограниченноевремя для компрометацииключа s.
Если же ключ s скомпрометирован, возможна атака на протокол
методом повтора сеанса: берутся сообщения из прошлого сеанса
с ключомs*:
(1) А -? Т: А.в.н;
(2) Т -7 А : Еклт (N А' в». EKur (s, А)),
(3) Е -? В: е; (s*, А),
вт
130 Запечкиков С. В. Криптографические протоколы и их примененив

(4) В -7 Е: E.\,.(N 8)'


(5) Е -7 В: E,\_*(N в -1).
в выполнении шагов (1) - (2) протокола В не участвует и не ви­
дИТ их. На шаге (3) противник Е подставляет старое сообщение
ЕКm- (s*, А). При выполнении шагов (3) - (5) участник В не имеет
никаких гарантий «свежести» ключа, т. е. того, что он был сгенери­
рован именно в текущем сеансе. Следовательно, Е может участво­
вать в протоколе с В вместо А.
Если ключ КАТ скомпрометирован, противник может повторять
сеансовые ключи даже после смены участником А своего долговре­
менного ключа КАТ, как показано ниже:
(1) Е -7 Т: А,В,Nл ,
(2) Т-7 Е: ЕКЛ"l (NA,B,s*,EKIJT(s*,A)),

зная ключ, Е «добывает» N л' В, s*, Ект: , (s*, А), из него берет
Еквт (s*,A) и подставляет в следующее сообщение:
(З)Е-7В: Е к I/T (s*,A),
(4) В -7 Е: к; (N в ) ,
(5) Е -7 В: е; (N в -1).
Несколько видоизмененный протокол Needham - Schroeder был
положен в основу программного средства аутентификации пользо­
вателей распределенных вычислительных систем Kerberos, разрабо­
танного в Массачусетском технологическом институте (США) и по­
лучившем широкое распространение. Модифицированный прото­
кол также получил название протокола Kerberos.
В целях исключения возможности осуществления атаки, опи­
санной выше, применяются технические меры. Клиент С, пройдя ау­
тентификацию на сервере аутентификации AS, должен предвари­
тельно, до того как ему будет предоставлен доступ к серверам при­
ложений, получить у специального сервера выдачи билетов TGS так
называемые билеты-структурыданных, в которых указывается срок
полномочий клиента для доступа к серверам приложений. По исте­
чении этого срока клиент должен получать новый билет. Эта мера
2. Инфраструктура криптасистем 131
ограничивает срок, в течение которого возможно осуществить атаку

на протокол. Схема взаимодействия участников для протокола Ker-


beros версии 4 показана на рис. 2.10.

Сервер аутентпфнкашш

Сервер б'

Рис. 2.10. Взаимодействие участников протокола Kerberos версии 4


Далее используются следующие обозначения:
с, s, tgs - идентификаторы клиента, сервера приложений и серве­
ра выдачи билетов соответственно;
Nс - не повторяющаяся ни в одном сеансе протокола величина,
чаще всего это случайное число;
Кс - предустановленный секретный ключ, общий для клиента и
сервера аутентификации (чаще пароль клиента, вводимый при входе
в систему);
K c•rgs - предустановленный системный секретный ключ, общий
для сервера аутентификации и сервера выдачи билетов;
Kc:.rgs - общий секретный ключ для клиента и сервера выдачи би­
летов, выдаваемый сервером аутентификации;
Kc•s - общий для клиента и сервера приложений секретный КЛЮЧ,
выдаваемый сервером выдачи билетов;
kc•s - общий сеансовый секретный ключ, вырабатываемый клиен­
том и сервером приложений;

Tc,tg.f' Te,s - билеты для доступа клие1:!та к серверу выдачи биле­


тов и к серверу приложений соответственно;
Ac,tgs, Ас,! - аутентификаторы клиента для сервера выдачи биле­
.тов и сервера приложений соответственно;
te> t,gs - метки времени, получаемые клиентом и сервером выдачи
билетов соответственно;
1, [' - сроки действия билетов.
132 Занечников С. В. Криптографические протоколы и их применепив
Спецификация сообщений, передаваемых в протоколе, приведе-
на ниже:

(1) С -7 AS : с, tgs, No
(2) AS -7 С: E Kr ( н.. K(".tg,r,Te.tgS = {tgs, Ек,с. (c,tgs,t(1$,I, KC.tJ;S)})'

(3) С -7 TGS: A c •tgS = Екос> (c,t c" " )' s, Tc.tgs,


(4) TGS -7 С: EKcj~, (Kc.s'~,s =={s,EK• (c,s,tlg~.,l'.Kr..r)}).
(5) С -7 S: Ar •. = Ек,.• (с, t с' к., ,·.. Тг .!
f 1 •

(6)* S -7 С: Ац = Ек,..• (s,tc + 1,ks•c " " ) '


Шаги (1) - (2) выполняются только во время первого входа кли­
ента в систему. Шаги (3) - (4) выполняются всякий раз, когда клиент
С хочет обратиться к новому серверу S. Шаг (5) выполняется всякий
раз, когда С проходит аутентификацию дЛЯ S. Шаг (6) является не­
обязательным и выполняется, когда С требует от S взаимную аутен­
тификацию.
Впоследствии протокол был обобщен на случай многодоменной
информационной системы, когда в каждом домене имеется свой
сервер аутентификации и сервер выдачи билетов. Этот протокол по­
лучил название Kerberos версии 5. Схема взаимодействия участни­
ков для него показана на рис. 2.1 1.

Локальный сервер Кегьегоя Удаленный сервер Кегветоя

Сервер Сервер ВЫДЛ- Сервер Сервер вьща-


аутентпфи- 'Ш билетов аутентпфи- 'Ш бнпегов
кашш (AS) (TGS) кацип (.AS) ('fGS)

t l'

(1) (2) I (5) (6)


(3) (4)~ (7)
I I
Клиент С I ' I Удаленный сервер S
1- (8)* 1
Рис. 2.11. Взаимодействие участников протокола Kerberos версии 5
2. Инфраструктура криптасистем 133
Ниже приведена спецификация сообщений, передаваемых В про­
токоле (обозначения аналогичны тем, что использовались в преды­
дущей спецификации):
(1) С ~ лок. AS: с, tgs, N" ...,
(2) лок. AS ~ С :
EK~ (N~, Kr,tgs,tns,...), ~./gS {tgs, EK,g, (c,tgs,tns,l, Ko Ks ) }
=:; ,

(3) С ~ лок. TGS: Ac,tgs :::: Екщ., (с, tc,...),tgs - пет. N c, T(',rgs'

(4) лок. TGS ~ С: Ек" ..к> (KC,'8s-геm,tgs - пет, Nc,trss'··.} Т~,/gs-геJII'


(5) С ~ удал. TGS: Ac.,ss-rem' Tc,rgS-ГСIlI' s - пет, N c, ... ,
(6) удал.ТGS ~ С: ЕкcJк,_"щ (K c.s- rem' s - rem, н.. t,gs-rem ,.. .} Tc.s-rem'
(7) с ~ удал. S: Ar.s-rcm :::: EKr.s_,.ml (с, t c ' kc,s-rem,"')'
(8)* удал. S ~ С: As-rcm,r :::: ЕК... _иm (s - петл, + 1, k s- rcm,(', ...).
Шаги (1) - (2) выполняются только во время первого входа кли-
ента в систему. Шаги (3) - (4) выполняются всякий раз, когда клиент
С хочет обратиться к серверу S, расположенному в новом домене
(В который он ранее не обращался). Шаги (5) - (6) выполняются вся­
кий раз, когда С обращается к новому серверу S в удаленном отно­
сительно него домене. Шаг (8) является необязательным и выполня­
ется, когда С требует от S взаимную аутентификацию.
Билеты в этом варианте протокола имеют такую структ)'ру:

Tc"ss-rem =:; {tgs - rem, EK't.• _ (C,tgs -l-em,ttgs,l, K1:,rg-r-геJII)}'


rr
",

~.s-rl'm = {s - пет; ЕК,_,.... (C,S - rem,trgS_relll,l, Kc.s-rem)}'


с целью устранения уязвимостей, присущих протоколу
Needham - Schroeder (и основанных на нем протоколов), был пред­
ложен протокол Otway - Rees. Начальные условия для него таковы:
т - центр доверия; А и Т имеют общий секретный ключ КАТ; в и Т
имеют общий секретный ключ КВТ; 1 обозначает идентификатор се­
анса связи; s- сеансовый ключ, выработанный в протоколе. Прото­
кол выполняется следующим образом:

(1) А ~ В: I,А,В,Е клт (NA,I,A,B),


134 Запечников С. В. Криптографические протоколы и их Пр'Lllеllеиllе
(2) В -7 Т: 1, А,В,Е кАт (NA,I,A,B), E KFfТ (NB,I,A,B),
(3) Т-7 В: I,EK'IT (N л, s), Е кlI т (NB,s),
. (4) В -7 А: I,Еклт (Nл,s).

Протокол обеспечивает неявную аутентификацию ключа s и дает


гарантию его «свежести». Однако он не обеспечивает аутентифика­
цию участников протокола и подтверждение ключа. Для этой цели
предложено следующее расширение протокола:

(4)В-7А: EKAТ(NA,s),Es(I,NB)'
(5)А-7В: Es(N B ) .
На протокол возможна атака методом «смещения доверия с сер­
вера». Пусть Е - другой авторизованный пользователь системы. Он
может деперсонифицировать В:
(l)A -7 В: I,A,B,E K,IT (Nл,I,А,В),
(2) В -7 Е: I,A,B,E K (Nл,I,А,В),Е к (NB,I,A,B),
АТ нт

(2*) Е -7 Т: I,А,Е,Е клт (Nл, 1, А,В),ЕкЕ:Г (N Е' I,A,B),


(3)Т-7 Е: I,ЕКАт(Nл,s),ЕКЕТ(NЕ'S)'
(4)Е-7А: I,ЕкАт(Nл,s).
Атака возможна благодаря тому-способу, которым А выводит за­
ключение об аутентичности В на шаге (4) "протокола: А не имеет
прямого указания на другого участника, которому Т сделал доступ­
ным ключ в, но полагается на случайное число Nл в сообщении (4) и
на тот факт, что оно было ассоциировано с В в защищенной части
сообщения на шаге (1). Таким образом, А полагается на то, что Т
сделал ключ s доступным именно тому участнику В, которого запро­
сил А на шаге (1). А это может быть гарантировано Т только путем
проверки совпадения содержимого полей, записанных в открытой и
защищенной частях сообщения, пересылаемого на шаге (2). Наборы
величин (/.А.В), трижды повторяющиеся в сообщении
(2) В -7 Т: I,A,B,E K (Nл,I,А,В),Е к (NB,I,A,B),
АТ ffГ
2. Инфраструктура криптасистем 135
ДОЛЖНЫ быть абсолютно одинаковы. Это условие в явном виде
должно проверяться при реализации протокола.

Долгая история конструированиявсе более стойких протоколов


с центром доверия привела к созданию Вейаге и Rogaway доказуемо
стойкого протокола аутентичного распределения ключей, получив­
шего название протокола ЗРКD - З-Раrty Кеу Distribution. Пусть

K~"~ - общий секретный ключ шифрования А и Т, K;IC - общий

..
секретныи ключ ши Ф рования в и т, К'?"
А - О бший
щии секретныи кпюч...
аутентификации А и т, к;шс - общий секретный ключ аутентифи­
кации В и Т. Тогда спецификация протокола имеет следующий вид:
О)А 7 В: RA•
(2) В 7 Т; я; RB,
(3) Т 7 А : EK~;" (k ),МАСК;t'.' (А,В,RА,Екл,~ (k)) ,
(4) Т 7 В: Ек "" (k ),МАС к "",,, (A,B,Ro.EK " " (k)) ,
8 IJ В

при условии существования семантически безопасной схемы шиф­


рования (Е,О), безопасной схемы аутентификации сообщений
(МАе, Vf) и псевдослучайного генератора Gen.
2.2.4. Протоколы распределения ключей, основанные
па асимметричных криптосхемах

для удобства изучения протоколов распределения ключей, осно­


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

1. Протоколы, использующие только открытое шифрование без


цифровой подписи. Примором такой конструкции является протокол
Needham - Schroeder с открытыми ключами. Пусть А,В - абоненты
криптосистемы, Т - центр доверия, Ph Рв. Р Т - их соответствующие
открытые ключи, ST - секретный ключ центра доверия. РХ ( ••• ) - оз­
начает зашифровку на открытом ключе участника Х, Sx{...) - под­
пись на секретном ключе участника X,f( ... ) - общеизвестная одно­
направленная функция.
136 Запечников С. В. Криптографические протоколы 11 их примененив
Протокол может быть построен в двух вариантах. В первом слу­
чае, при использовании доверенного сервера в режиме реального
времени он выглядит так:

(l)A -7 Т: А,В,
(2) Т -7 А : Р в, В, Sr{PB,B),
(3) А -7 В : PB(k},A),
(4) В -7 Т: В,А,
(5) Т -7 В : г; А, Sr{Рл,А),
(6) В -7 А : Рл(k I,k2 ),
(7) А -7 В : PO(k2) ,
(8) А,В : k ;::f(k 1,k2 ) .
В результате выполнения шагов (1) - (2) абонент А получает ау­
тентичный открытый ключ абонента В. В результате выполнения
шагов (4) - (5) абонент В получает аугентичный открытый ключ
абонента А. Остальные шаги вполне очевидны. В результате на шаге
(8) оба участника получают сеансовый ключ k.
Во втором случае протокол использует уже имеющиеся в обще­
доступном справочнике сертификаты открытых ключей абонентов А
и В. Он приведен в табл. 2.9. Номера над стрелками показывают со­
ответствие шагов этого варианта протокола первому варианту.

Слабости этого протокола - точно такие же, как и у протокола


Needham - Schroeder с секретными ключами: нет гарантий свежести
ключа, получаемого от сервера Т. Если секретные ключи Sл ИЛИ SB
скомпрометированы, возможна атака методом повтора сеанса.

Таблица 2.9. Протокол Needham - Schroeder


с открытыми ключами

А В

~ (3)
PS(k1,AJ -7
(6)
~ PA(k1,k2J
(7)
PB(k2J -7
k = f(k"k 2J (8) k ;:: f(k 1,k2J
2. Инфраструктура криптосистем 137
2. Протоколы. комбинирующие открытое шифрование и цифро­
вую подпись. К этому классу относятся протоколы стандарта ITU
Х.509: ОДНОПрОХОДНЫЙ, ДВУХПРОХОДНЫЙ и трехпроходный. Во всех
протоколах приняты следующие обозначения: ТА, ТВ - это метки
времени, Rh RB - случайные числа, Хл, ХВ - произвольиые данные,
для которых требуется обеспечить целостность и подлинность, УА>
УВ - произвольные данные, для которых требуется обеспечить еще и
секретность (в том числе это могут быть сеансовые ключи), { ..}к х

означает зашифровку данных с помощью схемы открытого шифро-


вания участником Х, {"}Гl означает подписание данных участии­
х

ком Х. (Аналогичные обозначения используются в записи после­


дующих протоколов.)
Однопроходный протокол обеспечивает одностороннюю аутен­
тификацию:

(l)A -7 В: А,{тл,RЛ'В'ХЛ'{УЛ}КВ}К,iI'
Прибавление к нему еще одной пересылки сообщения дает двух­
проходный протокол, который уже обеспечивает двустороннюю ау­
тентификацию:

(2) В -7 А: в,{тв,Rв,А,Rл,хв,{ув}к,JКjjl .
Добавлением еще одной пересылки получается трехпроходный
протокол из этого же стандарта:

(З)А -7 В: A,{B,RB}K- 1 '


А

в трехстороннем протоколе полагают ТА = ТВ = О, так как указа­


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

Так как участники протокола для формирования сообщений


должны знать открытые ключи друг друга, стандартом Х.509 пред­
полагается использование метода сертификации открытых ключей:
до начала выполнения протокола каждый из них должен получить
138 Залечииков С. В. Криптографические протоколы и их примененив
сертификат открытого ключа партнера, подписанный удостоверяю­
щим центром, из общедоступного справочника.
К этому же классу принадлежит широко известный протокол
SSL (Secure Sockets Layer), используемый на сеансовом уровне ком­
муникационной архитектуры TCPIIP. Пусть А - клиент, В - сервер.
Клиент желает установить защищенное соединение с сервером. А
генерирует сеансовый ключ SAB, который должен стать общим ДЛЯ
клиента и сервера, и инициирует протокол:

(1) А ~ В : {sАВ}К ' в

(2) В ~ А : {NB}SAII'

(3) А ~ В : {CertA.{ NB}K,~1 }SЛВ ' где CertA ={KA}K':,i .

Приведенная запись соответствует версии 2 протокола SSL. Од-


нако на такой протокол транспортировки ключа возможна атака
злоумышленника. Пусть Е - другой сервер, находящийся в том же
домене, но контролируемый злоумышленником. Тогда Е может про­
вести атаку методом включения в канал, в результате чего будет
контролировать трафик между клиентом и сервером:
(1) А ~ Е: {КАЕ } К Е
'

(2) Е ~ В: {КЕВ}К •
11

(3) В ~ Е: {NB}K 'ЕН

(4)E~A: {NB}K •АЕ

(5)А -7 Е: {CertA ={КА}К-1 ,{NS}K-1}K"f. , СА ,1

(6) Е ~ В: {CA,{N B}K;l }КЕВ .

с целью исключения возможности ее осуществления в версии 3


этого протокола было изменено содержание сообщения, передавае­
мого на шаге (3):
(3)А -7 В: {CertA.{A,b,SAb,NB}K-1} , А Sлв

где по-прежнему СепА ::::: { КА }К-1 .


СА
2. Инфраструктура криптосистем 139
3. Гибридные протоколы, использующие одновременно симмет­
ричные и асимметричные криптосхемы. Весьма интересным приме­
рам такого протокола является протокол Beller - УасоЫ. Он предна­
значен для использования в ситуациях, когда между участниками

протокола существует значительный дисбаланс вычислительной


мощности, например в случае обмена данными между интеллекту­
алЬНОЙ картой и приемным устройством или между терминалом и
сервером. Такой протокол сокращает до минимума требования к
слабейшей стороне (А), тогда как основную вычислительную на­
грузку несет более сильная сторона (В). Итак, пусть А - терминал
(слабейшая сторона), В - сервер (сильная сторона), Т - центр дове­
рия, IА • [в - идентификаторы участников протокола, h- однонаправ­
ленная хеш-функция. Протокол состоит из двух этапов: предвари­
тельного и рабочего. Действия участников протокола показаны В
табл.2.10.
Любопытной особенностью протокола Beller - УасоЫ является
то, что В нем используются две схемы открытого шифрования: RSA
и Эль-Гамаля. Схема RSA с е = 3 дает эффективные операции с от­
крытым ключом: зашифровку и проверку цифровой подписи. Для
этого требуется выполнить всего по два модульных умножения.

Таблица 2.10. Протокол Веllег - Yacobi


Предваритепьныйэтап
А т В
1 Выбор системных параметров:
Параметры для схемы Эль-Гамаля:

11, - простое число, cf. Е Z,:, -обра-


зующий элемент.
Параметры подписи Т по схеме RSA:
=ра, ет =3, d
р, q - простые числа, Jlr T

: erd7' =l(mod(p-l)(q-l))
2 Распределение системных параметров:

~[~·,(l1s,Cf.),er ]-7
Каждому участнику присваивается
[А [в
~у,.щкальиый идентификатор-Э
140 Запечников С. В. Криптографические протоколы 11ILX I1puMellelllle
Продолжениетабл. 2.1 О
Предварительный эта"
А т В
з Инициализация терминала:
А идентифицирует себя
некриптографическими
средствами, выбирает
а - случайное число,

1 < а .::; lls - 2 , вычис-


ляет открытый КЛЮЧ
цифровой подписи по
схеме Эпь-Гамаля:

[Ил = (J,II гпоо п, ] -7


Откр, ключ А по схеме Эль-Гамаля
сертифицируется цифровой подпи-
сью центра доверия по схеме RSA:
GА = ST (I Л , иЛ ) =
= (11 (I Л ,u л) У'Т mod I1 т

~ [Cert'1 = (1л,u л . Gл)]


4 Инициализация сервера:
в идентифици-
рует себя не-
крипгографиче-
скими средства-

ми, выбирает Рв,


'1n - простые

числа, ев = 3, вы-
чиспяет dn и 01'-
крытый ключ
Открытый ключ В по схеме RSA сер- цифровой под-
тифицируется цифровой подписью писи по схеме

центра доверия по схеме RSA: RSA: нв = Рв<}в.


GB = ST (1n,ll n) = ~[nB]

= (h(1n,ll n ))dr mod~.


[Cert B = (1n,ll п , Gп )] -7
2. Инфраструктура криптасистем 141
Окончание табл. 2.10
Рабочий эта"
А В
1 Предварительные вычисления терминала:

выбирает х - спуч.: 1$ х $ ns - 2,
(х.п, - 1) ;:;; 1, вычисляет v ;:;; а' mod n! '

х- mОd(пs
I
-1). avmod(ns -1)
2
~ [сегt п = (iB,nn,G B ) ]
3 Про верка аутентичности lIв:
~

ьи.», )~G; modnт.


Генерация сеансового ключа:
К - спуч.: 1<К<Jlв-l.
[У = РП ( К) = к 3 mod п в ] ~
4 Восстанавливает ключ К:

К = Sn (у) = yl/B modnB ,


тЕ Z- спуч., t == 50 .
~ [ г; (т, {о}' )]
5 Расшифровывает поступившее сообщение и
проверяет, что последние r бит равны нулю.
Формирует М=(111,18), вычисляет
w = (М - ау ) х-1 mod (lls -1);
(v, w) - подпись участника А под сообщением
М по схеме Эль-Гамаля.

[Вк ((v. w),Сеrt л = (IА,uл,Gл))J~


6 Расшифровывает поступившее
сообщение и проверяет:
1
11 (1 А' иА )=G~ mod 1lт ,формиру-
ет М = (щIв) и проверяет,
'1

а
М..:. V
=и А , v \V
то

1 • В случае по-

ложительного исхода принимает уча-

стника А с идентификатором /tI как


источник ключа К
142 Запечкиков С. В. Криптографические протоколы 1/ их применение
Схема Эль-Гамаля дает эффективные операции с секретным
ключом: расшифровку и генерацию цифровой подписи. Для этого
требуется всего одно модульное умножение, предполагая выполне­
ние предварительных вычислений. Открытые ключи схемы Эль­
Гамаля сертифицируются центром доверия цифровой подписью по
схемеRSA. Этот протокол обеспечивает аутентификацию его участ­
ников и явную аутентификацию ключа.
Рассмотрим теперь примеры протоколов обмена ключами, ос­
нованных на асимметричных криптосхемах. Их удобно подразде­
лить на ПрОТОКОЛЫ, обеспечивающие основные свойства распреде­
ления ключей (т. е. аутентификацию ключа, подтверждение ключа,
явную аутентификацию), и протоколы, обеспечивающие расширен­
ные свойства (совершенную опережающую секретность, стойкость к
словарным атакам и др.).
Начнем с протоколов, обеспечивающих основные свойства. Хо­
рошо известен протокол Диффи - Хеллмана открытого распреде­
ления ключей (табл. 2.11) - исторически первый протокол обмена
ключами, предложенный в 1976 г.

Таблица 2.11. Протокол открытого распределения ключей


Диффи - Хеллмаца
А В

Р -
~
прос"!,ое число,

аЕ z; - образ. элемент,
2~a~p-2
о-

х - СЛУЧ.,

1~x~p-2

[a.rmOdpJ -7
у - случайное чис-
ло, 1::;; у ~ р-2

[аУ modp]
~

К = (аУ)Х modp К = (ах)' modp


2. Инфраструктура криптосистем 143
Простой протокол обмена ключа Диффи - Хеллмана не обеспе­
чивает ни одного из основных свойств протоколов распределения
ключей: ни аутентификацию, ни подтверждение ключа, ни аутенти­
фикацию участников протокола. Активный противник может по­
строить атаку на протокол методом включения в канал, как показано

в табл:2.12. В итоге он сможет контролировать весь обмен данными


между участниками по «защищенному», как им кажется, каналу.

Таблица 2.12. Атака активного противника


на протокол Диффи - Хеллманя
Об-мен ключами
А Е В
х - случайное число,
I
аХ -7 Х -случ.

(j/~
у - случайное число,
I
у - случайное ~a)'

число,

~ а)'

Кл ==a.t)" modp Кл == (а;' У' шоd р, КВ = а'<У modp

К n = ((1:" )Х' шоd р


Обмен данными
А Е В
М

[С=Екл(м)J~_
м = о, (с), л

[ С· = Екв (М )] 7 М =D KB
(C~)
т

~ lc =: Ек (m)J /l
т=D K8 (C ) ,

~ [с * :::; Ек" (т)]


т> »; (с·)
Более защищенным является протокол МТ/ (Магзшпою,
Takashima, Imai, 1986), показанный в табл. 2.13; а.Ь - ЭТО долговре-
144 Запечников С. В. Криптографические протоколы и '/х применение
менные секретные ключи участников протокола, Zл, ZB - их долго­
временные открытые ключи. Компрометация разовых секретных
ключей участников протокола не влияет на безопасность долговре­
менных секретных ключей. Можно построить четыре варианта этого
протокола, различающиеся сообщениями, которые участники пере­
дают друг другу, и способом формирования общего секретного
ключа (табл. 2.14).

Таблица 2.13. Протокол МТI


Предварительный эта"
А В

~
а - случайное число, Ь - случайное число,
1:::;a~p-2. Catiz_~) CerfS(ZB) 1:::;b:::;p-2,
[ zл = а" mod р ] ~ р - простое число, f- [zn = а Ь mod р ]
аЕ z; - образ. эле-
мент, 2:::;a~p-2
Рабочий этап
1 х - случайное число,
1~x~p-2.
~
[тлв = a~ mod р ]
2 У - случайное число,
1~y~p-2,
~
[ тЕЛ = аУ mod р ]
з К = Кл = КВ
Кл =(аУ У' z~ modp == КВ = (а-т)" z~modp
= abHIl)' mod р

Таблица 2.14. Варианты построения протокола МТI


Мм, тлв твл КА КВ Общий ключ К
1 n Х Ь у аЬх+ау
аХ аУ т ВА - ZB тАВ - ZA
2 т(l-' -а" ь- ! у а Х+У
z; z~ ВА
тлв -а

з
z; z~
a-1x
т
b-1y a.t)'
т
ВЛ АВ
4 ааЬху
z~f1 Z~b m~A т~B
2. Инфраструктура криптасистем 145
Протокол МП обеспечивает взаимную неявную аутентифика­
цию ключей, но не обеспечивает аутентификацию участников про­
токола и подтверждение ключа. Такой протокол устойчив только
против пассивных атак. Активный противник может осуществить
атаку на него методом подстановки источника, как продемонстриро­

вано в табл. 2.15.


Таблица 2.15. Атака на протокол МТI методом подстановки
источника (с одинаковыми открытыми ключами)
А С п
~y~
~ ... Сеп,
Сеп,
... '-0 ~
......
~~
t===- f----
----
[О:Х mOd P.] [ О:Х mod Р.]
Сеп , ... Сеп; ~

- [аУ mod рJ

Суть атаки заключается в том, что злоумышленник С регистри­


рует в удостоверяющем центре сертификат с таким же открытым
ключом, как и А, а затем модифицирует сообщение, передаваемое от
А к В. В результате В считает, что последующие сообщения зашиф­
рованы на ключе k = аь.(+ау mod р , исходящем от С, в то время как
только А знает ключ k и может производить такие сообщения. Для
избежания атаки необходимо проверять уникальность открытого
ключа при регистрации сертификатов.
Можно построить более сложную атаку, которая достигает того
же самого, но с открытым ключом С, отличным от открытого ключа
А (табл. 2.16).
Теперь С регистрирует в удостоверяющем центре сертификат
с открытым ключом а" mod р и подменяет сообщения, передавае­
мые участниками протокола друг другу. После осуществления такой
атаки А полагает, что он выполнил обмен ключами с В (это так и
есть!); В полагает, что он выполнил обмен ключами с С. Злоумыш­
ленник С не способен сам вычислить ключ k, но вынуждает В делать
146 Запечников С. В. Криптографические протоколы н их примененив
неверные выводы. Для избежания атаки необходимо проверять зна­
ние секретного ключа при регистрации сертификатов.

Таблица 2.16. Атака на протокол МТI методом подстановки


источника (е различными открытыми ключами)
А С В
е - случайное
число,

1$e~p-2,

Zc =(ZлУ =
ZA - откр. КЛЮЧ А ::::aaemodp - ZB - откр, КЛЮЧ В
откр. КЛЮЧ С

~
~
~
Сеп,\
Сеп,
t:=--- f-- ~

[а' mOd P ,]
Сеn л
-7 [а' г.
сы;
-7

~ [(а.\,)е mod р ] ~ [а'У mod р ]


k= k=

=( а уе
J'Z~ modp =(a.t")b . z~ mod р
= а{/еу ·а·<Ь mod р = = а ХЬ . а'''' mod р =
== а{/I!У+ хЬ mod р = апеу+хЬ mod р

Протокол STS (ыайоп-ю-ыаиоп), показанный в табл. 2.17, тоже


основан на протоколе Диффи - Хеллмана. Дополнительно ОН ис­
пользует симметричную схему шифрования (E,D) и две схемы циф-

ровой подписи вида S х (т);:;; (н (111))tl. mod 11 х ,


Y
Х ;:;; {А, в} ,
Н(т)<nх. На эту роль подходят схемы RSA или Рабина.
2. Инфраструктура криптасистем 147
Таблица 2.17. Протокол STS
Пред ватин ел ьн ый этап
А В

~
ПА = р".qл llв :::; PBQB '
(ел. IlА) 7 nJ (ел (сп 11/,) f--(ев. I1в)
-
dA : елdл =: Р - простое число, d u :e JJd1J =:
=: 1mod (рА -1) ( qА - 1) аЕ z; - образ. эле- =: 1mod(PB -1)( Qn -1)
мент, 2:5:а:5: р-2
Рабочий э11tU11
А В
1 х - случайное число,

1:5: х :5: Р - 2, [ а"х mod Р ]


7
2 У - случайное число,

1:5: У :5: Р - 2 , k := ( а" у mod Р

[ а/ mod р ; е, (SIJ (а.У .а' ):IJ


f--
3
k ;:; ( аУ у mod р , расшифровы-
вает Ek , проверяет подпись В,
в случае положительного исхода

Формирует' [ Е,. ( SА (аХ. аУ)) ] 7

4 Расшифровывает Ek , проверя-
ет подпись А, в случае поло-
жительного исхода принимает

ключ k как общий сА

Протокол STS обеспечивает аутентификацию его участников


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

Разработка новых безопасных протоколов распределения клю­


чей, основанных на асимметричных криптосхемах, продолжаются и
поныне. Многочисленные публикации по этой проблеме можно най­
ти в трудах международных конференций CRYPTO, EUROCRYPT,
ASIACR УРТ за последние годы.
148 Запечников с. В. Криптографические протоколы и их примеленив
2.2.5. Конференц-связь
Конференц-связь - это многосторонняя рассылка сообщений в
режиме реального времени (число участников обмена сообщениями
не менее трех).
В случае обмена секретной информацией всем участникам об­
мена необходимо иметь общий секретный ключ. Протокол расnре­
деления ключей конференц-связи - это обобщение протокола двусто­
роннего распределения ключей с целью обеспечения трех или более
участников общим секретным ключом.
Пусть N - множество участников системы конференц-связи,
М С N - множества (группы) участников конференций, INI = 11,

IMI=t,t~n.
К распределению ключей конференц-связи выдвигается не­
сколько вполне очевидных требований:
1) различные группы участников М вырабатывают разные сек­
ретные ключи, так как участникам одной конференции не должны
быть доступны данные, передаваемые в других конференциях);
2) эти сеансовые ключи динамические (т. е. протоколы с пред­
распределенными ключами исключаются), более того, в' различных
конференциях, даже при одинаковом составе участников, должны
быть разные ключи, так как очень высок риск их компрометации;
3) информация, которой обмениваются участники в процессе
выполнения протокола распределения ключей несекретная, т. е. пе­
редается по открытым каналам;

4) каждая сторона индивидуально вычисляет сеансовый ключ


(это следствие из предыдущего требования).

Можно предложить очевидный метод решения задачи распреде­


ления ключей конференц-связи с участием доверенного центра рас­
пределения ключей. Каждый участник системы конференц-связи
имеет общий секретный ключ с центром распределения ключей,
а центр при необходимости проведения какой-либо группой участ­
ников сеанса конференц-связи рассылает им зашифрованные на этих
ключах ключи конференций. Этот метод плох тем, что требует хра­
нения центром распределения ключей большого количества ключе­
вого материала - общих секретных ключей со всеми участниками
системы конференц-связи. Центр в этом случае превращается
2. Инфраструктура криптасистем 149
в «слабое звено» системы, так как в случае компрометации храня­
щихся у него ключей теряет стойкость вся система конференц-связи,
В связи с этим предложен ряд более совершенных протоколов
распределения ключей конференц-связи. Рассмотрим два простых
протокола, обеспечивающих стойкость только к атакам пассивного
противника. Аутентификации ключа они не обеспечивают, являясь,
по сути, только обобщениями протокола Диффи - Хеллмана для
числа участников, большего двух.
Протокол Ингемарссона - Танга - Вонга (/ngemarsson - Tang :....
Wong), приведенный в табл. 2.18, удобен ДЛЯ сетей кольцевой топо­
логии.

Таблица 2.18. Протокол Ингемарсеона - Танга - Вонга

.м. ... ...


нюгв,
UО [.T1(_)1 иJ UI~1 о.,
r
г=1 Xj - случайное ~П·IСЛО.
'" 1~x; ::;'p-l, ...
[ М.1 = в" 1l10d Р ]
-, "- -, -, <, -, , ~

"' .. ~ ~I"
'" "
~
"0 , ... о ••
." ... . .. '"
-, -, <, -, -, -,
(~2 ~ ~I'
"
г' ~ ~ ~

...
[ М.( -)1,,-1] •
, ..
" "'
Ми =Ц'(~ ~,,-1 1110d р,
(= g "()(·r,),)·"x(),~ 1110dp)
-, -, -, [Ц;.] -, '\. -, ...
"~ ~~ I~... "- ...""
'" ...
-, " ...
-,
"-
...
"-
...
"- -,
~
-,
, ...
r=t .......
~~

'"
" ~, [ М.( -)1,1-1 ]

М.} = М;,'-)I,t-l шоdР»


'
1" "-~

...
""
'Cs=М;,
k = k o = ~ = ... = k; = ... = k z_1 = в'": .~J.' 1ll0d Р - ЮIЮ~I конференции
150 Запечников С. В. Криптографические протоколы II '/Х примененив
Пусть Т - центр доверия, Ио • И 1 , ••• , П; - участники конферен­
ций. На предварительном этапе, который выполняется однажды, пе­
ред началом работы системы кон ференц-связи, Т выбирает большое
простое число р, образующий элемент gЕ z; и рассылает эти па­
раметры всем участникам системы Ио , И 1 , о • • 'ИJI' Перед началом ка­
ждого сеанса рабочего этапа протокола определяется t, 2:S; f ~ 12 , -
количество участников конференции, которые совместно в процессе
выполнения сеанса протокола вычисляют общий секретный ключ
конференции k::::; ko = k, ::::; ... = k; =.. 0 = kt-1 = gXOx!•..Xt-I mod р •
Протокол Бурместера -г Десмедта (Burmester - Desтedt), пока­
занный в табл. 2.19, ориентирован на сети с возможностью широко­
вещательной рассылки сообщений, например на сети шинной топо­
логии. Пусть Т - центр доверия, Ио , И 1 , "', П; - участники конфе­
ренций.

Таблица 2.19. Протокол Бурместера - Десмедта


j\'g U;rJЭ]
шага
и(} ... И;(_) I И; ... Ин

1 "; - случайное число, 1 =::; 1"; =::; Р - 2 ,

Zj == а/' mod р
- ... .....с;:
.0. [Z;].oo ... 1-

2 ,
[ ZI(-)IJ [Z;ffiIJ -:::

Х; ~ [ ZiФI
Z;(_)I
Jmod Р, ( ~ 0;'."-"'-' )
- ... -с::
...[XjJ 0.0
., 0.0

3
.. ,
- [Ха]
[ 1 _
X;ffiIJ -.
...
о .. ...
~ [ X;(_)I] [XrJ -::
К; = 2;(_)1
( )'''
. Х;1-1 • Х;ФI
1-2
."

"'Х;~(r(-)з)· Х;Ф(/(_)2)mОdр
К ::::; Ко ::::; ._. = К; ::::; ... = К, - ключ конференции
2. Инфраструктура криптосистем 151
На предварительном этапе, который выполняется однажды, пе­
ред началом работы системы конференц-связи, Т выбирает большое
простое число р, образующий элемент мультипликативной группы
аЕ z; и рассылает эти параметры всем участникам системы ио,и 1 •

... , ИII • Перед началом каждого сеанса рабочего этапа протокола оп­
ределяется t, 2 ~ t ~п ,- количество участников конференции.
В процессе выполнения каждого сеанса рабочего этапа протоко­
ла все абоненты формируют одинаковый ключ конференции

К = Ко = ... == К; = ... = К, = r
a,"j1j+/jr2+···+r,-l o • Определим Aj == a rJrJ>1 ::;;

;::; Z~j·,
J'
Х.
)
== а,ГJ+\ГJ-ГJГJ-1 .
Так как А.
}
== А.)-1 Х.Г' ключ конференции К
,
выработанный в протоколе, может быть записан таким образом:
К; = АсА] ...Ан = А;(_)] AiAi6:H••• AjE9 (,- 2) =
::;; Aj(_)1 . (Aj(_)IXj)' (Aj(_)IXjX;C±H)"'E (Аi(_)IХjХjФ1"'ХjeJ(t_2)) .

Здесь знаки (-) и Ее означают соответственно вычитание и сло­

жение по модулю t. Так как А;(-)I = (Z;(_)1 Jfl, то К == К; =


= A;(-)1' х:' . х':
jФ1 .•• х:
;$(t(-)3)' Х jeJ(t-2)
t
j то d р, что эквивалентно урав-

нению, получающемуся на шаге 3 протокола.


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

2.2.6. Методы анализа протоколов распределения ключей


Как видно из уже рассмотренных примеров, протоколы распре­
деления ключей отличаются значительной сложностью конструкции
152 Запечкиков С. В. Криптографические протоколы и их примененив
и обилием предъявляемых к ним требований. Тем более сложным
является анализ соответствия предложенных протоколов этим тре­
бованиям.
Известны три группы методов анализа стойкости протоколов
распределения ключей:
1. Эвристический (ad-hoc) анализ - это традиционный способ,
характерный для классической криптографии. Суть его заключается
в том, что в уже готовом протоколе в процесс е его применения на

практике ищут ошибки и пытаются их ликвидировать. Иными сло­


вами, это метод «проб и ошибок».
2. Формальные методы анализа. Эта группа методов характери­
зуется тем, что готовые протоколы подвергаются анализу при по­

мощи специальных математических и логических методов. Но ана­


лизируется не содержательная, а формальная сторона протокола,
форма его построения, признаки и свойства, появляющиеся на каж­
дом шаге выполнения протокола. Хорошо разработаны и широко
известны специальные формальные логики для анализа криптогра­
фических протоколов, такие, как ВАN-логика и GNУ-логика. Безус­
ловным преимуществом этих методов является то, что они хорошо

алгоритмизуются, что позволяет создавать автоматические про­

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


принципиальное их ограничение заключается в том, что они обна­
руживают не все ошибки в анализируемых протоколах. Если при
формальном анализе ошибки в протоколе обнаружены, это означает,
что они в протоколе действительно есть и позволяют противнику
строить соответствующие атаки на протокол. Если же они не обна­
ружены, это еще не значит, что их в протоколе действительно нет.
3. Методы доказательства безопасности. Эта группа методов -
частный случай общего подхода, на котором базируется современ­
ная доказательно безопасная криптография. Напомним) что эта ме­
тодология позволяет, в отличие от двух предыдущих, конструиро­

вать криптографические протоколы с заранее заданными свойствами


безопасности.

Коптрольные вопросы и задачи 1< гл. 2


1. Что понимается под управлением криптографическими клю­
чами? В чем состоят основная цель и задачи управления ключами?
2. Инфраструктура криптоснстем lSЗ
2. Что такое жизненный цикл криптографического ключа? Како­
вы его основные стадии? В каких состояниях пребывают криптогра­
фические ключи за время своего жизненного цикла? При каких ус­
ловиях происходят переходы из одного состояния в другое? В чем
отличия жизненного цикла секретных и открытых ключей?
3. Что понимают под инфраструктурой открытых ключей
(ИОК)? Какова ее логическая и физическая структура? Какие норма­
тивные модели ИОК разработаны международными организациями?
Каковы перспективы практического применения ИОК?
4. Изложите в общих чертах существо метода сертификации ОТ­
крытых ключей. В чем заключаются преимущества и недостатки этого
метода? Какие основные стандарты, описывающие форматы сертифи­
катов и списков аннулированных сертификатов, вам известны?
5. Объясните различие в топологиях сертификации, показанных
на рис.2.7 и 2.8.
6. Каковы особенности российского законодательства в сфере
организации ИОК и регулирования деятельности удостоверяющих
центров?
7. Какие функции может выполнять центр доверия в протоколах
распределения ключей? Приведите примеры.
8. В чем разница между понятиями «способы распространения
ключей» и «протоколы распределения ключей»?
9. Постройте атаку на протокол распределения ключей Denning-
Sacco, приведенный ниже:
(1) А -7 S : А.в,
(2) S -7 А: {B,KB}Ks1 ,{A,KA}Ks 1 ,

(3) А -7 В : {{К, ТА} «: } , {в, к8 } к:'.\ ,{А, КА}к-1


А К/I S
,

где Кх - открытый ключ участника Х, K~l - секретный ключ участ­


ника Х, ТХ - временная метка, полученная с системных часов участ­
ника Х, К - сеансовый ключ, генерируемый участником А. Предло­
жите способ защиты от такой атаки.

10. Как преобразовать протоколы Ингемарсеона - Танга - Вонга


и Бурместера - Десмедта в протоколы аутентичного распределения
ключей?
Глава 3
СИСТЕМЫ ЭЛЕКТРОННЫХ ПЛАТЕЖЕЙ

ОСНОВНЫМ объектом изучения в этой главе являются системы


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

начиная от примеров, удовлетворяющих минимальным требовани­


ям, и заканчивая довольно сложными и совершенными системами.

Характеризуя системы, мы уже не будем подробно останавливаться


на низкоуровневых элементах их криптографических конструкций,
рассмотренных в гл. 1 и 2. Напротив, мы будем использовать их как
«строительные блоки» (модули), из которых сооружаются сложные
конструкции СЭП.

3.1. Классификация и структура СЭП


Проектирование и эксплуатация любых сложных информацион­
ных систем, к которым, безусловно, относятся и системы электрон­
ных платежей, требует определенной научно-методической основы.
Как правило, в целях удобства рассмотрения системы специалиста­
ми различных предметных областей и потребителями приходится
выделять несколько уровней структурирования системы, отличаю­
щихся степенью детализации элементов. Для любой крупной ин­
формационной системы можно отметить как минимум три таких
уровня: операционный (в иностранной литературе часто называемый
также «бизнес-вэгяяд»), системный и технический. Разноуровневые
взгляды отражают различные способы модельного представления
СЭП, которыми мы будем явно или неявно пользоваться в дальней-
3. Системы электронных платежей 155
тем. Введение в рассмотрение моделей сэп позволит нам дать их
классификацию и описать обобщенный интерфейс прикладного про­
граммирования сэп, что позволит уже четко структурировать вход­
ные и выходные данные дЛЯ СЭП, а также выполняемые ими функ­
ции. Помимо основных функций, связанных с обслуживанием де­
нежных потоков, мы сможем определить и функции, которые
потребуется ввести в системы для того, чтобы выполнить необходи­
мые требования по обеспечению их информационной безопасности.

3.1.1. Модельное представление СЭП


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

каналы связи, маршрутизаторы и т. п., говорят О способах организа­


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

На первый план выходят понятия переносимости и способности


к взаимодействию между отдельными элементами системы.
Последовательный переход от одного уровня структуризации к
другому отражает нисходящее движение' в проектировании системы
от общего - определения функционального назначения, требований,
потребительских качеств - к частному - техническому устройству
отдельных ее элементов.
156 Занечников С. В. Крннтографические протоколы и l/X примененив
Вместе с тем при проектировании сложной системы всегда су­
ществует «встречное движение»: от простых составляющих к соби­
ранию из них сложной системы. При разработке средств и систем
криптографической защиты такими составляющими являются от­
дельные методы, алгоритмы и протоколы криптографической защи­
ты, реализованные в тех или иных стандартах и тем самым «адапти­

рованные» для использования в аппаратных и программных продук­

тах, из которых как из модулей строится полнофункциональная


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

дельным информационным ресурсам и функциональности системы.


На операционном уровне выделяются четыре исторически сло­
жившихся типа банковских платежных систем (речь идет не только о
системах электронных платежей, но вообще об организационно­
технических банковских платежных системах): системы наличных пла­
тежей (cash-like), системы платежей по чекам или кредитным картам
(cheque- or credit-card-like), системы денежных переводов (гпопеу­
transfer/remittance-like) и системы с дебетными поручениями (debit
order). Обобщенные модели этих типов банковских систем, показы­
вающие потоки движения денежных средств и банковской докумен­
тации, показаны на рис. 3.1. Следует иметь в виду, что ни одна СЭП
в строгом смысле, конечно же, не является полным аналогом ни од­

ного из перечисленных типов традиционных банковских платежных


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

В любой СЭП всегда можно выделить четыре главных участни­


ка: плательщика А, получателя платежа В, банк плательщика и банк
получателя. Иногда для упрощения схем движения денежных
средств считают, что плательщика и получателя обслуживает один
и тот же банк.
3. Системы электронных платежей 157
Овствмы нвзтчних CrrC11""'" II.гшnr,жеii 11" ·telUlJtl
пятиежей зит l,pemUJIH6UI IШJJIJlitJlI
Банк А Банк В Б:-m: А Банк В

'----т-----J--4:-В~:;;f;;;;G 3. в.;:::;:;.. С
1. Снятие средств 2. Уведомление
со счета З. Депозит 4. Нндикацпя

2. Платеж 1. Платеж

L.....-_---'КmrrаНцпя (товары)
Плательщик А
'--_----J
Попучагель В
'--_--' Квитанция (товары)L.....-_----'
Плательщик.ё Попучагель В

Сиспи ....'.r денежны« lIереводОб СJlсmе..п.r с де6nШ/"f.ifItlIlОР'J'"'Uffl1Nfrtl


ENlКA Банк В Банк А Банк В

2. Перевод 2. Перtl30Д

1. Платежное 4. Протест 1. Дебетнос


поручение
3.IIнднкация поручение
З. Пндикеция
~
-······-------------0
Квпганция
(товары, ус луш)
Квигзнцпя
(товары, услуги]
Плательщик А Получатель В ПЛАТ С ЛЬЩИК А Получатель В

Рис. 3.1. Типы банковских платежных систем

Системы наличных платежей похожи на традиционную сис­


тему эмиссии и обращения реальных наличных денег: монет и банк­
нот. Основные операции в системах наличных платежей таковы:
1. Плательщик А выполняет операцию снятия средств со счета,
в ходе которой он получает наличные деньги от банка, а банк вычи­
тает соответствующую величину со счета плательщика.

2. Плательщик А при покупке товаров или при оплате услуг вру­


чает наличные деньги непосредственно получателю В - так выпол­
няется операция платежа.

3. Получатель В депонирует деньги на свой банковский счет -


это операция депозита.
4. В СЭП (в отличие от традиционного устройства наличных
расчетов) необходимо провести взаиморасчет (или клиринг) между
158 Запечников С. В. Криптографические протоколы 11 'Ц примененив
банками плательщика и получателя, т. е. необходимо некоторое
взаимодействие между двумя банками, в ходе которого приводятся В
соответствие количества реальных и «электронных» денег в каждом

из банков и на каждом из счетов плательщика и получателя.

Системы платежей 110 чекам или кредитным картам функцио­


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

денег.

2. Получатель вручает это свидетельство своему банку (в систе­


мах с кредитными картами эта операция выполняется через специ­

ально вводимого в систему участника, называемого эквайрерому.


3. Банк получателя обращается к банку плательщика и запраши­
вает от него реальные деньги - это операция клиринга.

4. Банк плательщика оповещает плательщика о том, что деньги


действительно были выведены с его счета в соответствии с изъяв­
ленным им желанием.

Системы денежных переводов работают по следующей схеме:


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

та. В такой системе, очевидно, плательщику должно быть разрешено


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

тем - для этого целесообразно обратиться к специальной литературе


по банковскому делу. Однако понимание общего устройства банков­
ских платежных систем позволит в последующем четко формулиро-
3. Системы электронных платежей 159
вать технические требования к СЭП, в том числе и требования по их
защите.

Остается отметить одну характерную особенность любой СЭП,


независимо от ее типа. Во всех этих системах плательщику при не­
обходимости может и должно быть дано такое подтверждение осу­
ществления платежа (квитанция), от которого впоследствии невоз­
можно будет отказаться. Очень желательно, чтобы это подтвержде­
ние можно было получить только честным образом, т. е. плательщик
получал бы квитанцию тогда и только тогда, когда получателю вру­
чены реальные деньги. На самом деле немногие нынешние СЭП
действительно реализуют это свойство. Дело в том, что для этого
требуется решение (опять-таки криптографическими методами) за­
дачи честного обмена цифровыми данными, и в особенности чест­
ного обмена цифровыми подписями. Методологические основы ре­
шения этой задачи были найдены сравнительно недавно и не успели
еще прочно войти в практику создания средств и систем криптогра­
фической защиты. Основные подходы к решению этой задачи,
а также примеры соответствующих криптографических протоколов
и схем будут рассмотрены в разд. 4.3.
3.1.2. Обобщенный интерфейс прикладного
программирования СЭП
Применим теперь построенные выше модели банковских пла­
тежных систем для рассмотрения СЭП. Если посмотреть вниматель­
но на рис. 3.1, можно заметить, что некоторые из стрелок на схемах
представляют потоки реальных денег (при операциях между двумя
обычными банковскими счетами), некоторые - потоки «электрон­
ных денег» (В частности, все операции снятия средств со счета),
а некоторые - просто пересылки обычных сообщений (например,
извещения плательщика о совершенных платежах). Естественно бы­
ло бы задаться вопросом: что из перечисленного следует считать
«деньгами» в СЭП, а что нет? Одна из проблем при создании СЭП
как раз заключается в том, что невозможно дать четкий ответ на по­
ставленный вопрос. Тем более затруднительно было бы в таких ус­
ловиях дать формализованные определения процессов, происходя­
щих в СЭП. в связи с этим желательно иметь более определенный,
технический взгляд на СЭП, по возможности исключив из рассмог-
160 Запечников С. В. Криптографические протоколы и ш: примененив
рения неясные понятия. Лучше опираться только на те понятия) ко­
торые обозначают реально существующие элементы системы или
легко фиксируемые в ней события: например, потоки данных и ко­
манд внутри СЭП, а также между системой и внешней средой.
Перечислим теперь все потоки информации и введем их услов­
ные обозначения. Обобщенная схема входных и выходных потоков
информации в банковских платежных системах изображена на
рис. 3.2. При этом заметим, что компоненты СЭП, представляющие
банки плательщика и получателя, неизбежно связаны с традицион­
ными системами банковских расчетов (реальными, а не «электрон­
ными» деньгами), существовавшими в каждом банке до внедрения
СЭП и не отменяемыми ими. Потоки информации мы будем рас­
сматривать обобщенно, так как индивидуальные транзакции в СЭП
могут быть весьма сложными и состоять из многократного обмена
достаточно большим количеством сообщений.

1- - - --1 БанкА Банк В I - - - - -,


I
: : ТрадuциоииШI. БШlКОiJСКая Традиционная БШlКО6СКШl I 1
1 1 платежная система платежная сиетема 1 1
allow add
subtrac

Система
электронных

платежей

, ... 1 ~~>~, dep~sit ~


._ _- - - J "'-...~ ok
гесегее

ПлательщикА Получатель В

Рис. 3.2. Входные и выходные потоки данных


в банковских платежных системах

Наиболее важными входными потоками данных являются два:


1) команда рау, отдаваемая плательщиком. ПЛательщик автори­
зует СЭП на выполнение определенного платежа;
2) команда alJow, отдаваемая банком плательщика. Банк сигна­
лизирует СЭП, что плательщик имеет у себя на счете достаточно ре-
з. Системы электронных платежей 161
альных денег, чтобы осуществить один или несколько платежей
«электронными» деньгами.

Основными выходными потоками данных являются следующие:


• Сообщение ok для получателя платежа. СЭП подает сигнал по­
лучателю, что он получил деньги, предназначенные ДЛЯ него в

платеже, так что он может положить их на депозит или потра­

тить.

Сообщение subtract для банка плательщика. СЭП индицирует,


что реальные деньги должны быть в самом деле взяты с пла­
тельщика (либо списаны с его счета, либо взяты наличными).
• Сообщение add для банка получателя. СЭП индицирует, что ре­
альные деньги должны быть переданы получателю.

Оставшиеся входы и выходы означают следующее:


• команда receive от получателя полезна, если он не предполагает
принимать любые платежи, в которых деньги переводятся на его
счет (в особенности это относится к системам с автоматической
генерацией подтверждений);
сообщение ok для плательщика индицирует, что начатый им пла­
теж был успешно завершен;
команды withdraw от плательщика и deposit от получателя - это
специфические входы для определенных классов СЭП (преиму­
щественно тех, которые имитируют наличный денежный оборот)
и начинают соответственно транзакции снятия средств со счета

и депонирования денежных средств.

Мы перечислили только те входы и выходы, которые связаны с


основной функциональностью СЭП - осуществлением платежных
операций. В СЭП могут быть и другие потоки информации, необхо­
димые ДЛЯ чисто информационных целей, например для контроля
участников системы за состоянием своих лицевых счетов, для обще­
го администрирования системы, для разрешения конфликтных си­
туаций и т. п.
Совокупность всех входных и выходных потоков данных позво­
ляет сформировать пусть и недостаточно строго описанный, не­
сколько обобщенный, но все же достаточно полный интерфейс nри­
кладного программирования СЭП, который дает понятие о функциях
162 Запечников С. 8. Криптографические протоколы и их примененив
системы и позволяет сформулировать требования к различным ас­
пектам ее построения.

Различные платежные системы, модели которых показаны на


рис. 3.1) могут различаться по порядку, в котором имеют место
входные и выходные команды, в особенности по тому, как они
сгруппированы внутри конкретных транзакций (сиятия со счета,
платежа, депозита). По этому признаку СЭП также можно класси- .
фицировать, выделив несколько типов систем.
Первый тип - системы с неотложным выполнением платежей
(pay-now systems). Они имеют только одну транзакцию по пересыл­
ке денег, а именно собственно платеж, который начинается при по­
даче команд рау, receive, allow от трех соответствующих участни­
ков и завершается выработкой четырех сообщений: subtract, add
для двух банков и команд ok для плательщика и получателя. При
этом предполагается, что все входы являются совместными. Приме­
ром таких систем является подкласс чековых систем, где зквайрер
немедленно передает информацию банку.
Существуют также системы с задержкой перевода платежей,
где расчет с банком задерживается относительно платежа, причем
выделяются СЭП с резервированием (reservation systems) и СЭП с
отложенным платежом (pay-later systems). В первом случае, при
резервировании, команда allow уже имела место при выполнении
транзакции платежа и деньги временно зарезервированы для опре­

деленного получателя, т. е. сообщение subtract уже появилось. То­


гда нет необходимости ждать с депозитом, если у получателя суще­
ствует соединение с банком в режиме реального времени. Во втором
случае команда allow имеет место только во время депозита. К это­
му классу относятся, например) стандартные платежные системы с

кредитными картами. Применительно к СЭП системы с неотложным


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

Наконец. системы с предоплатой (pre-paicl. stored-value systems)-


ЭТО такие системы, в которых есть специфическаятранзакция снятия
со счета (withdrawal). Она обязательно имеет вход withdraw, кото­
рый не специфицирует получателя и приводит К выходным сообще­
ниям subtract и ok. Платежная транзакция имеет два обязательных
3. Системы электронных платежей 163
входа: рау и receive. Системы с предоплатой широко распростране­
ны в силу удобства как для плательщиков, так и для получателей.
Плательщик в любой момент времени может быть уверен, что его
расходы не превысят запланированной величины, а получатель име­
ет в своем распоряжении деньги раньше, нежели предоставлена сама

оплаченная услуга. Такие системы далее подразделяются на систе­


мы с немедленным депозитом (аерови-поуг systems) и системы с от­
ложенным депозитом (deposit-later systems).
В системах с немедленным депозитом сама платежная транзак­
ция уже производит выходы add и ok. Примером такой системы яв­
ляется оплата телефонных переговоров с ПОМОЩЬЮ специальных те­
лефонных карт, где телефон выступает в роли получателя платежа,
а телефонная компания - в роли банка получателя.
В системах с отложенным депозитом платежная транзакция про­
изводит только выходы ok для плательщика и получателя, но не
производит сообщение add для банка получателя. Для этого сущест­
вует отдельная транзакция депозита, которая запускается командой
получателя deposit и приводит К получению выхода add для банка
получателя, а также выхода ok для самого получателя. Примером
такой организации расчетов является получение денег по чеку.
В системах, где имеют место транзакции снятия со счета и депо­
зита, суммы денежных средств в «электронных деньгах» могут быть
практически неограниченными, т. е. так же, как и при наличных рас­

четах, они могут сниматься со счета сразу для множества платежей.


Банки при этом не несут финансовых потерь в случае компромета­
ции участников, а общее количество денег в СЭП в случае предна­
меренного сговора участников увеличиться не может.

3.1.3. Потребительские качества СЭП


На практике СЭП подразделяют по среде функционирования на
системы платежей через магазины (где покупатель приобретает
товар лично) и системы платежей через Интернет (где покупатель
оплачивает товар заочно), а по коммуникационным возможностям -
на системы, работающие в режиме реального времени (оп-Ипс),
и системы, работающие в отложенном, или автономном, режиме
(ojJ-linе). Различия систем обусловливают специфические меры за-
164 Запечников С. В. Криптографические протоколы 11 их примененив
ЩИТЫ каждого типа СЭП, поэтому их необходимо рассмотреть
в первую очередь.

Нынешние СЭП предполагают, что плательщики имеют либо


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

щью пластиковых карт, а позже появилась возможность оплачивать

товары и услуги в режиме удаленного доступа через сеть Интернет.


Принципиальным отличием ИК от персонапьного компьютера явля­
ется предположение, что ИК защищены не только от посторонних
лиц, но даже и от СВОИХ владельцев. Очевидно, в СЭП высокой сте­
пени защищенности, как и в любой другой криптосистеме, следует
полагать, что все технические средства безопасны, по крайней мере
для своих пользователей (владельцев). Однако это предположение
неверно в настоящее время в полной мере ни дЛЯ ИК, ни для персо­
нальных компьютеров, поэтому для ограничения возможного ущер­

ба в случае нарушения безопасности СЭП нужно либо ограничивать


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

земном транспорте.

ДЛЯ СЭП, работающих в автономном режиме, существует одна


фундаментальная проблема: может ли СЭП дать получателю заклю­
чительный, неотзываемый выход ok для платежа, осуществленного
З. Системы электронных платежей 165
в такой системе? Этот вопрос предполагает, что банк плательщика в
некоторый момент времени подал СЭП команду allow. Очевидно,
что для того, чтобы автономная система могла выдать сообщение ok
уже во время платежа, она должна быть системой с предоплатой. Но
даже тогда в любой СЭП дЛЯ плательщика сохранялась бы принци­
пиальная возможность делать резервную копию всех данных своей
системы перед каждым очередным платежом, а после платежа «от­

катывать» свою систему в предыдущее состояние, пользуясь этой


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

произвольное число платежей различным получателям одними и те­


ми же «электронными деньгами». Эта проблема (которая, очевидно,
не существует в традиционных банковских платежных системах)
получила название проблемы повторной траты монеты (double-
spell{ling problem).
Есть три вида решений этой проблемы:
1. Осуществление платежей в реальном масштабе времени.
Получатель платежа нуждается в гарантии от банка плательщика,
что заплаченные ему деньги - «новые». Такое сообщение физически
может быть передано получателю двумя путями: либо через пла­
тельщика (с подтверждением «свежести» каким-либо образом), либо
через банк получателя. Вдобавок банку плательщика необходимо
знать, что плательщик в самом деле хочет заплатить именно этому

получателю, и опять сообщение может быть послано одним из двух


путей. Однако выполнение обеих пересылок сразу в реальном мас­
штабе времени далеко не всегда оказывается возможным, поэтому
приходится применять другие меры борьбы с повторной тратой мо­
неты.

2. Предотвращение (физическая невозможность) повторной


траты монеты. Эту меру защиты возможно реализовать, если соз­
дать такое устройство плательщика, которое предотвращает возврат
в предыдущее состояние (т. е. в то состояние, в котором оно было до
начала выполнения платежа). Предполагается, что нынешние ИК
как раз и обеспечивают выполнение этого требования, но, конечно,
ни одно средство защиты нельзя считать абсолютно совершенным.
166 Запечников С. В. Криптографические протоколы IIllX примененив
3. Обнаружение повторной траты монеты и наказание винов­
ных лиц. Другая возможность избегать повторной траты монеты -
использовать организационно-правовые меры защиты (разумеется,
также с опорой на технические средства защиты) - полагаться на
последующее обнаружение и наказание лиц, виноватых в повторной
трате «электронных денег». Это может быть сделано даже в ано­
нимных платежных системах: известны приемы, позволяющие реа­

лизовать такие системы, в которых анонимность автоматически те­

ряется для денег, потраченных повторно. Однако в любом случае


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

Поскольку обе последние меры несовершенны, на практике их


полезно так или иначе комбинировать.
Кроме названного главного качества - предотвращения повтор­
ной траты монеты часто принимают во внимание и другие функцио­
нальные свойства системы:
• универсальность - способность одной системы выполнять раз­
личные виды платежей и расчетов;
открытость - возможность всех потенциальных плательщиков

и получателей принимать участие в работе системы;


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

Перечисленные дополнительные функциональные свойства, по-


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

гого платежа в качестве плательщика без необходимости класть их


на депозит в свой банк, а потом снова снимать со счета. Это свойст-
3. Системы электронных платежей 167
во, очевидное для обычных наличных денег, далеко не всегда вы­
полняется в СЭП, и его часто трудно бывает реализовать технически
при условии обеспечения безопасности информации в системе.

3.1.4. Цели обеспечения безопасности информации в СЭП


В самом общем виде цель обеспечения безопасности СЭП мож­
но сформулировать как достижение многосторонней безопасности
(multi-party security), Т. е. учет всего множества требований по безо­
пасности каждого участника и невозможность требовать никаких
дополнительных гарантий доверия, кроме заранее установленных.
Говоря более конкретно, в информационной безопасности СЭП
можно выделить три традиционные составляющие: доступность, це­

лостность, конфиденциальность. Существенно, что приоритетность


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

Итак, основное требование целостности заключается в том, что­


бы никто из участников системы не нес финансовых потерь и в то
же время каждый мог бы осуществлять все необходимые ему фи­
нансовые операции. Участники должны иметь возможность точно
специфицировать получателей всех платежей. Кроме того, в систе­
мах, где повторная трата монеты обнаруживается постфактум, банк
требует гарантированное обнаружение повторной траты и иденти­
фикацию виновного в этой трате клиента системы.
Очень важным требованием к безопасности СЭП является воз­
можность корректного и недвусмысленного разрешения конфликт­
ных ситуаций (диспутов), которые могут возникать между участни­
ками системы. Конфликты могут касаться самих фактов требования
168 Запечников С. В. Криптографические llроmоколы и их примененив
участниками системы выполнения тех или иных операций, а также
состояния их лицевых счетов.

Технически оптимальной моделью доверия для каждого из этих


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

Принципиальное ограничение в обеспечении конфиденциально­


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

ков, но иногда и получателей платежей.


Для решения первой задачи - обеспечения конфиденциальности
от внешних субъектов - применяются стандартные методы шифро­
вания. Следовательно, они не зависят от СЭП как таковой. В частно­
сти, СЭП использует, как правило, уже готовый защищенный канал
на базе стандартного протокола (SSL, TLS и др.), который приме­
нялся до совершения транзакции платежа, например еще при заказе

товаров через «электронные магазины». Это необходимо еще и по­


тому, что конфиденциальность должна быть обеспечена единым об­
разом при всех действиях клиентов системы. Протокол электронных
платежей в этом случае просто будет работать «поверх» протокола,
образующего защищенный канал.
З. Системы электронных платежей 169
Задача обеспечения анонимности участников СЭП в каждом
конкретном случае может быть сформулирована по-разному. Крите­
рии классификации анонимности участников СЭП и соответствую­
щие им различные степени анонимности удобно сформулировать
в виде своеобразных вопросов и ответов.
Кто является анонимным? В большинстве случаев требуется
только анонимность плательщика, но технически СЭП можно по­
строить так, чтобы в ней обеспечивалась анонимность получателя
или сразу обоих названных участников.
В каких действиях проявляется анонимность? Обычно пла­
тельщики анонимны только в платежах, но не при снятии «элек­

тронных» денег со счета. Другими словами, в большинстве случаев


предполагается применение обычных, неанонимных счетов, с кото­
рых должны сниматься «электронные» деньги, и только после этого

их использование становится анонимным. Технически возможно


сделать анонимными и банковские счета или даже построить ано­
нимную СЭП вообще без банковских счетов.
Относительно каких других действий достигается анОНим­
ность? Выделяют две степени анонимности: анонимность без неот­
слеживаемости и анонимность с неотслсживаемостыо.

В первом случае каждое действие участника СЭП анонимно, но


между ними про слеживается связь, т. е. сторонний наблюдатель мо­
жет определить, что несколько действий были сделаны одной и той
же персаной. С этой проблемой тесно связана проблема реиденти­
фикации участников системы: система построена технически верно
и: обеспечивает анонимность ее участников, но тем не менее неот­
слеживаемость теряется из-за того, что действия участников могут
быть связаны между собой по каким-либо посторонним, косвенным
признакам. К примеру, телефонная компания может «вычислить»
своего анонимного абонента по номерам сделанных им телефонных
звонков.

Во втором случае достигается реальная анонимность, т. е. участ­


ники системы анонимны, и между действиями каждого отдельно
взятого участника нет логической связи, позволяющей установить
принадлежность этих действий одному и тому же, пусть и аноним­
ному участнику.
170 Запечкиков С. В. Криптографические протоколы 11 IIX применение
Для достижения свойства неотслеживаемости часто использу­
ется простой подход заключающийся в том, что каждому участнику
системы присваивается псевдоним, который остается действитель­
ным либо в течение одной транзакции, либо в течение всего времени
его участия в работе СЭП.
От кого обеспечивается анонимность участников? По этому
критерию можно выделить три степени анонимности: реальную ано­

нимность, одностороннюю анонимность и k-из-n-стороннюю ано­


нимность.

Самая высокая степень анонимности - реальная анонимность -


подразумевает анонимность участника СЭП от всех без исключения
остальных участников, даже если они кооперируются для получения

информации о нем. Это похоже на анонимность, которую дают


реальные деньги их обладателю.
Более низкая степень анонимности - только односторонняя ано­
нимность, т. е. анонимность одного участника двустороннего прото­

кола по отношению к другому участнику. В платеже это, к примеру,


означает, что он является анонимным только либо от получателя,
либо от банков (если они не кооперируются).
Наконец, k-из-n-сторонняя анонимность подразумевает, что
в системе есть несколько центральных сторон, причем, если k из них
скооперируются (образуют коалицию), они могут идентифицировать
анонимного участника. Это свойство анонимности в некотором роде
подобно свойству конфиденциальности разделенного секрета, дос­
тигаемого в схемах разделения секрета.

Между сколькими лицами скрывается анонимный участник


системы? Очевидно, чем больше группа участников, среди которых
скрывается анонимный участник) тем лучше. Если множество лиц,
которые потенциально могли бы выполнить ТО же самое действие,
становится слишком малой, возрастает риск реидентификации. То­
гда увеличивается и риск применения санкций ко всей группе уча­
стников СЭП за какое-либо действие, проведенное одним «подозре­
ваемым» из этой группы. Идеальным вариантом была бы аноним­
ность среди всех клиентов СЭП либо среди всех клиентов банка.
Однако в реальных СЭП анонимность чаще всего можно достичь
только среди всех участников СЭП, снявших со счета монеты одно­
го номинала либо выполнивших платежи в определенный промежу­
ток времени.
3. Системы электронных платежей 171
3.2. Неанонимные СЭП, работающие
в реальном масштабе времени
Начнем теперь рассматривать конкретные классы СЭП, опираясь
на выдвинугые ранее критерии их классификации. Как уже было оп­
ределено, основные технические сложности при построении СЭП -
достижение анонимности участников и реализация СЭП, работаю­
щих в автономном режиме, т. е. таких систем, участники которых не

имеют доступа к каналам связи реального масштаба времени. Есте­


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

3.2.1. Системы без криптографической защиты


Некоторые электронные платежные системы не используют ни­
какой криптографической защиты вообще. Плательщик при выпол­
нении платежа просто посылает получателю в открытом виде номер

своей кредитной карты. Это безопасно для плательщика (пока кто-то


другой не умеет подделывать его собственноручную подпись), хотя
полностью небезопасно с точки зрения криптографии.
Такого рода система платежей является «электронным» анало­
гом так называемых МОТО-транзакций (maiI order/transfer order), где
покупатель заранее уведомляет продавца о желании приобрести тот
или иной товар (услугу), но предполагаемый получатель платежа не
172 Запечников С. В. Криптографические протоколы и I/X применение
имеет подписи плательщика,т. е. клиент может отказаться от предъ­

являемого ему при поставке товара счета. Это условие вполне ло­
гично, так как получатель не имеет никаких реальных свидетельств

того, что плательщикдействительножелает заплатить ему деньги.


В некоторых, не очень ответственныхслучаях использованиета­
ких платежных систем вполнедопустимо,например для магазинов,

продающих книги в малых количествах физическимлицам с достав­


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

давцом за счет повышения цен на свои товары.

Примером такой системы является система платежей в сети ИН­


тернет First Virtual.
3.2.2. Системы с защищенными
симметричными каналами

Другой возможный вариант построения простой СЭП - проведение


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

По этому принципу работает большинство локальных платеж­


ных систем и «электронных магазинов», действующих в сети ИН­
тернет.

3.2.3. Системы с симметричной аутентификацией


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

метричные методы аутентификации - генерация хеш-кодов при по­


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

общений, для генерации которых используются общие секретные


ключи, которые имеет каждая пара участников системы.

Например, перевод денег со счета на счет между банками может


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

Примером такой СЭП являлась первоначальная версия СЭП


NetBill, но новые версии этой СЭП стали использовать для аУТеНТИ­
фикации сообщений цифровую подпись.

3.2.4. Системы с аутентификацией


посредством цифровой подписи

СЭП с аутентификацией сообщений посредством цифровой под­


писи открывают широкие возможности для построения аналогов

традиционных банковских систем: чековых, систем денежных пере­


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

Выделяют три области применения СЭП с аутентификацией по­


средством цифровой подписи:
1.Домашнее банковское обслуживание. Такие СЭП имитируют
традиционные технологии банковского обслуживания физических
лиц, включая открытие счетов, перевод денежных средств, платеж­

ные поручения и пр. Благодаря использованию сети Интернет бан­


ковское обслуживание становится доступно для клиентов системы,
находящихея дома или на работе. Очевидно" что все пересылки со­
общений должны защищаться криптографическими методами. В ка-
174 Запечников С. В. Криптографические протоколы и их применение
чест.ве примера можно назвать немецкий стандарт НЕС! (Ноте
Banking Computer Interface).
2. Системы с защищенными кредитными картами. Такие сис­
темы получили в настоящее время, пожалуй, наибольшее распро­
странение. СЭП строится как комплекс прикладных программ на ба­
зе одной из спецификаций защищенных протоколов электронных
платежей: CyberCash, iKP (фирмы IВМ), а чаще всего на базе специ­
фикации SET (Secure Electronic Transactions).
3. Чековые системы. С точки зрения криптографии такие СЭП
не имеют реальных отличий от систем с кредитными картами - раз­
личия заключаются только в самой банковской технологии. В каче­
стве примера чековой системы с аутентификацией посредством
цифровой подписи можно упомянуть американскую FSTC (Financial
Services Technology Consortium).
Остановимся более подробно на спецификации SЕт. Она была
разработана как компромисс между множеством протоколов элек­
тронных платежей, сконструированных отдельными фирмами (Су­
berCash, iKP, SEPP, STT), а потому получилась довольно сложной и
объемной. Сейчас она стала стандартом де-факто для банковских
платежных систем, обслуживающих кредитные карты. В качестве
технического средства реализации кредитных карт избираются либо
карты с магнитной полосой, либо (и чаще всего) ИК.
Спецификация SEТ (Secure Electronic Transactions) - результат
совместных усилий двух крупнейших международных систем бан­
ковских платежей: MasterCard Intemational и VISA International -
с целью создания единой системы электронных платежей по кре­
дитным картам. До разработки SET каждая из двух организаций
выдвигала свой собственный протокол электронных платежей и ка­
ждая заручилась для этого поддержкой множества коммуникацион­
ных компаний и фирм-производителей компьютерной техники. Сей­
час большинство участников рынка информационных технологий
отдает предпочтение именно SET, и среди них такие крупнейшие
корпорации, как ШМ, Мicrosoft, Netscape, ОТЕ и др.
SET включает три тома общим объемом более 1 000 страниц:
бизнес-руководство, техническое руководство, руководство про­
граммиста. В ней описана модель взаимодействия участников сис­
темы электронных платежей, а также протоколы обмена данными,
З. Системы электронных платежей 175
форматы данных, порядок применения криптографических алгорит­
мов, применение ИОК для управления открытыми ключами. SET
использует схему открытого шифрования RSA-OAEP.
Рассмотрим в общем виде основные компоненты и процессы,
изложенные в этой спецификации (ДЛЯ краткости мы ограничимся
их качественным описанием). В SET определяются основные участ­
ники СЭП.
Продавец (текспат} - любое лицо, продающее товары, инфор­
мацию или оказывающее услуги.

Эквайрер (acquirer) - организация, которая обслуживает кредит­


ные карты и следит за финансовыми потоками: известными приме­
рами таких организаций являются MasterCard, EuroPay, VISA.
Эмитент (issuer) - организация, выпускающая в обращение
кредитные карты и передающая их покупателям: обычно это банк
или другое подобное кредитно-финансовое учреждение.
Держатель карты (cardhо lder ) - всякое лицо, получившее кре­
дитную карту от эмитента и использующее ее для совершения поку­

пок в магазинах либо через веб-сервис сети Интернет. В качестве


кредитной карты чаще всего используется карта с магнитной поло­
сой либо ИК.
Платежный шлюз эквайрера (асаиие» payment gateway) - ком­
понент системы, обеспечивающий интерфейс между продавцом и
банковской информационной системой, используемой эквайрером
и эмитентом. Важно помнить, что эта система, как правило, уже су­
ществует к моменту внедрения СЭП на базе SET. Платежный шлюз
эквайрера обеспечивает хорошо определенный защищенный интер­
фейс, отделяющий эту сеть от сети Интернет. Шлюзы будут выпол­
нять операции от лица эквайреров, но они могут обеспечиваться
и сторонними организациями, например интернет-провайдерами,
Удостоверяющий центр (certificate authority). Спецификация
SET предполагает использование асимметричных криптосхем, сле­
довательно, каждый элемент системы нуждается в одном или не­
скольких сертификатах открытых ключей.
Спецификация SET описывает множество транзакций для вы­
полнения операций покупки товара, аутентификации держателя кар­
ты, «отката» платежа и др, На рис. 3.3 показаны транзакции, состав­
ляющие типовую операцию приобретения держателем карты товара
или услуги у продавца, причем каждая транзакция составлена из па­
ры сообщений (запроса и ответа).
176 Запечников С. В. Криптографические протоколы и IIX примеиение

ДСllЖaТСЛЬь:apTы I I Продавец I I Шлю'3 ЭКВ:lЙрс:ра


,
PlnitReq j
>i
1 PlnitRes
PReq

~I-----,--+-!
2 j

3
!i
I
;
;
!
AutllReq

AtlthRes
:1
PRes !<
i-< InqReq
!
4 InqRes

1. Инициализация (Plnit). Эта транзакция инициализирует систе­


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

Точнее говоря, он теперь знает, что запрос исходит от компьютера,


где была инсталлирована и стала доступна ключевая система держа­
теля карты. Но это не гарантирует, что компьютером не овладел
злоумышленник, узнавший пароль для доступа к ключевой системе.
2. Покупательский ордер (purchase order) - это собственно за­
прос держателя карты на покупку какого-либо товара либо услуги.
Запрос на самом деле состоит из совокупности двух сообщений: ор­
дерной команды (О!), которая посылается в открытом виде продав­
цу, и покупательской команды (Р!), которую покупатель передает на
платежный шлюз эквайрера. Р/ зашифровывается с помощью от­
крытого ключа эквайрера, так что продавец не может ее про читать.
3. Системы электронных платежей 177
Продавец просто хранит это сообщение для дальнейшей передачи
эквайреру. РI включает в себя хеш-код 01, так что два сообщения
могут восприниматься только в паре. Заметим, что номер кредитной
карты помещается только в PI. Это означает, что продавец никогда
не получает к нему доступа, предотвращая таким образом злоумыш­
ленных пользователей от попыток сбора информации о кредитных
картах. РI предполагает ответ на нее, который обычно отправляется
после получения подтверждения от эквайрера. Однако продавец
может завершить транзакцию с держателем карты до выполнения

авторизации. В этом случае он выдает уведомление, что запрос при­


нят, но находится в ожидании авторизации.

3. Авторизация (аитопгаиоп). В этой транзакции продавец запра­


шивает у эквайрера через платежный шлюз авторизацию запроса. Со­
общение включает описание покупки и информацию о ее стоимости,
а таюке Р1 из покупательского ордера, который был сгенерирован дер­
жателем карты. Таким образом, эквайрер знает, что и продавец, и дер­
жатель карты согласовали вид и стоимость приобретаемого товара. Ко­
гда эквайрер получает запрос, он использует существующую банков­
скую информационную систему для того, чтобы авторизовать запрос и
послать обратно соответствующий ответ.
4. Справка (таий-у). Держатель карты может пожелать узнать
ход выполнения его запроса. Для этой цели спецификацией SET
предусмотрена особая справочная транзакция.
5. Утверждение (Саргиге): До начала этой транзакции никакого
движения реальных денег еще не происходило. Запрос на утвержде­
ние покупки от продавца требует от эквайрера осуществить предва­
рительно авторизованный перевод реальных денег на его счет. На
практике эта транзакция может быть внедрена как часть транзакции
авторизации (этап 3). Однако есть и такие ситуации, в которых про­
давец может пожелать задержать утверждение транзакции по срав­

нению с авторизацией. Например, большинство продавцов, прини­


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

Спецификация SET рассчитана на крупномасштабную реализа­


цИЮ СЭП. Предполагается, что в ней будут участвовать сотни тысяч
178 Запечников С. В. Криптографические протоколы 11 их примененив
лиц по всему миру. Потенциально каждый из НИХ мог бы иметь по
меньшей мере один сертификат открытого ключа. В то же время на
практике криптографические протоколы вынуждают участников
системы в некоторых случаях иметь множество сертификатов. На­
пример, платежным шлюзам эквайреров необходимы два сертифи­
ката: один для подписания сообщений и один ДЛЯ их шифрования.
Управление ключами в такой глобальной информационной системе
требует развертывания иерархической модели сертификации откры­
тых ключей, что показано на рис. 3.4.

Корневой удосговеряющцй
центр

Держ.Пe.JПlклрr Продавцы Шлюзы эквяйреров

Рис. 3.4. Иерархическая модель сертификации открытых ключей


согласно спецификации ВЕТ

На вершине иерархии находится корневой удостоверяющий


центр (УЦ), работающий в автономном режиме, так как для него не­
обходимы крайне высокие меры безопасности, ибо в случае его
компрометации происходит утрата безопасности всей глобальной
СЭП. Доступ к его секретному ключу возможен в единственном
случае: при введении в СЭП новой международной системы плате­
жей по кредитным картам (что, очевидно, случается крайне редко).
Для следующего уровня иерархии - уровня удостоверяющих цен­
тров платежных систем - также требуется очень высокая степень
З. Системы электронных платежей 179
стойкости, но они администрируются независимо каждой междуна­
родной системой платежей по кредитным картам.
Таким образом, для каждой отдельной платежной системы появ­
ляется возможность проводить собственную операционную полити­
ку, и в том числе политику безопасности. Можно, например, в рам­
ках системы выделять удостоверяющие центры по региональному

или государственному признаку. Эти центры образуют следующий


уровень иерархии. На самом нижнем уровне находятся те удостове­
ряющие центры, которые сертифицируют открытые ключи держате­
лей карт, продавцов и платежных шлюзов эквайреров.
Спецификацией SET для держателей карт и продавцов преду­
смотрены протоколы запроса сертификатов в режиме реального
времени. Важно, чтобы этот процесс был максимально простым, ибо
SET ориентируется на то, чтобы держатели карт имели свои собст­
венные сертификаты открытых ключей и могли совершать покупки
через веб-сервис сети Интернет, используя механизм запроса серти­
фикатов, реализованный в ПО веб-браузера.
Конечно, если система позволяет легко создавать сертификаты,
она должна давать возможность и легко аннулировать их при необ­
ходимости. Для этой цели в SET предусмотрены протоколы обнов­
ления и аннулирования сертификатов. Несмотря на то что механизм
запроса сертификатов может быть довольно простым, тем не менее
он требует от пользователей некоторого понимания общих принци­
пов его функционирования. Например, очевидно, что держателю
карты следует уведомить кредито-финансовое учреждение, обслу­
живающее его кредитную карту, об утрате самой карты. Менее оче­
видно, что он также должен уведомить его и о краже своего компь­

ютера либо о факте несанкционированного доступа к его ресурсам.


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

3.2.5. Микронлатежи
Весьма интересен специальный случай СЭП - системы микро­
платежей. Микроплатежи (В узком смысле) - более эффективная
форма платежей для специального случая, где один и тот же пла­
тельщик делает много следующих друг за другом платежей на не-
180 Запечников С. В. Криптографические протоколы II их примененив
большую, чаще всего фиксированную сумму одному и тому же по­
лучателю. Реальными примерами микроплатежей являются поми­
нутная или посекундная оплата телефонных разговоров по мобиль­
ному телефону или карточному таксофону. Можно представить си­
туацию, когда интернет-провайдер взимает со своих клиентов
некоторую небольшую фиксированную плату за просмотр каждой
.отдельной веб-страницы или за передачу каждого блока данных
фиксированного размера.
Рассмотрим модельную систему микроплатежей, построенную
по чековому принципу. Идея, заложенная в ее основу, во многом
подобна идее схемы Лампорта для одноразовых пар олей, рассмот­
ренной в подразд.1.4.1, и заключается в следующем. Все важные
параметры микроплатежей устанавливаются в первом же сообще­
нии, передаваемом от плательщика к получателю платежа, которое

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


Все последующие сообщения от плательщика к получателю интер­
претируются как подписанные плательщиком документы, свиде­

тельствующие о его желании заплатить очередную фиксированную


единицу оплаты за оказанную ему услугу или израсходованный ре­
сурс (например, за очередную минуту или секунду телефонного раз­
говора). В рассматриваемом примере для этого используется цепоч­
ка значений однонаправленной функции.
Первое сообщение от плательщика А к получателю В имеет сле­
дующий формат:
Sig skл (prot, tr setup - msg ", зеапо, В, рпсе - per - ипи, pkrJ1(lill) '

где skA - секретный ключ цифровой подписи участника А; prot - имя


этого протокола платежей; «setup-msg» - идентификатор, показы­
вающий, что это первое сообщение в протоколе; seqno - порядковый
номер, позволяющий избежать повтора сообщений; В - идентифика­
тор получателя платежа; рпсе-рез-ипй - цена за единицу платежа
(например, цена за минуту или секунду телефонного разговора;
pkch(ljll - новый сеансовый открытый ключ протокола платежей (кот­
крытый ключ цепи»).
Ключ pkclwill формируется следующим образом. Пусть f- одно­
направленная функция: лучше всего, чтобы это была однонаправ­
ленная перестановка, но практически может быть однонаправленная
3. Системы электронных платежей 181
функция вида f: k ~ DES(k,mo) , где то - фиксированное сообще­

ние. Функция f фиксирована для протокола; {о, 1}'- пространство


сообщений для фиксированного параметра безопасности [. Тогда

sk A E R {o,l}', а рkсlшifl::: fX(sk), где х - максимально ожидаемое


число единиц оплаты (например, количество предварительно опла­
ченных клиентом минут разговора по телефону).
Далее ДЛЯ каждой единицы платежа (например, по истечении
очередной минуты телефонного разговора) плательщик просто по­
сылает получателю платежа очередной про образ из цепочки значе­
ний однонаправленной функции (рис. 3.5). Для этого плательщик
должен хранить у себя значение счетчика i, установленного в О пе­
ред началом протокола и увеличивающееся на единицу при каждом

очередном микроплатеже. Тогда в i-M микроплатеже он пересылает


получателю величину sigi ::: fX-i (sk).
Счетчик: х /---,j+~ i~i-;/---, 1 ~ О

skO О 0JSig/~:Sk) О 0j:::


о о о о о о
'-'---1'f ~ ~ ' -, _--1f ~ ?
Sig,; Si~+1 Sigt Sig;-l f(Si& )=Sig,_l
Рис. 3.5. Вычисление значений однонаправленной функции
и их проверка в системе микронлатежей

Чтобы избежать повторного вычисления этой величины из skл


в каждом микроплатеже, плательщик может поступить одним ИЗ

двух способов. Он может хранить полную цепочку всех образов од­


нонаправленной ФУНКЦИИ, но для этого потребуется большой объем
памяти. Другой способ - хранить, например, каждое десятое значе­
ние из цепочки, и тогда в каждом микроплатеже ему придется вы­

числять остаток цепочки от последнего сохраненного значения до


182 Запечников С. В. Криптографические протоколы u их примененив
значения, соответствующего текущему значению функции. Очевид­
но, что тогда эта цепочка будет иметь длину не более девяти.
Получатель платежа всегда должен хранить предыдущий прооб­
раз Sig"_I' присланный ему плательщиком. В следующем микропла­
теже он получает следующий прообраз Sig,. из цепочки и проверяет
его, используя предыдущий прообраз, следующим образом:
'1

f(Sigi)~Sigi_l'

3.3. Неанонимные автономные СЭП


Как отмечалось выше, основная техническая проблема в авто­
номных платежных системах заключается в предотвращении либо
обнаружении повторной траты «электронной монеты». Обычно не­
анонимные автономные СЭП дЛЯ преодоления этой сложности ис­
пользуют взломозащищенные пользовательские устройства (напри­
мер, ИК). Тогда «электронные деньги» на пользовательских устрой­
ствах не нуждаются в сложных способах представления - вместо
этого на защищенном устройстве просто может содержаться балан­
совая величина счета клиента. Устройство похоже на своеобразный
«карманный баню>, ведущий один электронный счет и заботящийся
о том, чтобы со счетом выполнялись только разрешенные операции.
Кроме физической защищенности, устройства нуждаются в реализа­
ции определенных криптографических механизмов защиты, которые
будут рассмотрены далее.
Основной недостаток такого подхода состоит в том, что заяв­
ляемый производителем аппаратуры уровень защищенности уст­
ройств, как правило, очень сомнителен для потребителей. Другая
проблема заключается в том, что две различные стороны - пользова­
тель и банк - должны доверять одному и тому же устройству. Но
банк заинтересован в том, чтобы конструкция устройств была мак­
симально засекречена, а пользователь - в том, чтобы она была опуб­
ликована и публично проверяема.

3.3.1. Системы на основе цифровой подписи


Простейший путь реализовать неанонимные автономные СЭП -
использовать схемы цифровой подписи. Для каждого защищенного
устройства D плательщика генерируется пара ключей (skо» pk D ) •
З. Системы злектронных платежей 183
Банк выдает атрибутный сертификат Сеп; для каждого pkn с атрибу­
том, подтверждающим, что данное защищенное устройство выдано
банком: «this is опе 01 ту secure devices». Для операций в автоном­
ном режиме каждое устройство содержит свой собственный серти­
фикат. Баланс устройства ba1n изначально устанавливается в О. Кро­
ме того, на устройство записывается идентификатор обслуживаю­
щего его банка и сертификат открытого ключа банка. Сертификаты
открытых ключей устройств и банка подписываются специально
создаваемым в СЭП удостоверяющим центром либо самим банком.
Таким образом, при инициализации на каждое устройство пла­
тельщика записываются следующие данные:

D ~ ф, sk D, pk D, сепь, balD: =О, В, Сегь).


Пополнение счета выполняется таким образом: устройство кли­
ента системы получает подписанное сообщение тО) от банка о том,
что он готов увеличить его баланс. Важно обеспечить «свежесть»
сообщения, например, присваивая ему порядковый номер:
m(l) = Sig .rk (ttinc,-ease"
n\. , D , N В' х) ,

где sk B - секретный ключ банка; «increase» - идентификатор, пока­


зывающий, что это команда на пополнение счета; D- идентифика­
тор устройства плательщика; NB - порядковый номер, позволяющий
избежать повтора сообщений; х - сумма, на которую требуется уве­
личить баланс устройства.
Для выполнения платежа с устройства плательщика Р на уст­
ройство получателя R пересылается сообщение m(2) специального
формата, содержащее в том числе сумму платежа х и атрибутный
сертификат устройства плательщика, выданный ему банком. Но для
обеспечения «свежести» сообщения получатель должен предвари­
тельно сгенерировать и переслать плательщику уникальный номер
платежнойтранзакциивместе со своим идентификатором.Перед от­
правкой m(2) устройство плательщика Р уменьшает свой баланс на
величинух. После получения m(2) устройствополучателя R увеличи­
вает свой баланс на ту же величину. Это должно происходить имен­
но в таком порядке. В противном случае плательщик и получатель
могли бы преднамеренно «потерять» сообщение т(2), чтобы увели­
чить свой суммарный баланс на величину х. Таким образом, прото-
184 Запечников С. В. Криптографические протоколы 11 их применение
кол, выполняемый Р и R в транзакции платежа, выглядит следую­
щим образом:
(1) R -7 Р : R, N R ,
=
(2) Р : balp: balp - х,
(3) Р -7 к . m(2) = [Sig Jk/, (" pay",P,R,NR,x),Certp J.
(4) R : balR: = balR - х.
Мы не затрагиваем здесь вопросы предоставления квитанций
и разрешения конфликтных ситуаций между участниками СЭП.
Рассмотренная система относится к классу СЭП с предоплатой, с
отложенным депозитом. Она обладает свойством переводимости де­
нежных средств, т. е. одни и те же устройства, выдаваемые клиентам
системы, могут быть использованы и для оплаты, и для получения
платежей и получаемые деньги могут добавляться на тот же самый
счет, с которого выполняется оплата.

3.3.2. Системы с симметричной аутентификацией


На практике неанонимные автономные СЭП на основе цифровой
подписи еще не получили широкого распространения. Вместо этого
используются системы, реализующие симметричные криптосхемы.

Это ведет к техническим проблемам, связанным с распространением


секретных симметричных ключей. Возможны три подхода к распро­
странению ключей:
1. Всем устройствам пользователей СЭП выдается один и тот же
ключ. Если бы все устройства на самом деле были защищенными от
взлома, этот вариант был бы самым простым и удобным. Поскольку
каждое сообщение содержит идентификаторы устройств отправите­
ля и получателя, пользователь не- смог бы сделать два устройства с
одним идентификатором и увеличивать свой баланс, посылая одно и
то же сообщение каждому из них. Таким образом, проблема повтор­
ной траты монеты была бы решена. Однако ни одно устройство не
обладает такой степенью защиты, чтобы на базе этих устройств
можно было построить целую СЭП и не опасаться за ее безопас­
ность, поэтому такой подход на практике не применяется.
2. Каждому устройству плательщика выдается множество клю­
чей парно-выборочной связи для взаимодействия со всеми устройст­
вами получателей, которые есть в системе, т. е. используется модель
3. Системы электронных платежей 185
полной ключевой матрицы. Так как СЭП является автономной, уст­
ройства не могут использовать сервер распределения ключей, по­
этому все ключи ДОЛЖНЫ храниться в готовом виде на самом уст­

ройстве. Поскольку устройств в системе может быть очень много,


для хранения ключей потребуется весьма значительный объем памя­
ти. Кроме того, такой способ сильно затрудняет масштабирование
системы, так как введение каждого нового устройства получателя
требует записи ключей на все устройства плательщиков. По этим
причинам такой способ также практически не применяется.
3. Удобным для практики является решение, представляющее
собой своеобразный компромисс между первым и вторым вариан­
том. Устройства получателей - это чаще всего кассовые машины,
называемые также РОS-терминалами (point-of-sale). Обычно это до­
вольно дорогие' и хорошо защищенные устройства. Они все получа­
ют один и тот же ключ К, который называют мастер-ключом. Одна­
ко устройствам плательщиков, которыми чаще всего являются ин­
теллектуальные карты, при взаимодействии с РОS-терминалами
запрещено «видеть» ключ К. Вместо этого каждое из них имеет соб­
ственный ключ устройства кь. Чтобы устройства плательщика и по­
лучателя могли взаимодействовать, ключ kD вычисляется из серий­
ного номера устройства плательщика пь при помощи секретной опе-
рации, включающей мастер-ключ, например /(K,n D )-7 кь. гдеj­
однонаправленная функция (е точки зрения криптографии жела­
тельно, чтобы это была псевдослучайная функция). Следовательно,
каждое устройство получателя, получив серийный номер устройства
плательщика nD, может использовать мастер-ключ для восстановле­

ния кь. Затем оба устройства могут использовать kD в качестве об­


щего секретного ключа для симметричного шифрования или аутен­
тификации сообщений.
Такое решение было одобрено в большинстве СЭП на базе ин­
теллектуальных карт (например, в универсальной платежной систе­
ме UEPS) и даже принято Европейской организацией по стандарти­
зации в качестве стандарта «CEN Intersector Electronic Purse». У это­
го решения есть свой недостаток: очевидно, системы с мастер­
ключами, размещенными только в специализированных устройствах
получателей, не могут обладать свойством переводимости. .
186 Запечников С. В. Криптографические протоколы 11 '/Х примененив
3.4. Анонимные СЭП, работающие
в реальном масштабе времени

Продолжая рассматривать различные классы СЭП, введем те­


перь второе основное требование - анонимность, оставляя пока воз­
можность связи между участниками системы в реальном масштабе
времени. Внутри этого класса также будем рассматривать СЭП по
принципу «от простого к сложному». Начнем с самых простых сис­
тем, предусматривающих ведение анонимных счетов. Затем перей­
дем к похожим формам обеспечения анонимности, но уже с простой
криптографической защитой. Наконец, закончим самым сложным и
совершенным типом систем - СЭП, имитирующими «электронную
монету» и основанными на специальной схеме затемненной цифро­
вой подписи.

3.4.1. Анонимные счета


СЭП с ведением анонимных счетов во многом подобны сэр
с неанонимными счетами, за исключением того, что они не связаны

с реальной идентичностью участников. Идентификаторы заменяют­


ся псевдонимами, что не позволяет установить личности участников

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


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

Рассмотрим операции в СЭП с анонимными счетами. .


Открытие счета. Чтобы открыть анонимный счет, участник
СЭП просто генерирует пару ключей для схемы цифровой подписи:
gensis (1) ~ (sk, pk) и пересылает открытый ключ pk в банк (pk с
этих пор и считается псевдонимом участника). Банк присваивает
открываемому счету номер N и удостоверяет этот факт своей
подписью, прилагая сертификат своего открытого ключа:
SigskB ("opened", N, pk ),certo.
Платеж между анонимными счетами. Получатель платежа R
сообщает плательщику номер своего счета N я- Плательщик может
переслать деньги на счет получателя любым удобным способом,
3. Системы электронных платежей 187
принятым В СЭП, например послать в банк подписанное платежное
поручение с порядковым номером:

Sig sk (" Transfe r N. N R ' seq _ по, amount) ,


11,

где N- номер анонимного счета плательщика; NR - номер счета по­


лучателя; »еа.ло - ПОрЯДКОВЫЙ номер платежного поручения;
атоит - сумма переводимых денег.

Банк проверяет платежное поручение, используя известный ему


псевдоним плательщика, и исполняет его.

Хотя такая СЭП обеспечивает анонимность и плательщика и по­


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

3.4.2. Анонимно переводимые


«стандартные величины»
Термин «стандартные величины» звучит несколько странно, ес­
ли речь идет о системах электронных платежей. Но таково в перево­
де с английского языка наименование структуры данных, исполь­
зуемой для представления денежных средств, предложенное автора­
ми этой сэп (от английского standard value). Стандартная величина
подобна одноразовому счету, владение которым передается через
эту величину и позволяет избежать отслеживаемости платежей, ха­
рактерной для предыдущей схемы. Стандартная величина получила
такое название потому, что являет собою цифровой эквивалент фик­
сированного количества денег, т. е. представляет заранее опреде­

ленную, одинаковую, «стандартную» величину. Это случайное


натуральное число, которое можно представлять себе как номер
«электронной банкноты», и обозначается символом v. Вообще стан­
дартные величины можно всегда представлять себе как цифровые
аналоги обычных бумажных денежных банкнот определенного но­
минала (например, 10, 100 или 1000 руб.), каждая из которых имеет
уникальный серийный номер, подтверждающий ее подлинность,
но не позволяющий при обычных платежах установить, кем и кому
она была заплачена и каков был ее дальнейший путь.
188 Запечников С. В. Криптографические протоколы u их примененив
Рассмотрим, как в такой системе выполняется снятие со счета.
1. Чтобы получить стандартную величину, участник системы Р
генерирует пару ключей для любой, заранее условленной схемы
цифровой подписи: gellSig (1) ~ (sk г> pk р ), а затем пересылает в
банк подписанноесекретным ключом сообщение с просьбой выдать
ему стандартную величину, к которому прикладывает свой откры-

тый ключ: Sig sk( « 1 want to receive standard value»), pkp •


l'

2. Банк проверяет платежеспособность участника Р и в случае


положительного результата направляет ему сообщение следующего
формата: Sig .fklJ (V, ю: , pk р ), сепв . С этого момента участник Р об-
11

ладает стандартной величиной v.


Теперь обратимся к операции платежа:
3. Получатель платежа R выбирает новую пару ключей заранее
условленной схемы цифровой подписи: gen,tig(I)-7 (sk R , pk R ) .
С этого момента pkR становится псевдонимом участника. Затем он
посылает плательщику Р сообщение следующего формата: Sig skR (<<1
want to receive standard value v for purpose Z цпсег pseudonympkR » ).
Сообщение подписано ключом, который уже известен плательщику.
Такое сообщение необходимо как предосторожность на случай раз­
бора конфликтных ситуаций и споров о факте получения денег уча­
стникомR.
4. После получения предыдущего сообщения плательщик посы-
S' .
лает в банк платежное поручение: zgsk p (<<Transfer standard value»,v,
«to»,pk R) . Секретный ключ sk p используется из ключевой пары, ко­
торую плательщик выбрал, когда получал величину v, т. е. из шага
(1) операции снятия со счета.
5. Банк отыскивает vв базе данных стандартных величин, кото­
рые он выдал участникам СЭП, и восстанавливает открытый ключ
pk p нынешнего ее владельца.
б. Банк проверяет, что присланное ему участником Р платежное
поручение корректно и подписано по отношению к открытому клю­

чу, найденному им на предыдущем шаге.


З. Системы электронных платежей 189
7. Банк перемещает pkp в список прошлых владельцев v и сохра­
няет платежное поручение как доказательство на случай возможных
спорных ситуаций.
8. Банк вводит pkR как открытый ключ нынешнего (текущего)
владельца стандартной величины.
9. Банк подписывает подтверждение перевода денег и посылает
его плательщику: Sig:ik (<<New owner of»,v,«is»,pkR) .
в

1О. Плательщик пересылает сообщение банка получателю.


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

Если R отказывается от факта совершения платежа, Р может ис­


пользовать банковское подтверждение из шага (9) вместе с сообще­
нием получателя из шага (3), чтобы доказать, что он перевел деньги
на псевдоним именно этого получателя.

Как видим, операция довольно громоздкая. Депозит стандартной


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

В этой схеме плательщик и получатель анонимны и платежи од­


ного и того же участника неотслеживаемы. Вместе с тем существует
определенная связь между всеми платежами с одной и той же стан­
дартной величиной v, так же, как это имеет место в платежах обыч­
ными бумажными деньгами.

3.4.3. СЭП на базе затемненной подписи


СЭП на базе затемненной подписи - лучшие из известных ано­
нимных платежных систем, которые наиболее близко имитируют
обычную металлическую монету. Основной криптографической
особенностью этих СЭП является использование так называемой­
затемненной, или «слепой», цифровой подписи (blind signature), идея
190 Запечников С. В. Криптографические протоколы tI их примененив
которой предложена в работах Шаума (Chaum). Рассмотрим кон­
цепцию такой платежной системы (рис. 3.6).

Снятие СО счета.
эпгеыненвая ПОДПИСЬ

несвязываемосгь

Плательщик
(преобразует монету)
Получатель

Рис. 3.6. Концептуальная схема СЭП на базе затемненной подписи

Для простоты на схеме показано, что плательщика и получателя


обслуживает один и тот же банк. Банк каким-либо образом выдает
плательщику «электронную монету», которая представляет собою
сообщение, подписанное затемненной подписью. Плательщик мо­
жет некоторым образом преобразовать эту монету перед тем, как
передать ее получателю в платеже. Получатель затем кладет ее на
депозит. Вследствие преобразования монеты плательщиком перед
платежом банк не может установить связь, какая из монет, положен­
ных на депозит, какой именно монете, снятой со счета, соответству­
ет. Таким образом, становится невозможно отследить, кто из
участников СЭП кому заплатил.

Базовая версия СЭП Шау.ма (рис. 3.7) является системой с


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

конфликтных ситуаций между участниками системы.


Основные этапы ее функционирования таковы.
Установка начальных параметров. Первоначально банк должен
распространить среди участников системы некоторые параметры,

необходимые для функционирования СЭП.


3. Системы электронных платежей 191

~
Банк

4 - 3:mr.m. ПОД[ПIСЬ 9 - ПровеРК:I

:;

ПJштельщш<
coln

Получатель
12
г---~ l1-Подпш:ь
квптаншш

Рис. 3.7. Абстрактное представление базовой версии СЭП Шаума


на основе схе.МЫ затемненной подписи

Снятие со счета
1. Плательщик генерирует монету coin при помощи операции
gencoin - вероятностного алгоритма, которому в качестве аргумен­
тов передаются начальные параметры, распространенные банком.
В результате получается «форма» для монеты, используемой впо­
следствии в платеже (на рис. 3.7 заштрихована).
2. Плательщик преобразует монету операцией bIind. В результа­
те получается «затемненная» монета bIindcoin (на рис. 3.7 показана
пустым кругом, без штриховки).
3. ПЛательщик посылает «затемненную» монету в банк вместе с
расходным ордером - требованием о снятии денег со счета, в кото­
ром обозначен номинал монеты и номер счета.
4. Банк вычитает требуемую сумму со счета плательщика и под­
писывает затемненную монету bIindcoin подписью bIindsig, которая
генерируется при помощи специального секретного ключа, соответ­

ствующего требуемому номиналу монеты.


192 Запечников С. В, Криптографические протоколы и 'IX применение
5. Банк посылает подпись bIindsig обратно плательщику, кото­
рый проверяет ее.
Платеж с депозитом
6. Плательщик применяет к подписи операцию снятия затемне­
ния unbIind. Результат ее - цифровая подпись sig, которая является
подписью для исходной формы монеты (обозначенной как заштри­
хованная). Для этой операции он использует параметры, сохранен­
ные при выполнении операции bIind.
7. Плательщик пересылает (coin, sig) получателю.
8. Получатель просто пересылает это сообщение в банк, чтобы
выполнить в режиме реального времени проверку на предмет по­

вторной траты монеты (банк может проверить подпись, но не может


различить, чья это монета).
9. Банк проверяет подпись и проверяет по базе данных, что эта
монета не была положена на депозит ранее. Если эти проверки за­
канчиваются успешно, он вводит монету в базу данных и добавляет
сумму платежа на счет получателя.

10. Банк сообщает получателю результаты проверок и депозита.


11. Если предыдущие шаги завершились успешно, получатель
обычно подписывает квитанцию. Если нет, получатель не принимает
платеж.

12. Получатель отправляет квитанцию плательщику, поставляет


ему товары ИЛИ оказывает услуги.

Отметим, на каких этапах здесь имеют место входные и выход­


ные потоки данных, которые в подразд. 3.1.2 мы рассматривали для
обобщенной системы:
• withdraw запускает шаг (1);
• allow необходимо на шаге (4);
• subtract также имеет место на шаге (4);
рау запускает шаг (6);
• если получатель должен вводить receive, это необходимо сде-
лать на шаге (8);
• add имеет место на шаге (9);
• ok для получателя - на шаге (1О);
• ok для плательщика в конце платежа - не обеспечивается в базо­
вой системе.
3. Системы электронных платежей 193
в реальной системе для обеспечения анонимности участников
важны два обстоятельства, не связанных напрямую с криптографией.
Во-первых, плательщикам обычно следует выждать некоторое
время перед тем, как использовать снятую со счета монету. В про­
тивном случае банк может связать снятия со счета и депозиты одних
и тех же монет просто по их последовательности во времени.

Во-вторых, в системе не должно быть слишком много различных


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

банке монеты такого же номинала.


Монеты обычно имеют ограниченный срок действия: несколько
месяцев или лет. Это делается с целью ограничения проблем, свя­
занных с возможной подделкой подписи, а также для ограничения
размеров базы данных монет, которую поддерживает банк. Эта база
данных, 'очевидно, будет БОЛЬШОЙ 1 но все-таки не должна быть не­
обозримой. В других СЭП в базы данных заносится одна запись на
платеж, а здесь - одна запись на каждую монету, используемую в

плаТ,еже. По статистике в этом случае записей будет в среднем


в пять раз больше.

Криптографическая реализация СЭП Шаума: схема затем­


ненной подписи на ОСН0ве задачи RSA. Чтобы реализовать систему,
концепция которой была рассмотрена выше, нужно предложить ме­
тоды выполнения всех перечисленных операций. Оригинальная и
хорошо известная реализация этой СЭП основывается на схеме
цифровой подписи RSA. Заметим, что эта реализация может рас­
сматриваться как позитивное использование известного способа ак­
тивной атаки на схему подписи RSA.
Банк выбирает ключевую пару схемы подписи RSA дЛЯ подпи­
сания монет: sk B = (n,dB ) , pkB = (n,ев), На практике необходима одна
такая ключевая пара для каждого номинала монет, выпускаемых в

обращение в сэп. Открытые ключи банк распространяет среди уча­


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

Для генерации монеты (операция gencoin) плательщик выбирает


случайную величину с, которая короче п на столько битов, какова
194 Запечкиков С. В. Криптографическив протоколы и их примененив
длина хеш-кода, генерируемого выбранной хеш-функцией: с Е R 2т '
Iml : : ; /nl-Ihasll ( с )/. Монета сот = (с 1I'1asll ( С ») представляет собою
конкатенацию величины с и ее хеш-кода.

Чтобы выполнить затемнение (операция bIind) плательщик вы-


бирает случайную, равномерно распределенную величину r Е н Zn '
называемую затемняющим фактором, или затемняющим множи­
телем, и полагает: Ытасот « coin. r~B (mod п) .
Генерация подписи полностью аналогична обычной схеме RSA:
blindsig ;; blindcoin dn
(mod 1l) . Таким образом, получается, что
blindsig ;;coin dB
'r,'nds =.coin ·r(mod11).
dn

Чтобы снять затемнение с подписи (операция unbIind), платель­


щик берет У, сохраняемое им от операции затемнения, и вычисляет
blindsig . . d (
sig . Подпись будет иметь вид Slg ::: сот в mod 1l ) •
l'
Проверка подписи для построеннойтаким образом монеты будет
заключаться в обычной проверке подписи по схеме RSA и проверке
хеш-кода величины с.

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


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

Разрешение конфликтных ситуаций. Попытаемся усложнить


СЭП Шаума таким образом, чтобы она обеспечивала возможность
разрешения конфликтных ситуаций между плательщиками и полу­
чателями, с одной стороны, и банком, с другой стороны.
Первая возможная конфликтная ситуация - спор между пла­
тельщиком и банком о состоянии счета. Для этого потребуем, что­
бы на шаге (3) плательщик пересылал в банк подписанный расход­
ный ордер, который может иметь, например, такой вид:
Sig S.~'lr
k (<<Coin withdrawal», N, seq_no, amount, blindcoin),
3. Системы электронных платежей 195
где skarco///Jt - неанонимный ключ, принадпежащий номеру счета N;
seq_no - порядковый номер расходного ордера; атоипл - номинал
монеты, которую плательщик хочет получить.

В диспуте о состоянии счета банку будет достаточно предъявить


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

специфицировать назначение монеты таким способом, чтобы от него


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

делец монеты. (Они похожи на псевдонимы владельцев стандартных


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

gen sig (1) -1 (skCOi/l' pkcoi/I ) , сот = pk coill 11/1asI1(pk(:Qin ) .


При выполнении платежа на шаге (7) плательщик пересылает
получателю не только (coin, sig), но и платежное поручение, напри­
мер следующего формата:

SigSk~oi" (ерау», NR , «Гог», ref),

где NR - номер счета получателя; пе] - некоторая ссылочная строка,


используемая для связи этого платежа с каким-либо другим (на слу­
чай споров между плательщиком и получателем).
196 Запечников С. В. Криптографические протоколы и их применение
Дополнительные меры для обеспечения «свежести» сообщений
здесь не нужны, так как каждая монета тратится только однажды.

Получатель на шаге(8) и банк на шаге (9) могут проверить 'эту


подпись по отношению к сот = pk . Illшsll (pk . ).
сот сот

Наконец, третий возможный конфликт - спор между получате­


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

только после шага (11), и в это время он уже имеет подтверждение


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

ние банка, что его монета была положена на депозит. Если нет, он
может в этот момент заплатить ее себе же.

Достижение анонимности получателя. Как модифицировать


схему, чтобы она обеспечивала анонимность получателя вместо
анонимности плательщика? Идея заключается в том, чтобы теперь
преобразование монеты выполнял получатель, т. е. именно он вы­
полнял бы операции генерации монеты, затемнения и снятия затем­
нения. Плательщик только пересылает затемненную монету в банк и
подписанную банком монету обратно (рис. 3.8). Банк вообще не за­
мечает никаких отличий в схеме.
Эта схема уже не является СЭП с предоплатой, так как платель­
щик не знает, кому он будет платить. Чтобы избежать связи по вре­
мени между снятием со счета и депозитом, получателю следует от­

срочить депозит. Так как он теперь единственное лицо, знающее не­


затемненную монету, плательщик не может потратить ее дважды.
3. Системы электронных платежей 197

6- Зятемн, ПОдrDlСЬ

Плательщик
"' - Расходныjf
Оlщq)~

8 - РетранL'J1ЯIJ,1Ш

l3lindsig

Рис. 3.8. Абстрактное представление базовой версии СЭП Шаума


на основе схе..мы затемненной подписи для обеспечения анонимности
получателя платежа

в терминах ранее введенных определений мы получили систему


с резервированием (которая не имеет большого практического зна­
чения без анонимности). Чтобы обеспечить безопасность в спорах о
состоянии депозитных счетов, получателю следует, как и в преды­

дущей схеме, генерировать монеты с ключом монет.

Достижение максимальной анонимности. Различные виды


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

плательщика.
198 Запечкиков С. В. Криптографические протоколы и их примененив
Технически эта СЭП основывается на системе с анонимным по­
лучателем. Предположим, что некоторый участник такой системы,
выступавший в предыдущем платеже в роли получателя монеты,
имеет недепонированную монету с ключом монеты. Обозначим эту

монету сот; = pkcoill ,I III1ClSlz(pk m i /I •I ) с секретным ключом монеты


SkC(Jill.l и подписью sigJ• В новом платеже этот же участник - владе­
лец монеты - собирается выступить в роли плательщика, который
должен передать свою монету новому получателю.

Для этого новый получатель вырабатывает новую монету, т. е.

генерирует пару ключей: gensi.t: (1) ~ (SkCQill.2' pk(:Oill,l) ' полагает


сот, = рkСQ;II.2111шslz (pkClJill.2 ), проводит операцию затемнения, в ре­
зультате чего получается bIindcoin2, и посылает ее плательщику,
т. е. обладателю монеты сош.. Плательщик вместо депозитного по­
ручения для его «старой» монеты подписывает обменный ордер, на­
пример в таком формате:
Sigsk c v jll
•I (<<exchange», Ышёсош-).

При получении (сопт., si9 1) и обменного ордера банк делает


обычные проверки. Он проверяет обе подписи (т. е. убеждается, что
монета действительна и что обменный ордер был сгенерирован вла­
дельцем монеты) и проверяет по своей базе данных, что монета не
была депонирована или обменена ранее. Если все нормально, он да­
ет подпись bIindsi92 для монеты bIindcoin2 и посылает ее обратно
плательщику.

Плательщик теперь пересылает bIindsig2 получателю, который


может снять с нее затемнение. Тогда он оказывается в той же самой
ситуации, в какой до начала этого платежа был предыдущий полу­
чатель монеты (выступавший здесь в качестве плательщика).
При таком протоколе платежа не существует связи между по­
следовательными владельцами одной и той же монеты) которая су­
ществовала в СЭП со стандартными величинами, Т. е. такая СЭП
больше похожа на металлические деньги, в то время как СЭП со
стандартными величинами - на банкноты. Однако все платежи тре­
буют связи с банком в режиме реального времени. Следовательно,
в отличие от настоящих наличных денег полной независимости от
3. Системы электронных платежей 199
банка в таких платежах нет. Обменные транзакции с банком можно
использовать для того, чтобы анонимно обменивать одну монету на
несколько монет меньшего достоинства и наоборот.

3.5. Анонимные автономные СЭП


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

3.5.1. езп, основанные на взломозащнщенных устройствах


Если можно было бы целиком полагаться на взломозащищен­
ность аппаратных средств, выдаваемых участникам системы, то ста­

ло бы возможным использовать систему, подобную той, что описана


в подразд. 3.3.2, где все устройства имеют одинаковый криптогра­
фический ключ. Если вдобавок устройства не имеют номеров, по ко­
торым их можно различить, такая система может быть анонимной.
В настоящее время никто не доверяет аппаратным средствам на­
столько, чтобы основывать безопасность всей СЭП исключительно
на предположении о технической защищенности аппаратуры. Банк
как минимум хотел бы иметь некоторый механизм отображения у
себя счетов, с помощью которых можно было бы мониторировать
баланс каждого участника системы и обнаруживать повторную тра­
ту монеты. Это значит, что всякий раз, когда устройства имеют кон­
такт с банком (для снятия «электронной монеты» со счета или вы­
полнения депозита), они должны посылать все свои записи транзак­
ций в банк, который сортирует их по счетам и проверяет,
не потратило ли устройство больше денег, чем сняло со счета. Это,
очевидно, не может быть сделано без идентификации устройства.
Анонимность также отягчает проблему со взломозащищенностью
устройств, конструкцию которых банк может хранить в секрете. Вла­
делец устройства никогда не может быть уверен в том, что оно не со-
200 Запечкиков С. В. Криптографические протоколы 11 IL~ примененив
держит какого-нибудь программного или аппаратного закладного эле­
мента, из-за чего оно передает в банк свой идентификатор.

3.5.2. СЭП с идентификацией повторной траты монеты


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

Это достигается за счет применения механизма «запрос - ответ»:


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

Получатель 1

Доказательство
Получатель 2.
сч н-

Рис. 3.9. Абстрактное представление механизма идентификации


повторной траты монеты

Ответы могут разгласить идентификатор плательщика только


в том случае, если он как-то предварительно закодирован в монете,
3. Системы электронных платежей 201
а именно во время снятия со счета, когда банк может проверить
идентификатор будущего плательщика.
Еще одна проблема связана с реализацией протокола «запрос -
ответ» при платеже. Что случится, если плательщик и два получате­
ля сотрудничают и объединились в коалицию против банка? Оба
получателя могут направить одному плательщику одинаковые за­

просы. Банк, естественно, не может выдать одну и ту же монету


обоим получателям при выполнении депозита. Возникает вопрос:
как определить приоритет выдачи монеты одному из них? Можно
было бы установить, что монету получает первый получатель по по­
рядку обращения за депозитом в банк. Но тогда плательщик и вто­
рой получатель могли бы обмануть первого получателя путем по­
вторного использования его запроса и более быстрого выполнения
депозита. Такой способ не годится. Следовательно, каждый запрос
получателя к плательщику должен включать идентификатор получа­
теля и депозит должен быть возможен только на счет этого получа­
теля.

Итак, мы пришли к выводу, что в СЭП необходимо ввести иден­


тификаторы получателей платежей, которые в обязательном порядке
включаются в каждый запрос получателя к плательщику. Теперь по­
является следующий вопрос: какова должна быть структура ответов
плательщика на эти запросы? Как было отмечено выше, их нужно
сконструировать таким образом, чтобы один ответ плательщика ос­
тавлял его анонимным, а два - уже разглашали бы его идентичность.
Один возможный способ заключается в том, что в качестве первого
ответа берется случайное число k, в качестве второго - величина
id Ее k. Тогда каждый ответ по отдельности не дает никакой ин­
формации об id, но оба ответа полностью разглашают id. Однако та­
кой способ оставляет возможность только для двух запросов полу­
чателей. Другой возможный способ - представлять ответ в виде ли­
нейного уравнения с двумя переменными, одна из которых id,
например в такой форме: c\id + c2k. Это дает большой набор воз­
можных запросов, формируемых как пары (с), С2), Тогда один ответ
все еще оставляетвозможнымлюбой id, тогда как два уравнения оп­
ределяют обе переменные однозначно (предполагая, что уравнения
линейно независимы). Аналогичная идея и используется в СЭП
Брандса, которую мы будем рассматривать ниже. Только в ней каж-
202 Запечников С. В. Криптографические протоколы u их применение
дый ответ состоит из двух уравнений в четырех переменных, что по­
зволяет использовать эффективный способ проверки корректности
ответов.

Мы обозначили проблемы, которые необходимо решить в ано­


нимной автономной СЭП. Рассмотрим теперь конструкцию такой
системы, предложенную Брандсом.

3.5.3. СЭП Брандса


СЭП Брандса - лучшая из известных анонимных автономных
СЭП. Она достаточно эффективна, но ее свойства не сформулирова­
ны в терминах модели доказательной безопасности, и в этом ее сла­
бость. СЭП Брандса использует затемненную цифровую подпись,
основанную на задаче дискретного логарифмирования - расширение
схемы Шаума - Педерсена (Chaum - Pedersen). Ее можно рассмат­
ривать как расширение схемы цифровой подписи Шнорра. Чтобы
понять устройство такой затемненной цифровой подписи, вспомним
факт, который отмечался в ГЛ. 1: любой протокол аутентификации,
основанный на доказательствах с нулевым разглашением знания,
может быть стандартным образом преобразован в схему цифровой
подписи. Не является исключением и рассмотренный там же прото­
кол аутентификации Шнорра, который легко преобразуется в схему
цифровой подписи Шнорра, показанную в табл. 3.1.
В СЭП Брандса используется следующее свойство схемы аутен­
тификации Шнорра: если доказывающий Р может успешно пройти
аутентификацию с вероятностью, существенно отличающейся от
нуля, тогда он должен знать величину х.

Для схемы цифровой подписи Шнорра выбираются два больших


простых числа р.а, таких, что qlp-l, ge Gq - образующий элемент

подгруппы z; порядка q. Случайное число хЕ Zq - секретный


ключ схемы цифровой подписи. Открытый ключ схемы - набор чи­
сел =
(P.q.g,h), где h gX; т - подписываемое сообщение. Подписы-
вающий выбирает WE R 2(/, вычисляет с = Н (m,а)е 21}' r = w+cx
И посылает [т. с. r] проверяющему. Последний должен сравнить:
?
в' =aht: mod р. в случае положительного результата он принимает
подпись, в противном случае - отвергает.
3. Системы электронных платежей 203
Таблица 3.1. Схема цифровой подписи Шнорра
Предваоительный этап
р Центр доверия V
ХЕ Л' {l,... ,q} p,q - простые числа, qlp-l.
gE Zp :gf} =l(modp)
/1;:: я' mod р
р, а, К, /z
Генерапия подписи
р V
1 ИJЕ R Zf}' а ;:: glY

т - подписываемое
12 сообщение, с;:: haslt(m,a)
3 r =J-v+cx
[т, С, r]~
Проверка "од/шеи
4
я' =а/{ modp
На основе схемы цифровой ПОДПИСИ Шнорра легко строится ИН­
терактивная схема цифровой подписи Шаума - Педерсена с сокры­
тием подписанного сообщения (табл. 3.2).
Таблица 3.2. Схема цифровой подписи Шаума - Педерсена
с сокрытием подписаиного сообщения
Предварительный этап
р Центр доверия V
XE R [г, ...• q}, p,q - простые числа, qlp-l,
h= g~·modp g Е Zр : g q == 1(mod р)
р, q,g, h
Генерация подписи
р V
т, z=m Х
О. Сокрытие [т, z]~
подписи

1. Выбор случай- WE"" Zq,


ного варианта [а, Ь]7
а;:: я". Ь;:: т"
2. Запрос ~[c ] сЕ н Zq
3. Ответ r = w+cx [ r]~
Проверка подписи
4 ? о

я' =ah'"; m Г ~bz'"


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

нерировать, только имея секретную величину .г, но проверить кор­

ректность z после выполнения шага (О) получатель сам не может.


Оставшиеся обмены сообщениями нужны, чтобы убедить получате­
ля в том, что Z корректно.

На шаге (1) выбирается величина w, которая носит название слу­


чайного варианта величины Х. Так как здесь есть дополнительная
открытая величина Z, основанная на х, есть и такая же величина Ь,
основанная на w. Шаг (2) представляет собою обычный случайный
запрос проверяющего подписывающему. На шаге (3) проверка отве-
'та выполняется по основанию g и по основанию т в отдельности.

Эта схема является примером интерактивных схем цифровой


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

Таблица 3.3. Схема затемненной подписи Шаума - Педерсена


Предварительный зтап
р Центр доверия V
ХЕ л {1, ..., q}, p.q - простые числа, qjp-l,

1I = я' modp
g Е Zр : gq =1(mod р)
р, а, д, h
Геllерация подписи
р V
х
О. Сокрытие m,z==m s,t,u,VЕ л Z",s*O~
подписи [ т, z J-7
т' = т' в',
l
z' == ZSh
1. Выбор WE R Zq'
случайного
а == в". Ь;;; т"
варианта [а, Ь]-7 ь' == ь" а ш ( т 'У
g;
а ' =а 11V
З. Системы электронных платежей 205
Предварительный 'J111Q1t
Генерация подписи
р V
2. Запрос с' =::: llasll(m', z',a',b') ,
се; г,
~[ с]
3. Ответ r = w+cx [ г]~
Проверки подписи
? ?
4
е' ~aJ{; т' ~bz(' ;
г' = uг+v

в этой схеме сообщение т будет соответствовать «белой» форме


монеты, изображенной на рис. 3.3-3.6, а т' - «шгрихованной» ее
форме. Затемненной подписью является набор величин
о ;;:;; ( г, а, Ь, с, r), пересылаемых от подписывающего к проверяюще­
му; обычной подписью (подписью со снятым затемнением) - набор
величин (J , = ('z, , ь' , r.
а, ')
,С, о со б енность, которая делает только

«штрихованную»монету пригодной для оплаты, заключается в том,


что только в этой форме имеет место равенство с' = lzaslz(m',
z',a',b') .
Величины (s,t, и, v) называются затемняющими факторами. ДЛЯ
СЭП Брандса мы всегда будем полагать t == О, НО В общем случае
в схеме Шаума - Педерсена возможно t '# О •
Продемонстрируем корректность этой схемы цифровой подпи-
,
си, а именно покажем, что результат а - корректная подпись

Шаума - Педерсена для т' алгоритмически точно такая же, как и в


предыдущей схеме подписи. Очевидно, что по конструкции схемы
выполняется равенство с' == haslz (т', г', а', Ь') . Мы должны проверить,
что g" = а' ./{ и (m'у' = ь'· (z')(". Это можно сделать, просто под­
ставляя уравнения одно в другое. Но идея подписи станет еще по­
нятнее, если мы покажем, что все величины в левой части уравнений
имеют ту же структуру, что и справа.

В самом деле, z' = l


ZS • h = т" . gXI = (m s я' у = (т'У - точно так и
должно быть. Далее: а' = g WII+V • Здесь wu+v играет ту же роль для а' ,
206 Занечников С. В. Криптографические протоколы и их примененив
что и И' дЛЯ а, и мы обозначим ее w' = wu + v . Далее покажем, что
ь' = (т'У.:' :
Ь ' =ь:ш IU
·й·
(')У
т =т
IVS/I
'g v,'Ш . ( т ')У = (mg . 111 ')У =
S 1)1\111 (

=111
(
')I\""+V
=( ')111'.
m
Наконец, r'::::ur+v=u{w+cx)+v=(wu+v)+ucx::::w'+c'x,
что тоже соответствует исходной схеме Шаума - Педерсена. Следо­
вательно, мы можем быть уверены, что в силу корректности обыч­
ной схемы подписи Шаума - Педерсена данная цифровая подпись
тоже удовлетворит проверочным уравнениям.

Более того, можно доказать, что каждому сообщению с действи-


тельной подписью (т', а') может с равной вероятностью соответст-
вовать любая из пар (т, а) , которые могут получаться в протоколе
затемненной подписи, что демонстрирует наличие у схемы свойства
затемнения подписи. Эти пары связаны между собой четверкой за­
темняющих факторов (S,t,ll,v), причем для каждой пары
((m',а'),(m,а)) существует точно q четверок затемняющих факто-
ров, преобразующих (m,а) в (m',а').
Кодирование идентификаторов в монетах. Теперь мы полу­
чили схему затемненной подписи, которую можно использовать для
анонимных платежей в режиме реального времени по аналогии со
схемой затемненной подписи на основе RSA, применявшейся ранее.
Для этого нам необходимо добавить в СЭП механизм идентифика­
ции повторной траты монеты, а именно каким-либо образом закоди­
ровать идентификаторы владельцев монет в самих монетах и разра­
ботать механизм запросов и ответов для платежей. Так как банк
может только проверять факт присутствия корректного идентифика­
тора в монете, которую он подписывает (В то время как в самом пла­
теже будет использовано т'), закодированный идентификатор вла­
дельца должен каким-то образом «пережить» этот процесс затемне­
ния. Это свойство будем называть удержанием идентичности
(restrictivenes s).
1,,1

з. Системы электронных платежей 207


Существо метода заключается в следующем: т необходимо
представить в форме т = 8f
t
' • 82' где g" 82 - образующие элементы,
которые отличаются от g, использовавшегося до сих пор, т. е.

g, ::j:. g2 ::j:. g Е Gq , и плательщик должен знать id. Тогда, если затем-

нение осуществлено корректно, результат будет таким:


т' = т' gl = g:tf-S . g~ . gl. Протокол платежа будет каким-то образом
принуждать плательщика продемонстрироватьзнание экспонент XI,

Х2, таких, что т';::: gjr j


• g;2. Кроме того, можно показать, что тройное

экспоненцирование, т. е. функция (Xl'x 2,.\j ) ~ gi~' g;1 я" , не имеет


коллизий. Таким образом, два представления т', используя тройки
(id's,s,t) и (Хl'х2 , О ) , должны быть одними и теми же. Следова­
тельно, для затемнения плательщик должен выбрать t = О. Тогда мы
имеем: (х" Х2) = (id . s, s). Отсюда видно, что идентификатор i{l вы-

числяется таким образом: id =..:5..-. Теперь повторная трата будет


Х1

разглашать все секретные величины, в частности Xl, Х2, и следова­


тельно id.
Основные протоколы СЭП Брандса. Эта система электронных
платежей полностью описывается комплектом из шести протоколов,
которые мы и рассмотрим ниже.

Протокол инициализации выполняется однократно ПрИ вводе


СЭП в эксплуатацию. Банк генерирует ключи дЛЯ схемы затемнен­
ной подписи Шаума - Педерсена, т. е. p,q,g,x и /1 =g.r, где Х - секрет­
но, а остальные параметры публикуются. Точнее, банку для каждого
номинала монет, используемых в системе, нужно выбрать одинако­
вые p,q,g,X, но различные Xj, hj • В дальнейшем мы для простоты рас­
суждений будем опускать индекс <<j», считая, что в системе обраща­
ются «электронные монеты» только одного номинала. Кроме того, с
ключами схемы могут быть ассоциированы определенные сроки
действия: монеты, подписанные этими ключами, действительны
только означенное время.

Банк также генерирует два случайных образующих элемента g, и


g2. Каждый из участников системы должен доверять банку в том,
что последний не умеет вычислять дискретные логарифмы по осно-
208 Запечников С. В. Криптографические протоколы и их примененив
ванию g]. Если банк выбирает p,q,gl случайным образом, то можно
верить, что это условие соблюдается. Однако MO~HO дополнительно
гарантировать их случайность, используя произвольнуюслучайную
строку r, пользующуюся публичным доверием (например, выбирае­
мую из таблиц случайных чисел), и генерируя желаемые величины
из r посредством детерминированных процедур. В частности, gI мо-
р-l

жет выбираться как lj--;; , где J'J - ПОДС1рока r, интерпретируемая как

элемент z;.
Протокол открытия счета (табл. 3.4) выполняется однажды
ДЛЯ каждого нового плательщика при вводе его в СЭП. Протокол со­
стоит из следующих шагов.

Для безопасного снятия средств со счета мы должны предпола­


гать, что плательщик имеет пару ключей (skp, pk p ) произвольной
схемы цифровой подписи, при помощи которой можно подтвер­
ждать действия, относящиеся к его личному банковскому счету.
Ключ pkp может быть зарегистрирован в момент выполнения этого
протокола или быть выработан заранее.

Таблица 3.4. Протокол открытия счета


Банк В Плательшик Р
О Cert(pkp ) (sk p , pk p ) - секр. и откр. КЛЮЧ любой схемы
цифровой подписи
1 id Е /1 Zq - идентификатор плательщика
(секр. случайное число),

I"t :::; g:d - должно быть уникально для каж-


~[11/ ] дого плательщика

2 Протокол аутентификации Шнорра:


(\1) ~~ (Р) [id]
3 ~[SigK, (111)] т = h\82

На шаге (1) плательщик выбирает секретное случайное число

id (mod q) и передает ~ = g i id В банк. Здесь id - идентификатор, ко­


торый служит доказательством идентичности плательщика. Если у
кого-то уже есть h t , банк просит плательщика повторить свой выбор.
3. Системы электронных платежей 209
На шаге(2) плательщик доказывает банку, что он знает id с
hj = g/'/ . Для этого используется протокол аутентификации Шнор­
ра, где плательшик выступает в роли доказывающего, банк - в роли
проверяющего.

На шаге (3) этого протокола плательщик подписывает (применяя


сообщение т, которое впоследствии будет использовано для
skp )
снятия им своих средств со счета. Если банк позднее сможет пока-
зать величину id с g:d g2 =т, это будет служить доказательством то­
го, что монета этого плательщика потрачена дважды.

Протокол регистрации получателя платежа (табл. 3.5). Как


отмечалось ранее, каждый получатель платежа в СЭП Брандса дол­
жен обязательно использовать запрос, отличный от другого получа­
теля. Для этого желательно построить протокол так, чтобы каждый
получатель регистрировался под уникальным идентификатором lllRr_
ripiellt. Получатель в СЭП Брандса не нуждается в каких-либо крипто­
графических ключах.

Таблица З. 5. Протокол регистрации получателя платежа


Баи1\ В Получатель R
IdRt:c'iPit:nr - ДОЛЖНО быть уникально
~[ IdRl'ciJJiem ] ДЛЯ каждого получателя платежа

Протокол снятия со счета (табл. 3.6). Для каждого плательщика


банк всегда подписывает (при помощи затемненной подписи) одно и
то же сообщение т, которое было согласовано выше, в протоколе
открытия счета. Так как при этом z получается одним и тем же для
каждого выполнения протокола, плательщик может хранить эту ве­

личину у себя и шаг (0.0) становится ненужен. Но, конечно, новые


величины w и (s,t,u,v) должны выбираться заново при каждом вы­
полнении протокола снятия со счета. На шаге (0.1) плательщик ге-
нерирует два дополнительных случайных числа - YI' У2 (mod q).
Вместе с (Xt,x2) существует уже четыре секретных переменных, для
которых каждый платеж разглашает два линейных уравнения. В то
же самое время набор величин (XI,x2,Yl,Y2) можно рассматривать как
секретный ключ монеты sk coitl , которым плательщик (как анонимный
владелец этой монеты) может впоследствии подписывать свои пла-
тежи. Он полагает pk coin = g (1 . gI2 . Вместе с тем т' =

=g;1 . g;2 (mod р). Таким образом, величины (т, pkcoil1 ) можно рас-
210 Запечников С. В. Криптографические протоколы и их примененив
сматривать как открытый ключ монеты, соответствующий SkcoiJl'
Чтобы зафиксировать принадлежность pkm ill определенной монете,
эта величина включается в запрос плательщика банку путем вычис-
ления хеш-кода: / =}zasll (11/, pk m ill , z',a',b'). Для разрешения кон­
фликтных ситуаций предусмотрено,что плательщик,ис