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

Алфёров А.П., Зубов А.Ю., Кузьмин А.С., Черемушкин А.В. Основы криптографии

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

I 1ротоколы распределения ключей

Для восстановления секрета 5 можно воспользоваться ин­ терполяционной формулой Лагранжа [Лид88]. Путь имеются I пар (х/9V , ) , где = /(х ,). Тогда формула Лагранжа имеет вид

Так как я = /(0 ), то из формулы Лагранжа получаем ра­ венства

причем коэффициенты с1не зависят от коэффициентов многочленаХх) и могут быть вычислены заранее.

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

Схема Шамира удобна тем, что она позволяет легко уве­ личивать число пользователей. Для этого не нужно ничего менять, кроме множества {г\9 ..., гп}, к которому следует до­ бавить новые элементы г„+ь ..., гп+„. Заметим, что компроме­ тация одной доли делает из (и,/)-пороговой схемы ( л - 1, / - 1 )-пороговуюсхему.

§15.5. Способы установления ключей для конференц-связи

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

401

I лава 1Ь

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

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

Другой подход основан на использовании идеи открытого распределения ключей.

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

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

кативной группы 2* = {1,2,...,/? - 1} . Для выработки обще­

го ключа к пользователи А, В и С должны сгенерировать со­ ответственно случайные числа х, у и 2, 1< х 9у 9г < р - 2 . За­ тем они должны обменяться сообщениями согласно следую­ щему протоколу:

402

Протоколы распределения ключей

(1)А —* В: X - а хт о ё р ,

(2)В —* С: У = а у т о ё р ,

(3)С —* А'. 2 = а : т о ё р ,

(4)Л —►В: 2'= 2 х т о ё р ,

(5)В ^ С : Х ' = Х у той р ,

(6)С —>Л: У’= У2то6р.

Искомый общий ключ к = а ху2 т о ё р теперь вычисля­ ется пользователями А, В и С по формулам:

к = (Г1) * т о ё р ,

к= (2 ') ^ т о ё /?,

к= (Х ?) г т о ё р

соответственно.

Рассмотрим теперь протокол формирования общего клю­ ча для конференц-связи группы из I пользователей С/,-1 ,

предложенный в статье [Впп90]. Как и в предыдущем прото­

коле, каждый пользователь

(У, должен сгенерировать сек­

ретное случайное число г„

1 < гг < р 2 , и вычислить откры­

тую экспоненту — а г' т о ё р . Положим

А = а г^ = ( 2 т, Г ' .

Тогда общий ключ к имеет вид

к = а т+ГЛ* +Г,~[Г° т о ё р = А<)А1...А,_хт о ё р .

403

 

 

/лава 75

Протокол состоит из следующих шагов:

 

(1) каждый пользователь II, рассылает г,

остальным I 1

пользователям;

 

 

(2) каждый пользователь II,

вычисляет значение

Х 1~ /+1 / 1 г_хУ' т о ё р и рассылает

его

остальным г - \

пользователям;

(3) каждый пользователь II, вычисляет значение общего ключа к по формуле

к, - (2М)"' • х \ - ' • Л-';,2 •... • лгД.,_з • х 1 , _ г той р .

Покажем, что данное значение является искомым клю­ чом. В самом деле,

Л

1. У1~х. У 1~2

. у 2

.у]

/~1

^ I

л -1

• • •

1+1-2

= 4-, • (А-,Х, ) •

 

Х ы )..... (А,_,Х, Х м ■Х ш_2) =

= 4 -144,1 -4 -2 = -44 -4 -4 -1 ■

Поэтому А:/ = к .

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

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

§15.6. Возможные атаки на протоколы распределения ключей

При анализе протоколов обычно рассматривают несколь­ ко видов атак. Одну из них мы уже упоминали при рассмот­

404

/ 1ротоколы распределения ключей

рении протокола Диффи — Хеллмана. Она называется “зло­ умышленник в середине” и заключается в полной подмене всех сообщений между сторонами. Для защиты от нее необ­ ходимо дополнить протокол средствами взаимной аутентифи­ кации сторон. Это могут быть либо дополнительные, либо встроенные процедуры взаимной аутентификации. Использо­ вание дополнительных процедур в протоколе не всегда удоб­ но, так как злоумышленник может подменять не все сообще­ ния, а только относящиеся к выработке ключа. Более пред­ почтительно, чтобы аутентификация была заложена в сами процедуры выработки ключа, и в случае активного вмеша­ тельства протокол заведомо давал бы различные значения ключа сторонам и злоумышленнику.

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

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

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

405

I лава 1Ь

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

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

Контрольные вопросы

1.Каковы преимущества централизованного распределения ключей?

2.Какие шифры нельзя использовать в протоколе Шамира?

3.Каков недостаток протокола Нидхэма — Шредера?

406

Протоколы распределения ключей

4.С какой целью вводится второй сервер в протоколе КегЬегоз?

5.Как можно использовать цифровую подпись для защиты протоколов передачи ключей?

6. Каковы назначение и структура сертификата открытого ключа?

7.Каков основной недостаток протокола распределения ключей Диффи — Хеллмана и каковы пути его устране­

ния?

8. Что такое схема разделения секрета?

9.В чем общность и в чем отличия схемы разделения секре­ та и способов распределения ключей для протокола кон­ ференц-связи?

10.Перечислите основные атаки на протоколы распределения ключей.

407

Глава 16

Управление ключами

Управление ключами состоит из процедур, обеспечиваю­ щих:

включение пользователей в систему;

выработку, распределение и введение в аппаратуру ключей;

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

смену и уничтожение ключей;

архивирование, хранение и восстановление ключей. Управление ключами играет важнейшую роль в крипто­

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

Целью управления ключами является нейтрализация та­ ких угроз, как:

1 )

компрометация конфиденциальности секретных клю­

чей;

 

408

Управление ключами

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

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

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

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

ответственность и подотчетность всех субъектов, уча­ ствующих в управлении, а также

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

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

1. Главный ключ — высший ключ в иерархии, который не защищается криптографически. Его защита осуществляет­ ся с помощью физических или электронных средств.

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

3. Ключи для шифрования данных — используются для защиты данных пользователей.

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

409

I лава 16

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

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

Сокращение сроков действия ключей необходимо для достижения следующих целей:

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

ограничения размера ущерба при компрометации клю­

чей;

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

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

1. Ключи с длительным сроком действия. К ним отно­ сится главный ключ, час го — ключи для шифрования ключей.

2. Ключи с коротким сроком действия. К ним относятся ключи для шифрования данных.

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

Следует иметь в виду, что термин “короткий срок дейст­ вия” относится только к сроку действия ключа, а не к проме­ жутку времени, в течение которого ключ должен оставаться в секрете. Например, к ключу, используемому для шифрования

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

410