Реферат: ТИПИЧНЫЕ ДЕФЕКТЫ В КРИПТОГРАФИЧЕСКИХ ПРОТОКОЛАХ

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

Протокол передачи ключа с квитированием

В данном протоколе используется криптосистема RSA (типа RSA) для передачи по каналу ключей парной связи с ЭЦП, шифрованием и квитированием. Алгоритмы шифрования / расшифрования пользователей А , В , С обозначаются через (Еа , Da ), (Eb , Db ), (Ec , Dc ), причем все алгоритмы шифрования считаются открытыми, а каждый алгоритм расшифрования является секретом пользователя. Подписывание осуществляется применением алгоритма D , а проверка подписи - применением алгоритма Е . Авторизованный пользователь С играет роль противника. Для упрощения обозначений будем писать EDK вместо E (D (K )).

Формальная запись протокола:

A: ДСЧ(А) Kab ; Eb Da Kab =Х; [A║B║X] канал[║║]B

B: =B(?); Ea Db =КЗУ(В); Ea Db =Y; [B║║Y]

Þ канал [ ║║ ]A

A: =B(?); =A(?); Eb Da =;= Kab (?); Kab КЗУ(A)

Знаки “~ ” и “__ ” означают возможность модификации сообщений канальными ошибками или противником в направлениях АВ и ВА . Предположим, что протокол АВ проходит в отсутствии модификаций так, что Y = Ea Db Kab , но нарушитель С перехватывает квитанцию Y и начинает свой протокол СА .

С: AY] A

A: A= A(?); Ec Da Y= Ec Db Kab ºКЗУ (А); Ec Da =Z ;

[ACZ] C

C: Ea Dc Z=КЗУ (C); Eb Dc = Eb Dc Ec Db Kab =Kab КЗУ(C)

В результате С узнает ключ Kab и формирует с А ключ с отклонением от протокола, чего пользователь А не замечает.

Протокол Нейман - Стаблбайн

Словесное описание протокола:

- Пользователь А передает В свой нонс Na в открытом виде.

- Пользователь В шифрует на ключе Kbs нонс Na , свою отметку времени Тb и посылает серверу S вместе со своим нонсом Nb , который вернется к В от А в шифрованном виде на ключе Kab и будет проверен.

- Сервер S генерирует ключ Kab , шифрует его для А и В , но оба шифрованных сообщения отправляются к А с открытым нонсом Nb .

- Пользователь А выделяет соответствующую часть для В и посылает В вместе с Kab {Nb } , для проверки “свежести” полученного ключа Kab (Рис.9).

Рис.9

Атака . Противник Еа запускает протокол, выбрав число Na по своему усмотрению, из сообщения ВS выделяет Nb и Kbs {ANa Тb } , игнорирует сообщение а , составляет и посылает В последнее сообщение протокола: [Kbs {ANa Тb }Na {Nb }] , где вторая часть есть нонс Nb , шифрованный на Na , как на ключе. В этом сообщении роль Kab играет Na . Протокол не предусматривает проверок признаков ключа, а потому Na будет принято В как ключ парной связи Kab (заданный противником Еа ).

Протоколы, основанные на тождествах

Многие протоколы идентификации/аутентификации и ЭЦП основываются на проверке некоторого тождества в модульной арифметике. Если идентификационные данные, предъявляемые пользователем по каналу связи, и данные, выбираемые проверяющим из справочника, удовлетворяют проверочному равенству, то делается вывод, что пользователь есть тот, за кого себя выдает. Однако проверочное равенство обычно имеет гораздо больше решений, чем может быть получено по протоколу. Это позволяет подобрать числа, удовлетворяющие проверочному равенству, не зная секретных данных пользователя или сервера. Предъявляя эти числа в качестве идентификационных данных, можно в ряде случаев ввести в заблуждение проверяющего.

Для примера рассмотрим две модификации протокола односторонней идентификации. Предварительно сервер S выбирает надлежащим образом значения системных параметров (Р , ), генерирует от ДСЧ свой секретный ключ х , вычисляет соответствующий открытый ключ и рассылает всем пользователям постоянные (Р , , y ) по достоверному каналу. Далее, для каждого пользователя, например, для А сервер генерирует от ДСЧ случайное секретное число “К ”, вычисляет открытый идентификатор r= ak (mod p), находит секретный идентификатор S=K-1 (A+xr)mod(p-1) и по безопасному каналу передает А его идентификационные данные (A, r, S ), например, А получает их в ЦГРК при регистрации вместе с системными константами Р , , y . Заметим, что секретный идентификатор S является функцией неизвестного числа “К ”, которое стирается, и секретного ключа х сервера S , а также функцией адреса А и открытого идентификатора “r ”.

Двухшаговый протокол односторонней идентификации

В этом протоколе пользователь В , желая идентифицировать А , посылает “вопрос” (случайное число Z ) и проверяет правильность “ответа” А (Рис.10).

Формальная запись протокола:

В: ДСЧ(В) Z А

А: ДСЧ(А) t; rt (modp)=u; (S+tz) mod (p-1) = V; [A║r║u║v] B

B: ; A - аутентифицирован.

Рис.10

Заметим, что если какие-то числа А, r, u, v при заданных , y, z удовлетворяют уравнению (*) в обычной арифметике (без mod p ), то они удовлетворяют такому же уравнению по любому модулю.

Положим rij =, где i, j, l, m - целые. Тогда уравнение (*) удовлетворяется, если iv= A+lz; jv = rij + mz. Оба уравнения для всякого z дают одинаковые значения v , если пропорциональны их коэффициенты

К-во Просмотров: 279
Бесплатно скачать Реферат: ТИПИЧНЫЕ ДЕФЕКТЫ В КРИПТОГРАФИЧЕСКИХ ПРОТОКОЛАХ