Реферат: Криптографические протоколы

Mi выбирает случайное ri ÎR Zq * ,

Mi ® Mi+1 : { r1…ri / rj | j Î[1,i ]}, r1…ri .

Этап n :

Mn выбирает случайное rn ÎR Zq * ,

Mn ®Каждому Mi : { (r1…rn) / ri | i Î[1,n ]}.

Общим ключом будет значение r1…rn .

Данный протокол можно модифицировать для обеспечения аутентификации ключа. Такая модификация отличается от выше приведенного только последним этапом. Предполагается, что Mn имеет с каждым Mi общий секрет Kin =F(xixn mod p ), где xi -секретное долговременное значение Mi , xi mod p –долговременный открытый ключ Mi .

Протокол A-GDH.2 .

Этапы c 1 по n-1 : такие же, как и в GDH.2.

Этап n :

Mn выбирает случайное rn ÎR Zq * ,

Mn ®Каждому Mi : { r1…rnKin/ ri | i Î[1,n ]}.

При получении Mi вычисляет (r1…rnKin/ ri)Kin-1ri =r1…rn  Sn .

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

Очевидно, что протокол обладает свойством контрибутивности, поскольку в результирующем ключе Sn есть вклад i -го участника группы в виде степени ri .

Теорема 2.1.2 Протокол A-GDH .2 обеспечивает свойство PFS .

Док-во: Предположим, что долговременные ключи Kin , i Î[1,n ] скомпрометированы, тогда противник в состоянии вычислить подмножество V ={a П (S) | S Ì{r1 ,…,rn }}. Но, как было показано в [2], по такому V не возможно восстановить сеансовый ключ Sn . #

Рассмотрим устойчивость описанного протокола к атакам по известным ключам.

Пусть Sn (Mi ) – сеансовый ключ, вычисленный каждым Mi . Для 0<i <n -1 можно записать его как aCiriK-1in . Для Mn Sn (Mn )=aCnrn , где ci возможно известно противнику C . C также знает подмножество {a П (S) | S Ì{r1 ,…,rn }}. В данных условиях нахождение aKin или aK -1 in невозможно, если вычислительно трудно решить проблему “распознавания Диффи-Хеллмана” [1].

Однако, некоторые из атак возможны. Если С попытается послать M1 некоторое ac1 на последнем этапе протокола (где с1 выбирается противником), то M1 в результате получит неверный ключ Sn (M1 )=ac1r1K-11n , обнаружит проблему и просто заново запустит протокол обмена. Допустим, что противник каким-то образом получил этот неверный ключ (заметим, что на практике это маловероятно). При повторном выполнении протокола С может подменить сообщение от Mn-1 к Mn на

a c1r1K1n-1 ,…, a c1r1 .

С подменил первое и последнее слово в сообщении, остальные слова не изменялись. Тогда Mn вычислит ключ Sn (Mn )=(ac1r1 )rn . Mn также вычислит

(a c1r1K1n-1 )rnK1n =a c1r1rn

и отошлет это значение M1 в последнем этапе протокола. В результате С будет знать ключ M1 . Но (хотя в работе [1] это и не отмечается), общий групповой ключ опять не совпадет, и через некоторое время протокол придется повторить снова. Все дело во времени определения конфликта ключей. Однако, в такого типа атаке очень много условностей, и поэтому ее можно отнести к разряду теоретических, а не к реально осуществимым атакам. Кроме того, как указано в [1], простым средством предотвращения таких атак является вычисление в качестве ключа Sn =h (Sn (Mi ), где h() – любая хеш-функция.

Необходимо заметить, что вышеупомянутый протокол A-GDH.2 выполняет неявную аутентификацию ключа , причем в довольно слабой форме, поскольку ключ не аутентифицируется непосредственно между каждыми любыми двумя Mi и Mj участниками (i ¹j ). Последний участник Mn (будем далее называть его контролирующим группы , поскольку через него проводятся ключевые операции протокола) отвечает за использование аутентичных ключей Kin , i =1 ... n -1, от которых и зависит аутентификация. Следовательно, участник Mn должен быть лицом, которому все доверяют. Это может быть схема с доверенным сервером в качестве Mn . В противном случае Mn сможет разбить группу на две части без обнаружения этого (поскольку он может перехватывать все сообщения и таким образом получить необходимую информацию в виде r1…ri / rj для "i ,j ).

Поэтому необходимо трансформировать протокол, что и было сделано в работе [1].

2.2 Протокол SA-GDH.2

Для описания протокола требуется несколько дополнительных определений.

Опр. 2.2.1. Пусть R – протокол обмена для n участников и M – множество участников. Мы будем говорить, что R является протоколом, обеспечивающим полную( complete) аутентификацию группового ключа , если для каждых i ,j (0< i ¹j £n ) участники Mi и Mj вычислят общий ключ Si,j , только если Si,j был получен при участии каждого Mp Ì M .

Другими словами, полная аутентификация группового ключа есть аутентичный обмен для выработки ключа между всеми парами (Mi , Mj ) при (0< i ¹j £n ).

Для выполнения этого определения можно модифицировать протокол A-GDH.2 в следующий:

К-во Просмотров: 1930
Бесплатно скачать Реферат: Криптографические протоколы