Чтение RSS
Рефераты:
 
Рефераты бесплатно
 

 

 

 

 

 

     
 
Криптографические протоколы
Криптографические протоколы распределения ключей для групп с динамическим составом участников. Введение

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

Стандартным подходом к обеспечению безопасности для групп является получение некоторой секретной величины, известной только участникам группы.  Криптографические протоколы, в которых происходят выработка и распространение этой величины внутри группы известны как распределение ключа группы (group key establishment).  В случае, когда это значение не вырабатывается в протоколе, а приобретается заранее кем-либо из участников, протокол носит название протокола распространения ключей в группе(group key distribution). В случае, когда каждый участник группы участвует в генерации этого секретного значения, мы получаем протокол обмена ключами (group key agreement). В обоих случаях только действующие участники группы имеют доступ к этому групповому секрету (действующие потому, что предполагается высокая динамичность группы). При любом присоединении нового участника или выходе участника из группы секретное значение меняется для предотвращения НСД со стороны лиц, не входящих в группу.

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

Раздел 1. Основные определения и понятия.

В разделе 1.1 даются основные определения.

В разделе 1.2 приводятся используемые обозначения

Раздел 2. Протоколы обмена для выработки ключа.

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

Раздел 3. Проект CLIQUES-API для динамических групп.

В разделе рассмотрена конкретная реализация протоколов для групп. Приведены математические основы. Тестовые величины, сравнения различных реализаций и форматы данных не рассматривались. Эту информацию можно получить из работ [3,4,5].

1 Основные определения и понятия 1.1 Основные определения

Опр. 1.1.1. Протокол обмена для выработки общего ключа (key agreement protocol) – протокол распределения ключей, в котором общий ключ вырабатывается двумя или более участниками как функция от информации, вносимой каждым из них, причем таким образом, что никакая другая сторона не может предопределить получаемый в результате общий секрет.

Протоколы обмена должны обладать следующими свойствами:

совершенная опережающая секретность (Perfect forward secrecy – PFS);

устойчивость к атакам по известному ключу (Known-key attacks);

аутентификации ключа (Key authentication);

подтверждение и целостность ключа (Key confirmation & key integrity).

Дадим некоторые определения, используемые в дальнейшем.

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

Опр. 1.1.3. Протокол обладает свойством контрибутивности (contributory), если сформированный ключ зависит от секретных данных, внесенных каждым из участников.

Опр. 1.1.4. Пусть R – протокол обмена для n участников, M – множество участников, а Sn – ключ, получаемый в результате протокола R. Тогда R обеспечивает неявную аутентификацию ключа (implicit key authentication), если каждый MiÎM уверен, что никакая другая сторона MqÏM не могла получить  доступ к Sn (за исключением злоумышленника Mj внутри группы).

 

Опр. 1.1.5. Протокол аутентичного  обмена для групп – протокол обмена, в смысле опр. 1.1.4, обеспечивающий неявную аутентификацию ключа.

Опр. 1.1.6. Протокол обеспечивает подтверждение ключа, если участник протокола уверен, что другой участник (или группа) действительно обладает ключом, полученным в результате протокола.

Опр. 1.1.7. Контрибутивный протокол обмена обеспечивает целостность ключа, если участник уверен, что полученный им секретный ключ представляет собой функцию ТОЛЬКО от индивидуальных вкладов всех других участников. Таким образом, любое вмешательство в сформированный ключ (или формируемый) нарушает данное свойство, если ключ получается отличным от предполагаемого.

Список определений не полон, многие определения будут даваться по ходу рассуждений.

1.2 Используемые в протоколах термины и обозначения

Определим некоторые обозначения:

     n          - число участников протокола;

     i, j        - индексы для участников групп;

     Mi        - i-ый участник группы;

     G         - подгруппа Zp* порядка q, где p и q – простые;

     q          - порядок алгебраической группы;

     a,g      - образующие элементы в группе G ;

     xi            - долговременный секретный ключ Mi;

     ri          - случайное (секретное) число Î Zq , вырабатываемое Mi;

Sn         - групповой ключ n участников;

Sn(Mi)  - вклад Mi -го участника в групповой ключ;

Kij        - долговременная секретная величина, выработанная Mi и Mj , i¹j.

Все вычисления проводятся в циклической группе G простого порядка q, которая является подгруппой Zp* порядка p, где p=kq+1 для некоторого kÎN[1].

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

Заметим, что p и q – общие для всех пользователей. Поскольку они вырабатываются один раз, необходимо качественно проработать процесс генерации, чтобы исключить (возможно умышленное) получение слабых или каких-то специфических простых чисел. В частности, рекомендуется использовать метод из стандарта США, описанный в FIPS 186 или же на основе метода, изложенного в стандарте ГОСТ Р34.10-94.

В таком контексте, возможности активного противника довольно сильно ограничены. Действительно, любое сообщение может быть представлено как aсmod p, где a -образующий элемент циклической подгруппы Zp* порядка q и c – некоторая экспонента. Получение c упирается в проблему дискретного логарифмирования.

2 Протоколы аутентичного обмена ключами

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

В рамках предварительного знакомства приведем аутентичный обмен для выработки ключа для двух сторон. Затем приведем расширение этого протокола для n сторон. Приводимые протоколы базируются на схеме Диффи-Хеллмана.

2.1 Протоколы A-DH, GDH.2  и A-GDH.2

Прежде чем привести описание протокола аутентичного обмена для двух сторон A-DH, важно подчеркнуть, что существует множество разнообразных протоколов аутентичного обмена для выработки ключа, но одни из них не поддерживают двусторонний вклад в общий ключ (как в El Gamal), другие требуют большого числа сообщений или предполагают априорный доступ к сертифицированным долговременным ключам. Многие не обладают свойством PFS. Поэтому, наиболее подходящим протоколом для групп в соответствии с [1] считают A-DH. Необходимо также отметить, что протокол предполагает наличие у участников аутентичных открытых ключей друг друга. 

Протокол A-DH. Пусть p,q,G – величины, определенные выше и пусть a - образующий элемент G. Предварительный этап. Пусть x1 и x2 – два целых числа, т. ч. 1£ x1 ,x2 £ q-1. Пусть M1 и M2 – два участника, которые хотят выработать общий ключ и пусть (x1 ,ax1 mod p) и (x2 ,ax2 mod p)- секретные и открытые ключи M2  и M2 соответственно. Открытые величины системы: (p, q, a, ax1 ,ax2 ). Этап 1: M1  выбирает случайное r1 ÎR Zq* , M1 ® M2 : a r1 mod p. Этап 2: M2 выбирает случайное r2 ÎR Zq* и вычисляет K=F(a x1x2 mod p), M2 ® M1 : a r2K mod p. Когда M1 получает J=a r2K mod p, он вычисляет K-1 mod q и затем J r1K-1 mod p. Получаемый в результате ключ будет S2=a r2r1 mod p. Функция F() может быть либо F(x)=x mod q либо F(x)=h(x), где h – хэш-функция : {0,1}*® Zq* . Очевидно, что в полученном в результате ключе имеется вклад обоих сторон (т.к. r1 и r2 случайны и вырабатываются разными сторонами), т.е. протокол обладает контрибутивностью. В то же время обеспечивается аутентификация ключа, поскольку при его формировании участвуют открытые ключи обоих абонентов, которые переданы по аутентичному каналу.

Теорема 2.1.1 Протокол A-DH обеспечивает свойство PFS. Док-во: предположим, что долговременный ключ K=F(a x1x2 mod p) скомпрометирован. Противник знает  a r1 и  a (r2K)K-1 mod p ºa r2 . При данных условиях вычисление сеансового ключа S2=a r2r1 mod p эквива-лентно решению проблемы DH (Диффи-Хеллмана) для групп простого порядка. # Рассмотрим теперь протокол Диффи-Хеллмана для групп [2]. Протокол GDH.2. Пусть M = {M1 , M2 …Mn} – множество пользователей, которым необходимо выработать общий ключ Sn .  GDH.2 протокол выполняется за n шагов. На первой стадии (n-1 этапе) идет сбор информации от отдельных участников группы, а на второй стадии (n шаге) всем рассылается материал для вычисления общего ключа. Предварительный этап. Пусть p – простое и q – простой делитель p-1. Пусть G-циклическая подгруппа Zp* порядка q и a - образующий элемент G. Этап i: Mi  выбирает случайное ri ÎR Zq* , Mi ® Mi+1 : {a r1…ri / rj | jÎ[1,i]}, a r1…ri . Этап n: Mn выбирает случайное rn ÎR Zq* , Mn ®Каждому Mi : {a (r1…rn) / ri | iÎ[1,n]}. Общим ключом будет значение a r1…rn . Данный протокол можно модифицировать для обеспечения аутентификации ключа. Такая модификация отличается от выше приведенного только последним этапом. Предполагается, что Mn имеет с каждым Mi общий секрет Kin=F(axixn mod p), где xi-секретное долговременное значение Mi , axi mod p –долговременный открытый ключ Mi . Протокол A-GDH.2. Этапы c 1 по n-1 : такие же, как и в GDH.2. Этап n: Mn выбирает случайное rn ÎR Zq* , Mn ®Каждому Mi : {a r1…rnKin/ ri | iÎ[1,n]}. При получении Mi вычисляет a (r1…rnKin/ ri)Kin-1ri =a 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. Для 00 участников к существующей группе из n>1 участников. Пусть m=n+k. Во время операции вырабатывается новый групповой ключ Sm, и Mm становится новым контролирующим группы. Предполагая, что Mn является текущим контролирующим группы, протокол выглядит следующим образом:

1. Mn вырабатывает новое значение rn’ и вычисляет[3] g r1…rn-1rn’. Затем это сообщение отправляется к Mn+1.

2. Каждый участник Mj , j=n+1,…,m-1 вырабатывает число rj и вычисляет  gr1….rn’…rj . Это сообщение посылается Mj+1.

3. После получения сообщения, Mm рассылает полученное значение всей группе

4. После получения сообщения каждый участник Mi, i=1,2,…,m-1 группы вычисляет g(r1….rn’…rm-1)/ri и посылает его Mm.

5. Mm вырабатывает rm и получает множество

M={ g Ki,m r1…rn’ … rm/ri | iÎ[1,m-1]}.

Затем оно посылается группе.

6. При получении сообщения шага (5) каждый Mi , i=1,2…m-1 вычисляет групповой ключ как   (gr1…rn’…rmKim / ri)Kim-1ri= g r1…rn’…rm= Sm. Аналогично, Mm вычисляет ключ, используя сообщение из шага (3).

Если k=2, то  шаг (2) не нужен, в остальном протокол выглядит также.

 Шаги требуют всего  k модульных экспоненцирований. Также, как и ранее, шаги (4) и (6) требуют по одному для каждого участника. Шаг (5) требует n+k-1 экспоненцирований. Число экспоненцирований для присоединения k участников равно n+2k+1.

Операция присоединения также может быть использована для добавления k участников к группе. Это потребует повторить операцию присоединения k раз  – соответственно возрастает трудоемкость операции. Таким образом для массового добавления участников группы лучше использовать операцию слияния. Если использовать операцию слияния для добавления одного участника к группе, то получается на два экспоненцирования больше, чем для операции присоединения. Итак, присоединение используется для добавления одного участника к группе, а слияние – нескольких.

Выход из группы

Операция выхода из группы удаляет k участников из n участников текущей группы. Во время операции вычисляется новый групповой ключ Sn-k. Mn-k становится новым контролирующим группы, если Mn покидает группу. Для простоты предположим, что только один участник Md выходит из состава группы. Протокол выглядит следующим образом:

1. Mn вырабатывает новое rn’ и получает множество

M={ g Kin r1…rn’/ ri | iÎ[1,n-1] и i¹d}

Затем М рассылается всем.

2. При получении сообщения Mi вычисляет

(g Kinr1…rn’/ri)Kin-1ri= g r1…rn’= Sn. Mn вычисляет новый групповой ключ gr1…rn’=Sn используя старое значение.

Участник Md не может вычислить новый групповой ключ, т.к. контролирующий группы не вычислил вспомогательный ключ gKdnr1…rn’/rd для Md. Если несколько участников покидают группу, то контролирующий группы не вычисляет нужные значения для выходящих из группы участников на шаге (1).

Если из группы выходит контролирующий, то вышеописанные операции выполняет предпоследний участник группы Mn-1. Более того, поскольку новый контролирующий группы не может удалить из ключа долговременные ключи (они были у прошлого контролирующего группы), каждый участник Mi должен заново вычислить свой случайный сеансовый ключ как ri= ri*(Kin-1 mod q) перед выполнением шага (2).

Шаг (1) требует n-k экспоненцирований. Шаг (2) требует одно экспоненцирование от каждого участника группы. Таким образом, операция выхода из группы требует n-k+1 модульных экспоненцирований.

Обновление ключа

Операция обновления ключа выполняет замену группового ключа на новый. Использование этой операции зависит от используемой политики приложения, использующего CLIQUES или политики работы с ключами для предприятия. Эта операция выглядит также, как и операция выхода из группы с k=0, т.е. на первом шаге Mn вырабатывает множество

M={ g Kin r1…rn’/ ri | iÎ[1,n-1]}

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

Приведенный протокол  является протоколом аутентичного обмена и обладает свойством контрибутивности, что гарантирует независимость ключа (так как в его формировании участвуют все участники группы), может обеспечивать подтверждение ключа (как это было описано выше), обладает свойством PFS и устойчив к атакам по известному ключу (многие свойства следуют из рассмотренного ранее протокола A-GDH.2).

Таким образом, с использованием приведенных выше операций достигается полноценная работы группы. На основе приведенного протокола был разработан интерфейс прикладного программирования (Application Programming Interface - API). В работах [3,5] приводятся форматы заголовков сообщений и принципы построения приложений на основе CLIQUES-API. Он принят как проект стандарта для Internet. Программные реализации математических принципов, используемых в протоколах, можно найти в крипто-библиотеках Crypto++[6] и RSAREF[7].

Между тем, приведенная схема работы не лишена недостатков. Во-первых – и это, наверное, самый главный из них – приходится менять ключ для всей группы при изменении ее состояния. Это может подходить для небольших групп, но при большом числе участников становится серьезной трудностью. В этом случае все будет зависеть от динамики группы. На решение этой задачи были направлены усилия разработчиков. Также решающую роль играет пропускная способность каналов связи между участниками, поскольку в случае появления участника со слабым каналом (тем более, если это контролирующий группы) встает вопрос о временных факторах формирования ключа. Возможна ситуация непроизвольного «выкидывания» (в случае отсутствия необходимых механизмов) участника, использующего канал с низкой пропускной способностью в случае высокой динамики группы. Он просто не будет успевать получать новые данные для формирования ключа.

Во-вторых – довольно высокое число экспоненцирований в операциях протокола. 

Заключение

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

Вкратце опишем, что не вошло в данную работу.

1. Цифровые подписи – данный раздел довольно велик по своему объему.

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

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

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

Используемые работы:

[1] G. Ateniese, M. Steiner, G. Tsudik “Authenticated Group Key Agreement and Friends”, in ACM Symposium on Computer and Communication Security, November 1998.

[2] M. Steiner, G. Tsudik, M. Waidner “Diffie-Hellman key distribution extended to groups”, in ACM Conference on Computer and Communications Security, pp.31-37, ACM Press, Mar. 1996.

[3] G. Ateniese, D. Hasse, O. Chevassut, Y. Kim, G. Tsudik “The Design of a Group Key Agreement API”, IBM Research Division, Zurich Research Laboratiry.

[4] Y. Amir, G. Ateniese, D. Hasse, Y. Kim, C. Nita-Rotaru, T. Sclossnagle, J. Schultz, J. Stanton, G. Tsudik “Secure Group Communications in Asynchronous Networks with Failures: Integration and Experiments”, 1999.

[5] G. Caronni, M. Waldvoget, D. Sun, B. Plattner “Efficient Security for Large and Dynamic Multicast Groups”, Computer Engineering and Networks Laboratory. 

[6] W. Dai “Crypto++”, 05.1999, http://www.eskimo.com/~wedai/cryptolib.html

[7] RSA Laboratories, http://www.rsalab.com


[1] a может быть вычислен посредством выбора случайного элемента bÎZp*  и вычисления a = b(p-1)/q mod p до тех пор, пока a¹1.

[2] Необходимые данные для вычисления множества Mn берет из последнего этапа протокола A-GDH.2 и возводя затем нужные элементы в степень rn’(Kin-1mod p) получает необходимые значения.

[3] Значение g r1…rn-1 Mn может получить из предыдущего  ключа путем возведения в степень    

rn-1 . 

 
     
Бесплатные рефераты
 
Банк рефератов
 
Бесплатные рефераты скачать
| мероприятия при чрезвычайной ситуации | Чрезвычайная ситуация | аварийно-восстановительные работы при ЧС | аварийно-восстановительные мероприятия при ЧС | Интенсификация изучения иностранного языка с использованием компьютерных технологий | Лыжный спорт | САИД Ахмад | экономическая дипломатия | Влияние экономической войны на глобальную экономику | экономическая война | экономическая война и дипломатия | Экономический шпионаж | АК Моор рефераты | АК Моор реферат | ноосфера ба забони точики | чесменское сражение | Закон всемирного тяготения | рефераты темы | иохан себастиян бах маълумот | Тарых | шерхо дар борат биология | скачать еротик китоб | Семетей | Караш | Influence of English in mass culture дипломная | Количественные отношения в английском языках | 6466 | чистонхои химия | Гунны | Чистон
 
Рефераты Онлайн
 
Скачать реферат
 
 
 
 
  Все права защищены. Бесплатные рефераты и сочинения. Коллекция бесплатных рефератов! Коллекция рефератов!