Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Петров А.А. Комп без-ть

.pdf
Скачиваний:
35
Добавлен:
28.03.2016
Размер:
16.03 Mб
Скачать

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

НИ

и технически (например, с помощью физически защищенных хранилищ ключей).

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

Механизмы контроля над использованием ключей можно разделить на три категории:

с использованием масок ключей и изменяющихся ключей;

на основе подтверждения подлинности ключей;

с использованием контрольных векторов.

Маски ключей и изменяющиеся ключи

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

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

Подтверждение подлинности ключей

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

В качестве простого примера работы механизмов подтверждения под­ линности ключей рассмотрим случай, когда одна из сторон или доверен­ ный сервер должны обеспечить процедуру подтверждения того факта, что данный сеансовый ключ необходим для обмена между участником А и В. В этом случае, обладая предварительно распределенным ключом шифро­ вания ключей К, сеансовый ключ 3 может быть зашифрован следующим образом: Ек®(ацв)(5). Идентификаторы участников А и В используются при отождествлении того, что данный ключ должен использоваться только между А и В.

152 Аспекты создания и применения криптографических протоколов

Контрольный вектор

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

Междоменные отношения

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

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

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

Ситуация осложняется, когда два пользователя (А и В) хотят, напри­ мер, установить защищенный канал передачи данных и при этом нахо­ дятся в разных доменах (Б Л и О в), то есть обслуживаются разными дове­ ренными серверами (Т А и Т в). Для этого необходимо, чтобы:

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

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

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

серверы Т А и Т в имеют доверенные отношения, выражающиеся в раз­ делении знания ключей или в доверенных взаимоотношениях (А, Т А), (Т А, Т в) и (Т в, В);

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

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

153

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

Рис. 2.9 Схема

доверенных отношений между пользователями разныхдоменов

С использованием симметричных ключей

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

1. Пользователь А передает запрос серверу Т А на выработку ключа

с пользователем В.

2.Т Л и Т в распределяют между собой симметричный сеансовый ключ К АВ.

3.Т А и Т в передают ключ К АВ пользователям А и В с обеспечением аутен­ тификации и конфиденциальности.

4.Пользователи А и В устанавливают защищенный канал с одновремен­ ной аутентификацией друг друга.

С точки зрения пользователя А междоменное отношение для него носит прозрачный характер, то есть он взаимодействует с Т А таким образом, как будто этот сервер выполнял функции К Б С или КТС.

С использованием асимметричных ключей

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

1. А запрашивает от Т А открытый ключ пользователя В.

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

154Аспекты создания и применения криптографических протоколов

3.Т А передает пользователю А открытый ключ пользователя В с обеспе­ чением аутентификации.

4.Пользователь А, применяя данный ключ, устанавливает с В защищен­ ный канал передачи данных.

Модели междоменных отношений с использованием нескольких центров сертификации

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

Цепочки сертификатов и сертификационные пути

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

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

Пусть пользователь А доверяет С А 5 (владеет открытым ключом Р5 дан­ ного С А ) и желает проверить подлинность открытого ключа пользователя В, который подписан при помощи С А3. Предположим, что существует путь аутентификации (С А 5, СА4, СА3), тогда обозначая С А 5{С А 4} как сертифи­ кат открытого ключа С А4, выданный С А5, выведем следующую цепочку сертификатов (САДСАД, С А4{С А 3}). Пользователь А сначала проверяет сер­ тификат СА5{С А 4}, получая аутентичный открытый ключ Р4, принадлежа­ щий С А4, затем, используя Р 4, проверяет сертификат С А4{С А 3} и получает аутентичный ключ Р 3, принадлежащий СА. В итоге пользователь А может проверить сертификат С А3, выданный на ключ Р в.

Изолированные друг от друга домены

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

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

155

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

Модель доверительных отношений, построенная по принципу строгой иерархии

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

а)

б)

в)

Рис. 2.10. Схемы организации междоменных отношений

156 Аспекты создания и применения криптографических протоколов

имеет и доверяет только открытому ключу СА, находящемуся в корне де­ рева сертификации. Несмотря на тот факт, что сертификат открытого клю­ ча пользователя Е} подписывается СА,, данный пользователь доверяет только С А5, находящемуся в корне. Доверительные отношения между СА, и пользователем Е{ устанавливаются только через С А5 и через лежащие между ними С А (в нашем случае - С А 3) на основе использования цепочки сертификатов. Недостатки данного метода заключаются в следующем:

любые доверительные отношения в системе строятся через корневой узел;

цепочка сертификатов создается даже в том случае, когда два пользо­ вателя зарегистрированы в одном СА;

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

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

Реверсивные сертификаты и модель доверия

на основе ориентированного графа

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

Модель доверительных отношений на основе ориентированного графа яв­ ляется примером распределенной модели доверительных отношений, а при­ веденные схемы являются моделями децентрализованных доверительных

Специфические криптографические протоколы

157

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

2.4. Специфические криптографические протоколы

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

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

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

безопасные выборы;

совместная подпись контракта;

групповая подпись;

доверенная подпись;

неоспариваемая подпись;

слепая подпись;

забывающая передача;

подбрасывание монеты по телефону;

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

2.4Л . Безопасные выборы

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

158______ Аспекты создания и применения криптографических протоколов

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

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

гарантию того, что только законные избиратели могут подать голос;

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

условие, чтобы ни один пользователь не мог иметь больше одного го­ лоса;

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

Протокол безопасного голосования основывается иа использовании двух доверенных сторон - агентства по проверке голосующ его ( 1) на

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

щему разрешено голосовать, то отправляет голосующ ему значение

ЕД1), являющееся идентификатором голосующего, и фиксирует факт об­ ращения (участия в выборах). Далее голосующий вычисляет значения Е2(1) (секретный идентификатор) и Е3(1) (результат голосования) и по­ сылает Т 2 (ЕД1), Е2(1), Е3(1)). Т 2 проверяет, существует ли Е ^ ) в списке разрешенных идентификаторов голосующих; если существует, то добав­ ляет Е2(1) к списку голосующих за Е3(1). Преобразования Е 1; Е2 и Е3 мо­ гут носить необратимый характер, либо здесь могут использоваться асим­ метричные алгоритмы. Приведенный протокол будет уязвим в случае, если Т) и Т 2 состоят в сговоре. Усиление данного протокола возможно в случае использования его вместе с протоколом забывающей передачи данных.

Специфические криптографические протоколы

159

2.4.2. Совместная подпись контракта

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

1.Участник А подписывает копию контракта и направляет ее арбитру.

2.Участник В подписывает свою копию контракта и направляет ее ар­ битру.

3.Арбитр направляет сообщения участникам А и В, информирующие их о том, что оба подписали контракт.

4.Участник А подписывает две копии контракта и посылает их участ­ нику В.

5.Участник В подписывает обе копии контракта, одну из которых остав­ ляет себе, а другую отправляет участнику А.

6.Участники А и В информируют арбитра о том, что они оба подписали контракт.

7.Арбитр уничтожает обе копии контракта, имеющие по одной подписи.

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

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

1.Оба участника (А и В) случайным образом выбирают 2п ключа для алгоритма БЕЗ, разбитые на пары.

2.Оба участника генерируют п пар сообщений (где Ь, - левая часть пары сообщений, а - правая часть пары сообщений) и зашифровывают их на парах ключей БЕЗ (левая часть пары сообщений зашифровыва­ ется на левой части пары ключей и т.д.).

160Аспекты создания и применения криптографических протоколов

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

4.Участники посылают друг другу по одному ключу из каждой пары.

5.Участники расшифровывают те половины сообщений, которые за­ шифрованы на полученных половинах пар ключей, и убеждаются, что расшифрование прошло успешно.

6.Оба участника посылают друг другу первые биты всех 2п ключей БЕЗ, далее - вторые биты всех 2п ключей ОЕЗ и т.д.

7.Участники расшифровывают оставшиеся части сообщений, и в случае успешного расшифрования считается, что контракт подписан.

8.Участники обмениваются секретными ключами и проверяют, что в ходе выполнения протокола не было мошенничества.

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

2.4.3. Групповая подпись

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

Групповые подписи обладают следующими свойствами:

только члены группы могут подписывать сообщения;

получатель подписи может убедиться, что это правильная подпись группы;

получатель подписи не может определить, кто именно из членов груп­ пы подписал документ;

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