Научная литература
booksshare.net -> Добавить материал -> Криптография -> Алферов А.П. -> "Основы криптографии Учебное пособие" -> 99

Основы криптографии Учебное пособие - Алферов А.П.

Алферов А.П., Зубов А.Ю., Кузьмин А.С., Черемушкин А.В. Основы криптографии Учебное пособие — М.: Гелиос АРВ, 2002. — 480 c.
ISBN 5-85438-025-0
Скачать (прямая ссылка): osnovikriptografii2005.djvu
Предыдущая << 1 .. 93 94 95 96 97 98 < 99 > 100 101 102 103 104 105 .. 126 >> Следующая


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

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

(1) В-+А:гв,

(2) А->В:ЕкАв(кл,гл,гв,В),

(3) В->А:Екм(к„гв,гл,А),

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

Приведем теперь “бесключевой” протокол А. Шамира, позволяющий передать ключ без использования какой-либо общей секретной информации.

Пусть имеется некоторое коммутирующее шифрующее преобразование Е. Это означает, что при всех сообщениях х и ключах к\ и кг выполняется равенство

Ek^Eki(X)) = Екг(Екх(х)).

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

Тогда пользователи AwB могут реализовать следующий трехшаговый протокол для передачи секретного ключа кот А к В:

(1) А-+В:Екл (к),

(2) В -> A: Ekfi (Екл (к)),

(3) A^B:DkA(EkB(EkA(k))).

Заметим, что в этом протоколе можно использовать не каждое коммутирующее преобразование Е. Например, легко заметить, что для преобразования Ejc (к) = к 0 Г протокол

оказывается заведомо нестойким. Поэтому в протоколе HIa-мира рекомендуется использовать преобразование вида

EfiA (к) = ка mod р, в котором константа а определяется

ключом кА.

Трехсторонние протоколы

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

Один из первых протоколов такого типа был предложен в работе [Nee78]. Он заключается в выполнении следующих шагов:

(1) А-+Т: А,В,г4,

(2) T^A:EkJrA,B,k,EkJk,A)) ,

381
І лава 1Ь

(3) В: EkJk,А) ,

(4) В->А:Ек(гв) ,

(5) А^В:Ек(гв-1) .

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

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

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

(1) А—>Т: А,В,гЛ,

(2) Т-^А\Ект{к,гЛ,Ь,В),бшет,

(3) А—у В: билет, аутентификатор,

(4) В^А: Ek(t,kB).

Здесь “билетом” названа величина EkBT(k,A,L), “аутентификатором” — величина Ek(A,t,kJ, t — метка времени; L — период времени действия билета, гА — случайное число, сгенерированное абонентом А и вставленное в передаваемое сообщение для взаимной аутентификации, а кл и кц — случайные числа, сгенерированные абонентами А и В соот-

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

ветственно, и используемые либо в качестве ключа шифрования информации другой стороне, либо для выработки общего ключа kAB = f(knkB) с помощью некоторой функции/

В полном протоколе Kerberos описанный выше базовый протокол используется два раза. Дело в том что в нем предусмотрено два сервера (см. рис. 51). Первый — “сервер аутентификации”, обозначаемый AS, выдает так называемые “билеты для получения билетов” (tgt), содержащие ключи, предназначенные для длительного использования. Второй сервер, TGS, — “сервер выдачи билетов”, выдает обычные билеты для доступа к сетевым ресурсам и обращения к другим пользователям.

Рис. 51

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

(1) А-+AS: A,TGS,гА,

(2) AS-*A: EkAAS(kATGS,rA,LuTGS),tgt,

(3) А —> TGS: tgt, аутентификаторь В,ГА,

(4) TGS^ A: EKAJGS{k,rA\L2,B), билет,

(5) А-+ В: билет, аутентификатор2,

383
І лава 1Ь

(6) В -> A: Ek(t2,kB),

где

tgt = Е к AS,TGS V1AIGS ,A, L1),

аутентификатору = Ek А T(JS (A9tx) ,

билет = Ejcb tqs (K9A9L2)9

аутентификатор2 = E^ (A9t2, кд ) .

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

Приведем еще один протокол распределения ключей с использованием сервера (см. [Otw87]), предпочтительный для случая, когда сервер находится в более удобном расположении для второго абонента. Протокол состоит в выполнении следующих действий:
Предыдущая << 1 .. 93 94 95 96 97 98 < 99 > 100 101 102 103 104 105 .. 126 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

Есть, чем поделиться? Отправьте
материал
нам
Авторские права © 2009 BooksShare.
Все права защищены.
Rambler's Top100

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed