<<
>>

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

на симметричных криптосхемах
Протоколы распределения ключей, основанные на симметричных криптосхемах, удобно разделить на два больших класса: прото-колы без центра доверия (двусторонние) и протоколы с центром до-верия.
Класс двусторонних протоколов включает протоколы обновле-ния ключа с использованием симметричного шифрования и прото-колы выработки производного ключа.
Протоколы обновления ключа, как мы уже знаем, вырабатывают совершенно новый ключ, не зависящий от имеющегося у участников протокола ключевого материала.
Самым простым примером этого рода протоколов служит одно-проходный протокол между сторонами А и 5, у которых уже имеется долговременный ключ К (табл. 2.2). В результате они вырабатывают новый сеансовый ключ s.
Таблица 2.2. Простой однопроходный протокол обновления
сеансового ключа А К— долговременный ключ В гА - случайное число, Е^гА) s = rA s = rA
К недостаткам этого протокола можно отнести то, что ключ це-ликом определяется только одним участником, протокол уязвим к атаке методом повтора сообщений и не предоставляет гарантий под-линности участников.
Двухпроходньш протокол (табл. 2.3) уже обеспечивает двусто-роннюю аутентификацию сторон, но для его выполнения участники должны иметь синхронизированные часы.
Запечников С. В. Криптографические протоколы и их применение
Таблица 2.3. Простой двухпроходный протокол обновления
сеансового ключа А К- долговременный ключ в гА - случайное число, E^rA,tA,B) <е Ек(гв,гв,А) s =f(rA,rB) s =ДгА,Гв)
Протоколы транспортировки ключа методом «запрос - ответ» строятся на основе аналогичных протоколов аутентификации. В табл. 2.4 показан протокол, который обеспечивает одностороннюю аутентификацию методом «запрос - ответ». В нем ключ целиком определяется одним участником - абонентом А - и транспортируется второму участнику.
Таблица 2.4. Протокол транспортировки ключа методом
«запрос - ответ» А К - долговременный ключ В <Г пв гА - случайное число, Е^гА,пв,В) S~rA s=rA
Протокол, помещенный в табл. 2.5, обеспечивает взаимную аутентификацию методом «запрос ~ ответ», и сеансовый ключ в нем определяется уже совместным вкладом обоих участников. По своей конструкции он может быть отнесен к «протоколам рукопожатия».
Таблица 2.5. Протокол транспортировки ключа, построенный на базе «протокола рукопожатия» А К - долговременный ключ В <г пв пА>гА - случайное число, Ек(гА,пА,пв,(В)) гв - случайное число, Ек(гв,пв,пА,(А)) s = Кга, гв) s =.f(rA,re)
Ни один из приведенных выше протоколов обновления ключа с использованием симметричного шифрования не обладает свойством совершенной опережающей секретности. Более того, все протоколы с числом пересылок сообщений две и более принципиально не го-дятся для прикладных программ с передачей данных в режиме «хра- нение и продвижение» (store-and-forward), таких, как электронная почта, так как, очевидно, они требуют диалога участников.
Протоколы выработки производного ключа позволяют участни-кам получать сеансовые ключи, зависящие от уже имеющегося у них ключевого материала.
Среди протоколов этого рода рассмотрим однопроходный протокол (табл. 2.6). В нем сеансовый ключ s вычисляется каждым уча-стником самостоятельно из долговременного ключа и случайного числа, вырабатываемого участником А в каждом раунде протокола. Правильность вычисления ключа проверяется каждым из участни-ков по факту получения осмысленной информации в последующих сеансах связи.
А может контролировать ключ в этом протоколе, вы-бирая его в виде rA - Dfjx). Протокол уязвим к атаке методом повтора сообщений.
Таблица 2.6. Однопроходный протокол выработки
производного ключа А К - долговременный ключ В гА - случайное число •г = Ек(га) или ^ = hK(rA) s = Ек(га) или s = 1гк(гА)
Все рассмотренные ранее протоколы обеспечивали лишь огра-ниченный набор свойств защиты, будучи подвержены тем или иным атакам. Задача построения доказуемо безопасного протокола рас-пределения ключей без центра доверия была решена Bellare и Roga- way. Ими был предложен протокол АКЕР2 - Authenticated Key Exchange Protocol, показанный в табл. 2.7. Здесь hK - хеш-функция с ключом, tiK' - псевдослучайная перестановка или хеш-функция с ключом.
Таблица 2.7. Протокол АКЕР2 А К, К' - долговременные ключи В гА - случайное число гв - случайное число, Т= (В,А,Гл,гв), Т, hK(T) (А,гв) hK(A,rB) s = tiK.(rB)
Доказано, что этот протокол обеспечивает взаимную аутентификацию участников и неявную аутентификацию ключа, т. е. является протоколом аутентичного распределения ключей в смысле введен-ного ранее определения.
Как видим, протоколов без центра доверия существует довольно много, и такое многообразие обусловлено отсутствием одного- единственного, «идеального» протокола: в различных ситуациях и различных приложениях бывает удобно использовать разные прото-колы.
Довольно любопытен трехэтапный протокол Шамира (табл. 2.8).
Таблица 2.8. Трехэтапный протокол Шамира А р: вычисление дискрет-ного логарифми modр вычислит, сложно В Выбирает я : 1 < а < р-2,
(а,р-=
Вычисляет
a'1 mod (р-1) Выбирает b:l(b,p~l) = l.
Вычисляет
b~x mod (/7-і) К - случ.: \<К< р-1 К" mod р <е [К" )'' mod р (К'*)"' modр(= K"modp к - сеансовый ключ mo dp
(= К mod p)
Это единственный в своем роде протокол транспортировки ключей, который, используя только методы симметричной криптографии (но привлекая операцию модульного экспоненцирования), по-зволяет выработать общий секретный ключ двум абонентам по от-крытому каналу связи, не требуя наличия у них ни открытых, ни общих секретных ключей.
2. Инфраструктура криптосистем 129
Протокол обеспечивает защиту только от пассивного противника и не обеспечивает аутентификацию. В сущности, он решает ту же самую задачу, что и классический, хорошо известный протокол обмена ключами Диффи - Хеллмана (о котором мы еще раз напомним в подразд. 2.2.4), но путем транспортировки ключей, а не обмена ключами, и используя для этого три пересылки сообщений вместо двух.
Рассмотрение протоколов с центром доверия начнем с прото-кола Needham - Schroeder, предложенного в 1978 г. Он был первым протоколом этого класса, опубликованным в научной литературе. Начальные условия для него таковы: Т - это центр доверия, А и Т имеют общий секретный КЛЮЧ КАТ, В и Т имеют общий секретный ключ КВТ\ NA - неповторяющаяся ни в одном сеансе протокола вели-чина, чаще всего это случайное число; s - сеансовый ключ, выраба-тываемый сервером; А, В - идентификаторы участников протокола. Протокол выполняется следующим образом:
Т^А: EKAT{NA,B,s,EKJs,A%
А^В: EKbt(s,A), (4 )B*A:ES(NB), (5)А^В: E,(NB-l).
Достоинства этого протокола состоят в том, что он обеспечивает взаимную аутентификацию участников А и В, а также обладает свойством подтверждения ключа (Тявляется центром распределения ключей).
К недостаткам можно отнести тот факт, что противник имеет неограниченное время для компрометации ключа s.
Если же ключ s скомпрометирован, возможна атака на протокол методом повтора сеанса: берутся сообщения из прошлого сеанса с ключом s *:
Т^А: EK/iT{NA^s,EKffr(s,A)),
Е*В: Ек (у*, А),
130 Запечников С. В. Криптографические протоколы и их применение
В -ЇЕ: ES+(NB),
Е*В: E^{Nb- 1).
В выполнении шагов (1) - (2) протокола В не участвует и не ви-дит их. На шаге (3) противник Е подставляет старое сообщение Ек^ (s*, А). При выполнении шагов (3) - (5) участник В не имеет
никаких гарантий «свежести» ключа, т. е. того, что он был сгенери-рован именно в текущем сеансе. Следовательно, Е может участво-вать в протоколе с В вместо А.
Если ключ КАТ скомпрометирован, противник может повторять сеансовые ключи даже после смены участником А своего долговре-менного ключа КАт, как показано ниже:
E^T:A,B,Na,
Г-»?: EKKr{NA,B,s*,EKJs*,Aj),
зная ключ, Е «добывает» NA,B,s*,EKn ,(s*,A), из него берет ЕКрт (.у*, А) и подставляет в следующее сообщение:
Е В : EKJs*tA),
В^Е: E^{Nb),
?->Я: Es*(NB-l).
Несколько видоизмененный протокол Needham - Schroeder был положен в основу программного средства аутентификации пользо-вателей распределенных вычислительных систем Kerberos, разрабо-танного в Массачусетском технологическом институте (США) и по-лучившем широкое распространение. Модифицированный протокол также получил название протокола Kerberos.
В целях исключения возможности осуществления атаки, опи-санной выше, применяются технические меры. Клиент Су пройдя ау-тентификацию на сервере аутентификации AS, должен предварительно, до того как ему будет предоставлен доступ к серверам при-ложений, получить у специального сервера выдачи билетов TGS так называемые билеты-структуры данных, в которых указывается срок полномочий клиента для доступа к серверам приложений. По исте-чении этого срока клиент должен получать новый билет. Эта мера ограничивает срок, в течение которого возможно осуществить атаку на протокол. Схема взаимодействия участников для протокола Кег- beros версии 4 показана на рис. 2.10.

Рис. 2.10. Взаимодействие участников протокола Kerberos версии 4


Рис. 2.10. Взаимодействие участников протокола Kerberos версии 4


Далее используются следующие обозначения:
с, s, tgs - идентификаторы клиента, сервера приложений и сервера выдачи билетов соответственно;
Nc - не повторяющаяся ни в одном сеансе протокола величина, чаще всего это случайное число;
Кс - предустановленный секретный ключ, общий для клиента и сервера аутентификации (чаще пароль клиента, вводимый при входе в систему);
Kclgs - предустановленный системный секретный ключ, общий для сервера аутентификации и сервера выдачи билетов;
K(.jgS - общий секретный ключ для клиента и сервера выдачи билетов, выдаваемый сервером аутентификации;
KCiS - общий для клиента и сервера приложений секретный ключ, выдаваемый сервером выдачи билетов;
kc s~ общий сеансовый секретный ключ, вырабатываемый клиентом и сервером приложений;
TCJGX, TC S - билеты для доступа клиента к серверу выдачи билетов и к серверу приложений соответственно;
A-c,tgs> ACiS - аутентификаторы клиента для сервера выдачи билетов и сервера приложений соответственно;
ta tlgs - метки времени, получаемые клиентом и сервером выдачи билетов соответственно;
І, Ґ ~ сроки действия билетов.
132 Запечников С. В. Криптографические протоколы и их прішеиеиие
Спецификация сообщений, передаваемых в протоколе, приведе-на ниже:
С AS: с, tgs, Nc,
AS С : EKr {Nr,Kr^Tc^={tgs,EKiei (cjgs^K^)}),
С TGS : ACJgs = EKcigj (c,tc,...),s,Tc tgi.,
TGS^C : (kcs,TCiS = {s,EKi (c,sJVJ'tKrj)})t
C*S: ArtS=EKJcJc,kc^4TrtS,
* S^C: Asc = ЕК з (s,ic + l,ksx,...).
Шаги (1) - (2) выполняются только во время первого входа клиента в систему. Шаги (3) - (4) выполняются всякий раз, когда клиент С хочет обратиться к новому серверу S. Шаг (5) выполняется всякий раз, когда С проходит аутентификацию для S. Шаг (6) является не-обязательным и выполняется, когда С требует от S взаимную аутен-тификацию.
Впоследствии протокол был обобщен на случай многодоменной информационной системы, когда в каждом домене имеется свой сервер аутентификации и сервер выдачи билетов. Этот протокол получил название Kerberos версии 5. Схема взаимодействия участни-ков для него показана на рис. 2.11.

Рис. 2.11. Взаимодействие участников протокола Kerberos версии 5


Рис. 2.11. Взаимодействие участников протокола Kerberos версии 5


2. Инфраструктура криптосистем 133
Ниже приведена спецификация сообщений, передаваемых в про-токоле (обозначения аналогичны тем, что использовались в преды-дущей спецификации):
С -> лок. AS : с, tgs, Na...,
лок. AS -> С:
С лок. TGS : АсJgs = E^ic^.^tgs-rem.N^T^
лок. TGS С : ,
С^ удал. TGS : Actss_rei)lJr^rcm,s-rem,Nr,...,
удал.TGS^C: ^ [Кс^_гет, - rem, Nr, ttRS_rem,..) Tc s_rem,
С удал. 5 : ACiS_nm = (cjc
* удал. S С: As_mtlc = + U™.r,.»)-
Шаги (1) - (2) выполняются только во время первого входа клиента в систему. Шаги (3) - (4) выполняются всякий раз, когда клиент С хочет обратиться к серверу S, расположенному в новом домене (в который он ранее не обращался). Шаги (5) - (6) выполняются вся-кий раз, когда С обращается к новому серверу S в удаленном отно-сительно него домене. Шаг (8) является необязательным и выполня-ется, когда С требует от S взаимную аутентификацию.
Билеты в этом варианте протокола имеют такую структуру:
Tc,,ss-rc,n = - Гет' (C^8s - гет1 Kc,S,-r,n, )} '
Tc,s-rem ={s-rem,(c,s-rem,tlgs_remJ,Kcs_rem)}.
С целью устранения уязвимостей, присущих протоколу Needham - Schroeder (и основанных на нем протоколов), был пред-ложен протокол Otway - Rees. Начальные условия для него таковы: Т - центр доверия; А и Г имеют общий секретный ключ КАТ\ В и Т имеют общий секретный ключ Квт; I обозначает идентификатор се-анса связи; s - сеансовый ключ, выработанный в протоколе. Прото-кол выполняется следующим образом:
(1 )А^В: I,A,B,EK (NaJ,A,B),
134 Запечников С. В. Криптографические протоколы и іос применение
(2) Д Г: /, Л, В>ЕКаг (Na , /, Л, В), ЕКт (NB, /, А, fi),
(4)В->А: I,EKjNA,s).
Протокол обеспечивает неявную аутентификацию ключа ^ и дает гарантию его «свежести». Однако он не обеспечивает аутентификацию участников протокола и подтверждение ключа. Для этой цели предложено следующее расширение протокола:
В->А: EKjNA,s),Es(l,NB),
А*В: ES(NB).
На протокол возможна атака методом «смещения доверия с сервера». Пусть Е - другой авторизованный пользователь системы. Он может деперсонифицировать В\
(1 )А^В: I,A,B,EKat{NaJ,A,B),
(2) В Е : /, А, В, ЕКлт (NA, /, А, В\ЕКю (Nb , I, А, 5),
(2*) Е-ЇТ: I, A, E, ЕКа (Na , /, А, В\ ЕКег (УУ?, /, А, В),
Атака возможна благодаря тому-способу, которым А выводит за-ключение об аутентичности В на шаге (4) протокола: А не имеет прямого указания на другого участника, которому Т сделал доступ-ным ключ я, но полагается на случайное число NA в сообщении (4) и на тот факт, что оно было ассоциировано с В в защищенной части сообщения на шаге (1). Таким образом, А полагается на то, что Т сделал ключ s доступным именно тому участнику В, которого запросил А на шаге (1). А это может быть гарантировано Т только путем проверки совпадения содержимого полей, записанных в открытой и защищенной частях сообщения, пересылаемого на шаге (2). Наборы величин (1,А,В), трижды повторяющиеся в сообщении
(2) В Т: /, А, В, Е (NaJ, А, В), Ек (,NBJ, А, Я),
2. Инфраструктура криптосистем 135
должны быть абсолютно одинаковы. Это условие в явном виде должно проверяться при реализации протокола.
Долгая история конструирования все более стойких протоколов с центром доверия привела к созданию Bellare и Rogaway доказуемо стойкого протокола аутентичного распределения ключей, получив-шего название протокола 3PKD - 3-Party Key Distribution. Пусть
К™С - общий секретный ключ шифрования А и Т, К^!С - общий секретный ключ шифрования В и Т, К'™,с - общий секретный ключ аутентификации А и Г, К'Ц'"с ~ общий секретный ключ аутентификации В И Т. Тогда спецификация протокола имеет следующий вид:
(1 )A^B:Ra,
(2 )B^T:Ra>Rb,
Т -> А : Ект {K),MACKT(A,B,Ra,Ек7 (к)),
Т-> В : Ек7 {к)МАСкТ(КВЛв,ЕкТ (к)),
при условии существования семантически безопасной схемы шиф-рования (E,D), безопасной схемы аутентификации сообщений (MAC,Vf) и псевдослучайного генератора Gen.
<< | >>
Источник: Запечников С. В.. Криптографические протоколы и их применение в финансовой и коммерческой деятельности: Учебное пособие для вузов. - М.: Горячая линия-Телеком,2007. - 320 с.. 2007
Помощь с написанием учебных работ

Еще по теме 2.2.3. Протоколы распределения ключей, основанные:

  1. ПРЕДИСЛОВИЕ
  2. 1.1. Закономерности организации сложных криптосистем
  3. Криптографические функции
  4. 1.2. Основы теории криптографических протоколов
  5. 1.4. Протоколы аутентификации
  6. 1.4.3. Аутентификация, основанная на доказательствах с нулевым разглашением знания
  7. 1.5. Проблемы обеспечения конфиденциальности и аутентичности информации
  8. 1.8. Технические средства поддержки криптографических протоколов
  9. 2.1.2. Жизненный цикл криптографических ключей
  10. 2.1.3. Модели управления ключами
  11. 2.1.7. Особенности управления ключами в сложных (многодоменных) информационных системах
  12. 2.2. Протоколы распределения ключей
  13. 2.2.2. Свойства протоколов распределения ключей
  14. 2.2.3. Протоколы распределения ключей, основанные
  15. 2.2.4. Протоколы распределения ключей, основанные на асимметричных криптосхемах
  16. 2.2.5. Конферепц-связъ