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

Мовсковский Институт Радиотехники, Электроники иАвтоМатики

 (технический университет).


Курсовая работа

На тему:

 

“ТИПИЧНЫЕ ДЕФЕКТЫ В КРИПТОГРАФИЧЕСКИХ ПРОТОКОЛАХ”.


Группа:ВИ-1-96

Студент:Матюшенков А.В.

Руководитель:Зязин В. П.

Москва 2000 год.

Введение.

В настоящий момент известно более тридцатикриптографических протоколов, которые предположительно считались безопасными.Часть из них носит имена своих авторов, другая часть рекомендованамеждународными стандартами МККТТ и ISO, третья — входит в национальныестандарты различных стран. Однако стандарты быстро устаревают, а в протоколахобнаруживаются дефекты разной степени тяжести, начиная от недостатков типанеобоснованной сложности протокола и до катастрофических недостатков, делающихпротокол крайне опасным. Здесь рассматриваются лишь несколько наиболее яркихпримеров криптографических протоколов с дефектами и атаками, использующими этидефекты.

Каждый протокол сначала кратко описывается словами спомощью рисунка для наглядности идеи протокола, затем представляется формальныйтекст протокола, уточняющий спецификацию протокола. Формальный текст протоколапишется на языке высокого уровня, получившем довольно широкое распространение влитературе по безопасности протоколов. Наконец, на этом же языке указываютсяодна — две атаки противника (нарушителя), использующие некоторые дефектыпротокола. Следует заметить, что эти атаки часто оказываются возможными толькоблагодаря недостаточно полной спецификации протокола; точнее, благодаря тому,что из множества возможных спецификаций протокола реализуется наиболееестественная, но неудачная. Это означает, что при более внимательном выбореспецификации протокола, с учетом знания отрицательных прецедентов, указанныеатаки, возможно, окажутся нереализуемыми или неэффективными.

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

Классификация криптографических протоколов

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

Для обеспечения свойства целостности передаваемыхсообщений симметричные алгоритмы шифрования / расшифрования, обычно,совмещаются с алгоритмами вычисления имитозащитной вставки (ИЗВ) на передаче ипроверки ИЗВ на приеме, для чего используется ключ шифрования. Прииспользовании асимметричных алгоритмов шифрования / расшифрования свойствоцелостности обеспечивается отдельно путем вычисления электронной цифровойподписи (ЭЦП) на передаче и проверки ЭЦП на приеме, чем обеспечиваются такжесвойства безотказности и аутентичности принятого сообщения.

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

Протоколыидентификации / аутентификации: в основе протокола идентификациисодержится некоторый алгоритм проверки того факта, что идентифицируемый объект(пользователь, устройство, процесс,… ), предъявивший некоторое имя(идентификатор), знает секретную информацию, известную только заявленномуобъекту, причем метод проверки является, конечно, косвенным, т.е. безпредъявления этой секретной информации.

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

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

Протоколы аутентифицированного распределенияключей: протоколы этого класса совмещают аутентификацию пользователей спротоколом генерации и распределения ключей по каналу связи. Протокол имеетдвух или трех участников; третьим участником является центр генерации ираспределения ключей (ЦГРК), называемый для краткости сервером S.

Протокол состоит из трех этапов, имеющих названия:генерация, регистрация и коммуникация.

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

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

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

Дефекты в криптографических протоколах

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

-    протоколы с криптосистемой DH (Диффи, Хэллман);

-    протоколы с криптосистемой RSA (Райвест, Шамир, Адлеман);

-    протоколы с коммутативным шифрованием (Шамир);

-    протоколы аутентифицированного распределения ключей;

-    протоколы, основанные на тождествах.

Протоколы с криптосистемой DH (Диффи, Хэллман)

Исторически криптосистема DH является первойкриптосистемой с открытыми ключами (КСОК), основанной на экспоненциальнойоднонаправленной функции. Сначала эта криптосистема использовалась как схемараспределения ключей для классической симметричной криптосистемы с секретнымиобщими ключами. Предварительно все пользователи сети связи получают от сервера Sпо достоверному каналу системные константы (Р, />), где простое число Р иоснование степени /> выбираютсянадлежащим образом.

Протокол ключевого обмена DH

Пользователи А и В формируют секретныйключ парной связи Kab с помощью следующего протокола (Рис.1)

-    Пользователь А от датчика случайных чисел (ДСЧ) генерируетслучайное число Xa,  вычисляет />ипосылает его В.

-    Пользователь В от своего датчика генерирует случайное число Xb,вычисляет/> и посылает его А.

-    Пользователь А, получив число YbотВ,вычисляет/>.

-    Пользователь В, получив число Ya от А,вычисляет/>.

/>

Рис.1

Числа Xa, Xb  стираются.Поскольку /> , то Kab = Kba.

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

А: ДСЧ (А) /> Xa; />;       [A ║ B ║ Ya] /> B

В: ДСЧ (В) /> Xb;/>/>КЗУ(В); />;

[B║A║Yb] /> A,

А: />

Здесь: ║- знак присоединения, [… ] — сформированное сообщение, КЗУ — ключевое запоминающее устройство.

Предполагается, что канал без ошибок и безвоздействий противника (Е).

Атака 1. Еb — противник Е, играющий роль пользователя В, перехватываетсообщение отА к В и формирует ключ парной связи Kea=Kae,причем А считает, что это ключ связи с В (Рис.2):

/>А: ДСЧ (А) /> Xa; />; [A ║ B ║ Ya] />Eb/>B

Eb: ДСЧ (E) /> Xе; />/>КЗУ(E); />;

[B║A║Ye] /> A

А: />

/>

Рис.2

Атака 2. Еа,Еb — противник Е, играющий роли пользователей Аи В, перехватывает сообщения от А и В, формирует ключиKae и Keb парной связи с А и Впутем ведения двух параллельных протоколов. В результате пользователи Аи В считают, что они имеют конфиденциальную связь на ключе Kab;в действительности они установили шифрованную связь с перешифрованием упротивника Е. (Рис.3).

/>

Рис.3

 

А: ДСЧ (А) /> Xa;   />;     [A ║ B ║ Ya] />Eb

Eb: ДСЧ (E) /> Xе;/>/>КЗУ(E);/>;

[B║A║Ye] /> A

Ea: [A║B║Ye] /> B,

А: />

В: ДСЧ (В) /> Xb;/>/>КЗУ(В);/>;             [B║A║Yb]/> Ea,

Ea: />

Протокол аутентифицированного ключевого обмена DH

После получения системных констант /> от сервера Sпользователи А, В, С,… генерируют от ДСЧ секретные ключи Ха,Хb, Xc,… ,  вычисляют открытые ключи />;     />;            />;… и помещают их взащищенный от модификаций общедоступный справочник {Ya, Yb,Yc, ...}. (Рис.4).

/>

Рис.4

 

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

В: ДСЧ (В) /> tb; />;  [B║A║Z] /> A

A: ДСЧ (A) /> ta; />;

/>; />;

[A║B║U║V] />канал [/>║/> ║/>║/>] />B

В: />=A(?); />=B(?);/>; />

Здесь знак “~” означает возможность искаженияканалом или модификации противником, знак “ ­ ” означает возведение в степень, /> - обратный к tbпо mod (p-1), знак (?)после равенства означает, что проверяется выполнение равенства:  приневыполнении протокол разрывается, при выполнении осуществляется переход кследующей операции.

В результате ключ /> при/>/> Uотличается от Kab<sub/>, если выполняется проверкааутентичности />/>. Отсюда следует:

Атака 1. Противник Еа,играющий роль пользователя А, подменяет в канале сообщение [A║B║U║V] на [A║B║/>║/>]с условием />. В результате пользовательВ формирует ложный ключ />/>Kab.

Атака 2. Противник Еb, играющий  рольВ, посылает Ачисло />, на что тот по протоколуотвечает числами (UV), где /> Врезультате противник Е устанавливает с А ключ парной связи Kae,переданный по открытому каналу связи, причем А считает, что это ключ длясвязи с В.

Протоколы с криптосистемой RSA

Предварительно все пользователи А, В, С,...  сети связи генерируют личные модули na, nb, nc,..., каждый из которых имеет структуру: n=pq произведения двух простыхчисел p и q (na=pa/>qa; nb=pb/>qb; nc=pc/>qc; ... ),  выбранныхнадлежащим образом [ 2 ]. Затем каждый пользователь соответствующим образомвыбирает пару чисел (e, d),  удовлетворяющих условию />, где /> Далее числа (n, e) вкачестве открытого ключа отправляются по достоверному каналу в общедоступныйсправочник. Числа (p, q, />, d)пользователи сохраняют в секрете.

Протокол шифрования и цифровой подписи по RSA

Данный протокол рекомендован МККТТ, рекомендацияХ.509. Дефект протокола состоит в неправильном порядке операции шифрования иподписывания: правильно сначала подписать, затем шифровать. В формальной записипротокола применяются следующие обозначения:

М — передаваемое сообщение от А к В;

Сb — шифрованноеАсообщение М на ключеeb получателя В;

Сba — сообщение Сb,подписанное А на ключе da отправителя А.

/>   /> 

/>    />

Предполагается, что nb<na.Обоснование последних двух равенств состоит в следующих преобразованиях:

/>/>

Атака1. Некоторый пользователь Х(нарушитель) перехватывает сообщение /> (Рис.5),снимает ЭЦП пользователя А, пользуясь открытым ключом (na,ea).

/>

Рис.5

Полученное шифрованное сообщение Сbон подписывает на своем секретном ключе dx, тем самымприсваивая себе авторство на сообщение М. Получив сообщение />, пользователь Вснимает подпись Х с помощью открытого ключа (nx, ex),расшифровывает на своем секретном ключе db и выделяетсообщение М, которое считает сообщением от Х, но не от А,если само сообщение М не содержит признаков А.

Замечание: если na=nb,то операции шифрования и подписывания становятся перестановочными, так чтоснятие ЭЦП становится возможным при любом порядке этих операций.

Протокол шифрования по RSA на общем модуле

Пусть сообщение М шифруется по криптосистемеRSA с общим модулем “n”. Пользователи А и В получаютшифрованные сообщения />, />

Атака1. Противник Е перехватываетшифрованные сообщения Са и Сb. Знаяоткрытые  ключи  ea и eb, противник    поалгоритму Эвклида находит числа x, y так, что x/>ea + y/>eb= 1 (с большой вероятностью числа ea и eb<sub/> взаимно просты). Тогда     />. В результате противник вычисляет сообщение М, знаятолько открытые ключи ea, eb  имодуль n, но не зная модуля />, чторавносильно знанию факторизации n=p/>q.

Протоколы с коммутативным алгоритмом шифрования

Алгоритм шифрования называется коммутативным, еслирезультат последовательного шифрования сообщения М на ключах К1и К2 не зависит от порядка используемых ключей: К2{К1{M}}==K1{K2{M}}, где K{M} — результат шифрования M на ключе К.Примерами коммутативного алгоритма шифрования являются алгоритм DH,алгоритм RSA при общем модуле, алгоритм гаммирования (сложения помодулю). Коммутативность алгоритма шифрования является здесь следствиемкоммутативности операций модульного умножения и сложения.

Коммутативный алгоритм шифрования привлекателен тем,что пользователям не нужно устанавливать общий ключ парной связи, а достаточногенерировать личные секретные ключи. Идея конфиденциальной связи безпредварительной договоренности о ключе шифрования наиболее ярко демонстрируетсяпримером Шамира (Рис.6).

Трехшаговый протокол шифрования Шамира

/>

Рис.6

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

A: />ДСЧ (А) /> х;  М /> х /> В

В:    ДСЧ (В) /> y; (М /> х) /> y /> A

A:   (М /> х/> y) /> x = M /> y /> B

B:   (M />y)/>y = M

Атака 1. Противник Еперехватывает все три сообщения в канале связи и складывает их поmod2.В результате получается М в открытом виде.

Атака 2. Пользуясь отсутствиемидентификации корреспондентов А и В, противник Е можетсыграть роль В, разрушая конфиденциальность М, или сыграть роль А,навязывая ложное сообщение пользователю В.

Трехшаговый протокол с коммутативным шифрованием

В общем случае трехшаговый протокол шифрованияШамира имеет следующую формальную запись (Рис.7):

А:  Ka { M }/>B

B: />

A: />

B: />

/>

Рис.7

Ведущий А протокола применяет сначалаоперацию шифрования на ключе Ка, затем операцию расшифрованияс ключом />;/>

Ведомый B применяет сначала операциюрасшифрования с ключом К/>,затем операцию шифрования с ключом Кb. Предполагается, чтодля всякого М и К имеет место: К-1{K{M}}=K{K-1{M}}.

Атака 1.  Рефлексия

Противник Еb, играющий роль В,возвращает А его первое сообщение. Действуя по протоколу, Априменяет к нему операцию />, и вканале оказывается открытое сообщение М.

А:  />

Атака 2. (Параллельный протокол)

Противник Еb возвращает Аего первое сообщение не в качестве ответа, а как начало параллельного протоколас ведущим Еb и ведомым А. Предполагается, что приработе в сети такое возможно (Рис.8).

/>

Рис.8

I протокол (А /> Еb )

II протокол (Еb  /> А )

1.А: Ка{M}/>Еb

 

 

1’. Еb: Ka{M}/>A

 

2’. A: />{Ka{M}}=M/>Еb

2. Еb: />/>A

 

3. A: />{/>}/>Еb

 

3’. Еb: />{/>}/>A

4. A: Ка{/>{/>}}=/>

4’. ___________________

В результате противник Е получает сообщение М,предназначенное для В, а пользователь А получает ложноесообщение   />, якобы от В.

Атака рефлексии и с параллельным протоколом являютсясильным оружием противника, против которого трудно предложить простую защиту.Возможны также атаки с несколькими параллельными протоколами, в которыхпротивник Е может играть одновременно несколько ролей: например, Ea,Eb и Es — роль сервера S.

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

Рассматриваемые в этом разделе протоколы имеют трехучастников: пользователи А, В и сервер S. Цель протоколов- генерация и безопасная передача сервером S ключа парной  связи Kabпользователям А и В. Безопасность  включает свойстваконфиденциальности, целостности, аутентичности и “свежести”. Это означает, чтов результате протокола подлинный ключ Kab должен оказатьсяименно у А и В, и только у них. Свойство “свежести” означает, чтоучастники протокола имеют возможность убедиться, что принимаемые сообщениясформированы в данном запуске протокола, а не взяты из параллельного или болеераннего протокола. С этой целью используются “нонсы”Na и Nb — случайные числа одноразового использования.

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

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

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

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

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

B: />=B(?); EaDb/>=/>/>КЗУ(В); EaDb/>=Y; [B║/>║Y]/>

Þ канал />[ />║/>║ />]/>A

A: />=B(?); />=A(?); EbDa/>=/>;/>= Kab (?); Kab/> КЗУ(A)

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

 С: AY] /> A

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

[ACZ] />C

C: Ea Dc Z=/>/>КЗУ (C); Eb Dc/>=EbDcEcDbKab=Kab/>КЗУ(C)

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

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

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

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

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

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

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

/>

Рис.9

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

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

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

Для примера рассмотрим две модификации протоколаодносторонней идентификации. Предварительно сервер S выбирает надлежащимобразом значения системных параметров (Р, />),генерирует от ДСЧ свой секретный ключ х, вычисляет соответствующийоткрытый ключ />  и рассылает всемпользователям постоянные (Р, />, y)по достоверному каналу. Далее, для каждого пользователя, например, для А сервергенерирует от ДСЧ случайное секретное число “К”, вычисляет открытыйидентификатор   r=ak(mod p), находит секретный идентификатор             S=K-1(A+x/>r)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 — целые. Тогда уравнение (*) удовлетворяется, если i/>v= A+l/>z; j/>v = rij + m/>z. Обауравнения для всякого z дают одинаковые значения v, еслипропорциональны их коэффициенты />

Отсюда следует, что А должно равняться />;  />  (числаi, j удобновыбрать так, чтобы v было целым). Заметим, что поскольку равенство (*) будетпроверяться поmod p, то систему уравнений относительно показателей (v,z) можно решать по mod(p-1), согласно теореме Эйлера. Числа Aij,rij, ulm, в общем случае, имеют разрядностьзначительно больше, чем разрядность /> модуля p.Поскольку число Aij участвует в уравнении (*) только впоказателе, то вместо него можно использовать /> (числаv, z уже имеют разрядность />). Число ulmучаствует в уравнении (*) только в основании степени, поэтому его можнозаменить на />. Наконец, число rijучаствует в уравнении (*) как в показателе, так и в основании степени, а потомуего можно заменить только на /> т.е.число разрядности 2/>.

Атака. Противник Е,играющий роль />, перехватывает вканале связи “вопрос” Z и дает “ответ”:  />║/>║/>║/>/>B, где число vнаходит из системы уравнений по mod (p-1). Если В не проверяетразрядность чисел в “ответе”, то у него уравнение (*) удовлетворяется. ЕслиВ проверяет наличие значения rij  в справочнике открытыхидентификаторов, то противник может заранее подобрать целые i, jтак, чтобы значение rij в справочнике было.

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

В данном протоколе пользователь А, желаяидентифицировать себя В, посылает ему свои идентификационные данные А,r и синхроданные сеанса связи “u”. На “вопрос” Z от Вон должен дать правильный “ответ” v такой, чтобы удовлетворилосьпроверочное равенство (*) (Рис.11).

/>

Рис.11

Для авторизованного пользователя это сделать легко,поскольку он знает свой секретный идентификатор (S) и сам генерируетсинхроданные (u) специальным образом. Для противника Е, незнающего ни одного секретного идентификатора, это также удалось сделать впротоколе 7.1., но там “вопрос” Z был известен заранее. В протоколе7.2. противник должен сначала предъявить какие-то идентификационные данные итолько затем получает “вопрос” Z от В, на который он должен дать“правильный ответ”. Формальная запись протокола между А и В:

А:        ДСЧ (А) />t; rt (mod p) = u;  [A║r║ u] />B

B:        ДСЧ (В) />Z;[B║Z] />A;

A:        />;v = (S+tz) mod (p-1); [A║v] />B

B:        />;/> Aидентифицировался у В.

Атака. Противник Е, играющийроль />, посылает Всообщение />║/>║/>],где подбирает идентификационные данные, как в атаке п.7.1. В ответ на любой“вопрос” Z от В, противник решает систему уравнений относительноv по mod(p-1) и посылает />v].  Если В непроверяет разрядность чисел в “ответе”, то противник идентифицируется В подименем />, не зная секретногоидентификатора этого пользователя.

 Заключение

Знание отрицательных прецедентов может помочьразработчикам криптографических (и не только криптографических) протоколов избегатьтипичных ошибок как при анализе, так и при построении криптографическихпротоколов.


 Литература

1.    Диффи,Хэллман. ”Новые направления в криптографии”. ТИИЭР, т.67, №3, 1979

2.   Л.Н. САПЕГИН, «СПЕЦИАЛЬНАЯ ТЕХНИКА СРЕДСТВ СВЯЗИ», Выпуск 1, Серия«Системы, сети и технические средства конфиденциальной связи», 1996 г.

еще рефераты
Еще работы по математике