Скачиваний:
93
Добавлен:
18.10.2019
Размер:
14.08 Mб
Скачать

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 secrecy). Протокол обладает свойством совершенной опережающей секретности, если компрометация долговременных ключей не ком­

прометирует прошлые сеансовые ключи участников протокола.

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-

ПА,/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.

 

Вычисляет

 

 

Вычисляет

 

а-I mod(p-l)

 

 

ь:' mod(p -1)

 

 

 

 

К - случ.: 1 ~ К s; Р - 1

 

 

 

 

 

 

 

 

ка modp

 

-7

 

 

 

 

 

 

 

 

 

f-

(к(/)" шоdР

 

 

 

 

 

 

 

 

 

 

(каЬ (1 mod р(= КЬ

mod р

-7

 

 

 

 

 

 

 

 

 

 

 

 

к - сеансовый КЛЮЧ

((к"ь('Jb- I

modp

 

 

 

(= Kmodp)

 

 

 

 

 

 

Это единственныйв своем роде протоколтранспортировкиклю­ чей, который, используя только методы симметричнойкриптогра­ фии (но привпекая операцию модульного экспоненцирования),по­ зволяет выработать общий секретный КJIЮЧ двум абонентам по ОТ­ крытому каналу связи, не требуя наличия у НИХ ни открытых, ни общихсекретныхключей.