Помощь в учёбе, очень быстро...
Работаем вместе до победы

Протоколы, основанные на симметричных криптосхемах

РефератПомощь в написанииУзнать стоимостьмоей работы

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

Протоколы, основанные на симметричных криптосхемах (реферат, курсовая, диплом, контрольная)

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

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

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

Самым простым примером этого рода протоколов служит однопроходный протокол между сторонами, А и В, у которых уже имеется долговременный ключ К (табл. 4.15). В результате они вырабатывают новый сеансовый ключ s.

Таблица 4.15

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

А.

К — долговременный ключ.

в.

гЛ — случайное, Екл).

—.

S = rA

s = г,.

Записи протоколов теперь можно упростить, опуская очевидные действия участников: например, достаточно записать, что один из участников зашифровывает некоторые данные и отправляет шифртекст в канал связи — при этом очевидно, что вторая сторона должна его расшифровать и выполнить необходимые проверки извлеченного из шифртекста сообщения.

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

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

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

А.

К — долговременный ключ.

В.

ГЛ — случайное, Екл, tA, В)

—.

Ыг" б?".

s = Лгл-'").

5 =/(ГЛ' г в)

Протоколы транспортировки ключа методом «запрос — ответ» строятся на основе аналогичных протоколов аутентификации. В табл. 4.17 показан протокол, который обеспечивает одностороннюю аутентификацию методом «запрос — ответ». В нем ключ целиком определяется одним участником — абонентом, А — и транспортируется второму участнику.

Таблица 4.17

Протокол транспортировки ключа методом «запрос — ответ».

А.

К — долговременный ключ.

В.

гА — случайное, Екл, пв, В)

*—.

пв

s = rA

s = rA

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

Таблица 4.18

Протокол транспортировки ключа, построенный на базе «протокола рукопожатия».

А

К — долговременный ключ.

В.

пл, гл — случайные,.

пв

Ека, пл, пв, (В)).

гв — случайное,.

s=f (rA, rB)

Екв, пв, пА, (Л)).

s=f (rA, rB)

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

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

Таблица 4.19

Однопроходный протокол выработки производного ключа.

А.

К — долговременный ключ.

в.

гЛ — случайное.

—.

5 = Ек (>'л) или s = hK(rA)

5 = Ек (гл) или Л- = hK(rA)

Все рассмотренные ранее протоколы обеспечивали лишь ограниченный набор свойств защиты, будучи подвержены тем или иным атакам. Задача построения доказуемо безопасного протокола распределения ключей без центра доверия была решена М. Белларе (М. Bellare) и Ф. Рогуэем (Р. Rogaway). Ими был предложен протокол АКЕР2 — Authenticated Key Exchange Protocol (протокол аутентифицированного обмена ключами), показанный в табл. 4.20. Здесь hK — хэш-функция с ключом, h'K — псевдослучайная перестановка или хэш-функция с ключом.

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

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

Таблица 4.20

Протокол АКЕР2.

А.

К, К' долговременные ключи.

в.

гА — случайное.

—.

гв — случайное,.

Т- (В, А, гл, rB), Т hK(T)

(A, rB), hK(A, rB)

о;

—.

s = h'K.(rB)

s = h'K.(rB)

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

Таким образом, очевидно, что протоколов без центра доверия существует довольно много, и такое многообразие обусловлено отсутствием одного-единственного «идеального» протокола: в различных ситуациях и различных приложениях бывает удобно использовать разные протоколы.

Рассмотрение протоколов с центром доверия начнем с протокола Нидхэма — Шредера (Needham — Schroeder), предложенного в 1978 г. Он был первым протоколом этого класса, опубликованным в научной литературе. Начальные условия для него таковы: Т — это центр доверия, А и Т имеют общий секретный ключ KAV В и Т имеют общий секретный ключ КВТ NA неповторяющаяся ни в одном сеансе протокола величина, чаще всего это случайное число; s — сеансовый ключ, вырабатываемый сервером; А, В — идентификаторы участников протокола. Протокол выполняется следующим образом:

  • (1) А —? Т: А, В, Na,
  • (2) Т-А :ЕКата, В,8,ЕКвт(8,А)У,
  • (3) А-В :EKbt(s, A);
  • (4) В-A :ES(NB);
  • (5) А -> В: E?NB — 1).

Достоинства этого протокола состоят в том, что он обеспечивает взаимную аутентификацию участников, А и В, а также обладает свойством подтверждения ключа (Т является центром распределения ключей).

К недостаткам можно отнести тот факт, что противник имеет неограниченное время для компрометации ключа л Если же ключ 5 скомпрометирован, возможна атака на протокол методом повтора сеанса (берутся сообщения из прошлого сеанса с ключом s*):

  • (1) А —? Т: A, B, Na;
  • (2) Т — А: ЕКлтл, В, s, EKbt(s, А));
  • (3) Е —? В: EKJs А);
  • (4) В -«• Е: ES.(NB)-,
  • (5) Е —> В: ES.(NB — 1).

В выполнении шагов (1) и (2) протокола В не участвует и не видит их. На шаге (3) противник Е подставляет старое сообщение Екв7(5*, ^) — При выполнении шагов (3)—(5) участник В не имеет никаких гарантий «свежести» ключа, т. е. того, что он был сгенерирован именно в текущем сеансе. Следовательно, Е может участвовать в протоколе с В вместо А.

Если ключ КАТ скомпрометирован, противник может повторять сеансовые ключи даже после смены участником, А своего долговременного ключа КАГ> как показано ниже:

  • (1) Е-Т:А,?, ЛГЛ;
  • (2) Т — Е: EkJNa, В, s EkJs А)); ^

зная ключ, Е «добывает» NA, Ву s*, EKbt(s*, А), из него берет EKbt(s*, А) и подставляет в следующее сообщение:

  • (3) Е — В: EKbt(s А);
  • (4) В — Е: ES.(NB);
  • (5) Е —? В: ES.(NB — 1).

Несколько видоизмененный протокол Нидхэма — Шредера был положен в основу программного средства аутентификации пользователей распределенных вычислительных систем Kerberos, разработанного в Массачусетском технологическом институте в США и получившем широкое распространение. Модифицированный протокол также получил название протокол Kerberos.

В целях исключения возможности осуществления атаки, описанной выше, применяются технические меры. Клиент С, пройдя аутентификацию на сервере аутентификации AS, должен предварительно, до того как ему будет предоставлен доступ к серверам приложений, получить у специального сервера выдачи билетов TGS так называемые билеты — структуры данных, в которых указывается срок полномочий клиента для доступа к серверам приложений. По истечении этого срока клиент должен получать новый билет. Эта мера ограничивает срок, в течение которого возможно осуществить атаку на протокол. Схема взаимодействия участников для протокола Kerberos версии 4 показана на рис. 4.3.

Далее используются следующие обозначения:

с, s, tgs — идентификаторы клиента, сервера приложений и сервера выдачи билетов соответственно;

Nc — не повторяющаяся ни в одном сеансе протокола величина, чаще всего это случайное число;

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

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

Кс — предустановленный секретный ключ, общий для клиента и сервера аутентификации (чаще пароль клиента, вводимый при входе в систему);

Ks tgs — предустановленный системный секретный ключ, общий для сервера аутентификации и сервера выдачи билетов;

Кс — общий секретный ключ для клиента и сервера выдачи билетов, выдаваемый сервером аутентификации;

Кс s — общий для клиента и сервера приложений секретный ключ, выдаваемый сервером выдачи билетов;

kc s — общий сеансовый секретный ключ, вырабатываемый клиентом и сервером приложений;

Tc t, Тс s — билеты для доступа клиента к серверу выдачи билетов и к серверу приложений соответственно;

Ac tgs1 Acs — аутентификаторы клиента для сервера выдачи билетов и сервера приложений соответственно;

tc, tt — метки времени, получаемые клиентом и сервером выдачи билетов соответственно;

/, Г — сроки действия билетов.

Спецификация сообщений, передаваемых в протоколе, приведена ниже:

  • (1) С -? AS: Су tgSy Nc;
  • (2) AS — С: EK(N, K. lgK, Tctgs = {tgs, EKJc, tgs, tas, /, Kc tgsM
  • (3) C * TGS: Ac rgs = EKc J^Cy ?c,…), 5, Tc tgs;
  • (4) TGS — C: EKcJKcs> Tcs = {5, EK$(cy sy ttgs, Г у X,)});
  • (5) С — S: Acs = Ек (с, tc9 tc sJ…), Tc s]
  • (6) * S — C: Asc = EKJSy tc+y k5C,…).

Шаги (1)—(2) выполняются только во время первого входа клиента в систему. Шаги (3)—(4) выполняются всякий раз, когда клиент С хочет обратиться к новому серверу S. Шаг (5) выполняется всякий раз, когда С проходит аутентификацию для S. Шаг (6) является необязательным и выполняется, когда С требует от S взаимную аутентификацию.

С целью устранения уязвимостей, присущих протоколу Нидхэма — Шредера (и основанных на нем протоколов), был предложен протокол Отвэя — Риза (Otway — Rees). Начальные условия для него таковы: Т — центр доверия, А и Т имеют общий секретный ключ КАТ, В и Т имеют общий секретный ключ Квт I обозначает идентификатор сеанса связи, 5 — сеансовый ключ, выработанный в протоколе. Протокол выполняется следующим образом:

  • (1) A^B:I, AyByEK]T(NvIyAyBy,
  • (2) В — Т: /, А, В, ЕКлтАу /, Л, В), EKJNB, /, А, В);
  • (3) Т —' В: I, EkJNa, s), EkJNb, s);
  • (4) В — А: /, EKJNA, s).

Протокол обеспечивает неявную аутентификацию ключа s и дает гарантию его «свежести». Однако он не обеспечивает аутентификацию участников протокола и подтверждение ключа. Для этой цели предложено расширение протокола:

  • (4) В — A: EkJNa, s), ES(I, NB);
  • (5) А — В: E?NB).
  • 11а протокол возможна атака методом «смещения доверия с сервера». Пусть Е — другой авторизованный пользователь системы. Он может имперсонифицировать В:
    • (1) А —*• В: /, А, В, EKat(Na, /, А, В);
    • (2) В — Е: /, А, В, EkJNa, I, А, В), EKbt(Nb, I, А. В);
    • (2*) Е —? Т: /, А, Е, EKJNV I, Л, В), EKn(Np I, А, В);
    • (3) Т-Е: I, EK]i(Nvs), EKn(Nps);
    • (4) Е — Kat (Na, s).

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

(2) В — Т: /, А, В, EkJNa, I, А, В), EKbt(Nb, /, А, В),.

должны быть абсолютно одинаковы. Это условие в явном виде должно проверяться при реализации протокола.

Долгая история конструирования все более стойких протоколов с центром доверия привела к созданию М. Белларе и Ф. Рогуэем доказуемо стойкого протокола аутентичного распределения ключей, получившего название протокол 3PKD — 3-party key distribution. Пусть КА" С — общий секретный ключ шифрования, А и Т, Квпс — общий секретный ключ шифрования В и Т, КАас — общий секретный ключ аутентификации, А и Т, Кв‘" — общий секретный ключ аутентификации В и Т. Тогда спецификация протокола имеет следующий вид:

  • (1) А —? В: Ra,
  • (2) В —> Т: Ra, Rb,
  • (3) Т — А: ЕкГ(к), МАСкГ, В, R v ЕкТШ
  • (4) ТВ: EKT{k), МАСкГ{А, В, RB, В,(/ф),

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

Показать весь текст
Заполнить форму текущей работой