Реферат: Криптографические протоколы - текст реферата. Скачать бесплатно.
Банк рефератов, курсовых и дипломных работ. Много и бесплатно. # | Правила оформления работ | Добавить в избранное
 
 
   
Меню Меню Меню Меню Меню
   
Napishem.com Napishem.com Napishem.com

Реферат

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

Банк рефератов / Программирование

Рубрики  Рубрики реферат банка

закрыть
Категория: Реферат
Язык реферата: Русский
Дата добавления:   
 
Скачать
Архив Zip, 99 kb, скачать бесплатно
Заказать
Узнать стоимость написания уникального реферата

Узнайте стоимость написания уникальной работы

Криптографические протоколы распределения ключей для групп с динами ческим составом участников. Введение В настоящее время организация безопасной связи внутри групп абонентов с динамически меняющимся составом участников является достаточно сложной задачей , отличающейся по своему качественному составу от классических зад ач криптографии . Она включает в себя множество сопутствующих задач , начиная от создания основных алгоритмов и заканчивая созданием конечных приложений и коммуникационных систем . Выделяют два основных аспекта безопасности при работе в группах – секретност ь ( т . е . все взаимодействия внутри группы остаются секретными для лиц , не являющихся участниками группы ) и аутентификация. Стандартным подходом к обеспечению безопасности для групп является получение некоторой секретной величины , известной только участника м группы . Криптографические протоколы , в которых происходят в ыработка и распространение этой величины внутри группы известны как распределение ключа группы ( group key establishment ) . В случае , когда это значение не вырабатывается в протоколе , а приобрета ется заранее кем-либо из участников , протокол носит название протокола распространения ключей в группе ( group key distribution ). В случае , когда каждый участник группы участвует в генерации этого секретного значения , мы получаем протокол обмена ключами ( gro up 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 – множество участников , а S n – ключ , получаемый в результате протокола R . Тогда R обеспечивает неявную аутентификацию ключа ( implicit key authentication ) , если каждый M i M уве рен , что никакая другая сторона M q M не могла получить доступ к S n (за исключением злоумышленника M j внутри группы ). Опр . 1.1.5. Протокол аутентичного обмена для групп – протокол обмена , в смысле опр . 1.1.4, обеспечивающий неявную аутентификацию ключа. Опр . 1.1.6. Протокол обеспечивает подтверждение ключа , если участник протокола уверен , что другой участник (или группа ) действительно обладает ключом , полученным в результате протокола. Опр . 1.1.7. Контрибутивный протокол о бмена обеспечивает целостность ключа , если участник уверен , что полученный им секретный ключ представляет собой функцию ТОЛЬКО от индивидуальных вкладов всех других участников . Таким образом , любое вмешательство в сформированный ключ (или формируемый ) нару шает данное свойство , если ключ получается отличным от предполагаемого. Список определений не полон , многие определения будут даваться по ходу рассуждений. 1.2 Используемые в протоколах термины и обозначения Определим некоторые обозначения : n - число у частников протокола ; i , j - индексы для участников групп ; M i - i - ый участник группы ; G - подгруппа Z p * порядка q , где p и q – простые ; q - порядок алгебраической группы ; я , g - образующие элементы в группе G ; я x i - долговременный секретный ключ M i ; r i - случайное (секретное ) число Z q , вырабатываемое M i ; S n - групповой ключ n участников ; S n ( M i ) - вклад M i -го участника в групповой ключ ; K ij - долговременн ая секретная величина , выработанная M i и M j , i j . Все вычисления проводятся в циклической группе G простого порядка q , которая является подгруппой Z p * порядка p , где p = kq +1 для некоторого k я a может быть вычислен посредством выбора случайного элемента b Z p * и вычисления a = b (p-1)/q mod p до тех пор , пока a 1. . Для того , чтобы предотвратить атаки методами подмены или утечки секретных величин , каждый участник протокола должен иметь возможность проверить , что те значения , которые он получает , являются элементами подгруппы. Заметим , что p и q – общие для всех пользователей . Поскольку они вырабатываются один раз , необходимо качественно проработать процесс генерации , чтобы исключить (возможно умышле нное ) получение слабых или каких-то специфических простых чисел . В частности , рекомендуется использовать метод из стандарта США , описанный в FIPS 186 или же на основ е метода , изложенного в стандарте ГОСТ Р 34.10-94 . В таком контексте , возможности активного противника довольно сильно ограничены . Действительно , любое сообщение может быть представлено как я с mod p , где яя я образующий элемент циклической подгруппы Z p * порядка 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 – величины , определенные выше и пусть я яяя образующий элемент G . Предварительный этап. Пусть x 1 и x 2 – два целых числа , т . ч . 1 x 1 , x 2 q - 1 . Пусть M 1 и M 2 – два участника , которые хотят выработать общий ключ и пусть ( x 1 , я x 1 mod p ) и ( x 2 , я x 2 mod p )- секретные и открытые ключи M 2 и M 2 соответственно . Открытые величины системы : ( p , q , яя я x 1 , я x 2 ). Этап 1: M 1 выбирает случайное r 1 R Z q * , M 1 M 2 : я r1 mod p . Этап 2: M 2 вы бирает случайное r 2 R Z q * и вычисляет K = F ( я x 1 x 2 mod p ), M 2 M 1 : я r 2 K mod p . Когда M 1 получает J = я r 2 K mod p , он вычисляет K -1 mod q и затем J r 1 K -1 mod p . Получаемый в результате ключ будет S 2 = я r 2 r 1 mod p . Функция F () может быть либо F ( x )= x mod q либо F ( x )= h ( x ) , где h – хэш-функция : 0,1 * Z q * . Очевидно , что в полученном в результате ключе имеется вклад обоих сторон (т.к . r 1 и r 2 случайны и вырабатываются р азными сторонами ), т.е . протокол обладает контрибутивностью . В то же время обеспечивается аутентификация ключа , поскольку при его формировании участвуют открытые ключи обоих абонентов , которые переданы по аутентичному каналу . Теорема 2.1.1 Протокол A - DH обеспечивает свойство PFS . Док-во : предположим , что долговременный ключ K = F ( я x 1 x 2 mod p ) скомпрометирован . Противник знает я r 1 и я ( r 2 K ) K -1 mod p я r 2 . При данных условиях вычисление сеансового ключа S 2 = я r 2 r 1 mod p экви ва-лентно решению проблемы DH (Диффи-Хеллмана ) для групп простого порядка . # Рассмотрим теперь протокол Диффи-Хеллмана для групп [2] . Протокол GDH .2. Пусть M = M 1 , M 2 … M n – множество пользователей , которым необходимо выработать общий ключ S n . GDH .2 протокол выполняется за n шагов . На первой стадии ( n -1 этапе ) идет сбор информации от отдельных участников группы , а на второй стадии ( n шаге ) всем рассылается материал для вычисления общего ключа. Предварительный этап. Пусть p – простое и q – простой д елитель p -1 . Пусть G -циклическая подгруппа Z p * порядка q и яяяя образующий элемент G . Этап i : M i выбирает случайное r i R Z q * , M i M i+1 : я r 1 … r i / r j | j [1 ,i ] , я r 1 … r i . Этап n : M n выбирает случайное r n R Z q * , M n Каждому M i : я ( r 1 … r n ) / r i | i [1 , n ] . Общим ключом будет значение я r 1 … r n . Данный протокол можно модифи цировать для обеспечения аутентификации ключа . Такая модификация отличается от выше приведенного только последним этапом . Предполагается , что M n имеет с каждым M i общий секрет K in = F ( я x i x n mod p ) , где x i -секретное долговременное значение M i , я x i mod p – дол говременный открытый ключ M i . Протокол A - GDH .2 . Этапы c 1 по n -1 : такие же , как и в GDH .2. Этап n : M n выбирает случайное r n R Z q * , M n Каждому M i : я r 1 … r n K in / r i | i [1 , n ] . При получении M i вычисляет я ( r 1 … r n K in / r i ) K in -1 r i = яя r 1 … r n яя S n . В этом протоколе каждый участник группы вырабатывает общий аутентичный ключ с M n . Более того , если мы доверяем M n , то каждый участник группы может быть уверен , что так ой же ключ имеют и все участники группы , т.е . они выработали общий групповой ключ . Пример протокола для четырех участников приведен на рис . 1. Очевидно , что протокол обладает свойством контрибутивности , поскольку в результирующем ключе S n есть вклад i -го участника группы в виде степени r i . Теорема 2.1.2 Протокол A - GDH .2 обеспечивает свойство PFS . Док-во : Предположим , что долговременные ключи K in , i [1, n ] скомпрометированы , тогда противник в состоянии вычислить подмножество V = П ( S ) | S r 1 ,…, r n . Но , как было показано в [2] , по такому V не возможно восстановить сеансовый ключ S n . # Рассмотрим устойчивость описанного протокола к атакам по известным ключам . Пусть S n ( M i ) – сеансовый ключ , вычисленный каждым M i . Для 0< i < n -1 можно записать его как C i r i K -1 in . Для M n S n ( M n )= C n r n , где c i возможно известно противнику C . C также знает подмножество П ( S ) | S r 1 ,…, r n . В данных условиях нахождение Kin или K -1 in невозможно , если вычислительно трудно решить проблему “распознавания Диффи-Хеллмана” [1] . Однако , некоторые из атак возможны . Если С попытается послать M 1 некоторое c 1 на последнем этапе протокола (где с 1 выбирается противником ), то M 1 в результате получит неверный ключ S n ( M 1 )= c 1 r 1 K -1 1 n , обнаружит проблему и просто заново запустит протокол обмена. Допустим , что противник каким-то образом получил этот неверный ключ (заметим , что на практике это маловероятно ). При повторном выполнении протокола С может подменить сообщение от M n -1 к M n на c 1 r 1 K 1 n -1 ,…, c 1 r 1 . С подменил первое и последнее слово в сообщении , остальные слова не изменялись . Тогда M n вычислит ключ S n ( M n )=( c 1 r 1 ) r n . M n также вычисли т ( c 1 r 1 K 1 n -1 ) r n K 1 n = c 1 r 1 r n и отошлет это значение M 1 в последнем этапе протокола . В результате С будет знать ключ M 1 . Но (хотя в работе [1] это и не отмечается ), общий групповой ключ опять не со впадет , и через некоторое время протокол придется повторить снова . Все дело во времени определения конфликта ключей . Однако , в такого типа атаке очень много условностей , и поэтому ее можно отнести к разряду теоретических , а не к реально осуществимым атака м . Кроме того , как указано в [1] , простым средством предотвращения таких атак является вычисление в качестве ключа S n = h ( S n ( M i ) , где h () – любая хеш-функция . Необходимо заметить , что вышеупомянутый протокол A - GDH .2 выполняет неявную аутентификацию ключа , п ричем в довольно слабой форме , поскольку ключ не аутентифицируется непосредственно между каждыми любыми двумя M i и M j участниками ( i j ) . Последний участник M n (будем далее называть его контролирующим группы , поскольку через не го проводятся ключевые операции протокола ) отвечает за использование аутентичных ключей K in , i =1 ... n -1, от которых и зависит аутентификация . Следовательно , участник M n должен быть лицом , которому все доверяют . Это может быть схема с доверенным сервером в качестве M n . В противном случае M n сможет разбить группу на две части без обнаружения этого (поскольку он может перехватывать все сообщения и таким образом получить необходимую информацию в виде я r 1 … r i / r j для i , j ). Поэ тому необходимо трансформировать протокол , что и было сделано в работе [1] . 2.2 Протокол SA - GDH .2 Для описания протокола требуется несколько дополнительных определений. Опр . 2.2.1. Пусть R – протокол обмена для n участников и M – множество участников . Мы будем говорить , что R является протоколом , обеспечивающим полную ( complete ) аутентификацию группового ключа , если для каждых i , j (0< i j n ) участники M i и M j вычислят общий ключ S i , j , только если S i , j был получен при участии каждого M p M . Другими словами , полная аутентификация группового ключа есть аутентичный обмен для выработки ключа между всеми парами ( M i , M j ) при (0< i j n ). Для выполнения этого определения можно модифицировать протокол A - GDH .2 в следующий : Протокол SA-GDH.2 . Этап i (0< i < n) : 1. M i получает множество промежуточных величин V k | 1 k n . (в данном контексте можно сказать , что M 1 получает пустое множество на первом этапе ): я (r 1 … r i-1 / r k )(K k 1 … K k(i-1) ) при k ( i -1) V k = я (r 1 … r i-1 )(K k 1 … K k(i-1) ) при k > ( i -1) . 2. M i обновляет каждое V k следующим образом : ( V k ) r i K ik = я (r 1 … r i / r k )(K k 1 … K ki) при k < i V k = ( V k ) r i K ik = я (r 1 … r i )(K k 1 … K ki) при k > i . V k при k = i ( Замечание : на первом этапе M 1 выбирает V 1 = яя .) Этап n : 1. M n рассылает множество всех V k участникам группы. 2. При получении M i выбирает свое V i = я ( r 1 … r n / r i )( K 1 i … K ni ) . M i вычисляет ( V k ) r i (K 1i -1 … K ni -1 ) = яя r 1 … r n . Заметим , что вместо того , чтобы вычислять n обратных элементов , M i может вычислять 1 обратный элемент P i -1 =( K 1 i -1 … K ni -1 ) , где P i =( K 1i … K ni ) . В протоколе SA - GDH .2 требуется , чтобы каждый участник группы имел некоторый общий к люч с любым другим участником (это значение K ji ). Однако , как уже было замечено для каждого такого ключа K ji не требуется нахождение обратного K ji -1 . Таким образом , достаточно получить такие ключи перед началом работы в группе и затем эти ключи могут остав аться постоянными , не добавляя лишних действий в протокол. Протокол основан на кольцевой схеме взаимодействия , т.е . данные проходят по кругу и лишь на последнем этапе идет широковещательная рассылка . Данные , которые передаются , представляют собой множество из n элементов . i - й элемент содержит своеобразное «накопление ключа» для i -го участника . Во время обновления ключа каждый из участников вносит свой вклад в формирование ключа . Только пройдя полный круг , i - й элемент множества будет иметь вклады всех учас тников и их секретные ключи для связи с i - м абонентом (рис . 1). Это позволяет избежать явной замены противником одного из значений на какое-то другое , выгодное ему (возможное вмешательство противника рассмотрим далее ) Однако SA - GDH .2 имеет более высокую «в ычислительную стоимость» по сравнению с A - GDH .2 . Прежде всего , он требует ( n -1) экспоненцирование для каждого M i (кроме первого ), в отличие от i экспоненцирований в A - GDH .2. К этому еще добавляется работа по формированию общих ключей для каждой пары абонен тов (если они не вычислены заранее ): на последнем этапе проводится одно экспоненцирование – как и в A - GDH .2 . На рис . 1 приведены примеры протоколов A - GDH .2 и SA - GDH .2 . Как показано в [1] , протокол SA - GDH .2 обеспечивает полную аутентификацию группового ключа . Теорема 2.2.1 Протокол SA - DH обеспечивает полную аутентификацию группового ключа . Док-во : предположим , M i и M j вычислили оди наковый ключ в результате выполнения протокола . Пусть K n = S n ( M i )= S n ( M j ), и предположим , что некто M p M ( p i , j ) не сделал вклада в этот ключ . Пусть V i и V j обозначают величины , полученные M i и M j н а последнем этапе протокола . Напомним , что в соответствии с протоколом S n ( M i )= ( V i ) ( K 1i -1 … K ni -1 ) r i и S n ( M j )= ( V j ) ( K 1j -1 … K nj -1 ) r j . Поскольку все участники группы сделали вклад в ключ , то можно записать , что V i = я ( r 1 … r n /r p r i )( K 1i -1 … K ni -1 /K pi -1 ) ( для V j а налогично ), и S n ( M i )= я ( r 1 … r n /r p ) K pi -1 , что должно равняться S n ( M j )= я ( r 1 … r n /r p ) K pj -1 . Но поскольку K pi - 1 и K pj - 1 являются секретными , то получаем противоречие. # В работе [1] также отмечается , что обсуждаемый протокол обладает устойчивостью к атакам по известному ключу ( known key attacks ) , однако строгого формального доказательства не приведено , авторы лишь отмечают , что это легко пронаблюдать на приведенной выше атаке на A-GDH.2 . 2.3 Особенности ключей протоколов A-GDH.2 и SA-GDH.2 Рассмотрим важное свойство протоколов – а именно подтверждение ключа . Не для каждого протокола это свойство является необходимым : например , оно не нужно , если взаимодействие с полученным ключом происходит немедленно . Но тем не менее свойство подтверждения ключа является жел ательным для протоколов обмена по следующим причинам : 1. Протоколы обмена становятся более сильными и автономными. 2. Исключается возможность вычисления неправильного ключа без обнаружения этого (в случае перерыва между выработкой общего ключа и непоср едственно передачей данных ). С другой стороны , пока еще нет точного определения , что же такое подтверждение ключа для групп . Если брать полное подтверждение ключа , то это достигается путем получения каждым участником ключа и затем доказательства всем , что он знает этот ключ . Для протоколов A-GDH.2 и SA-GDH.2 исходя из практических соображений было определено подтверждение ключа как подтверждение ключа для контролирующего группы (участника M n ) . Это может быть легко достигнуто в обоих протоколах путем добавл ения я F ( S n ( M n )) в последнее сообщение протокола (рассылка всем участникам группы ), где S n ( M n ) обозначает ключ , вычисленный M n , а F – хэш-функцию , как это было определено выше . Таким образом , участник группы M i вычисляет S n ( M i ) и проверяет равенство : я F ( S n ( M i )) =? я F ( S n ( M n )) . В [2,5] замечено , что в A-GDH.2 и SA-GDH.2 подтверждение и неявная аутентификация ключа образуют полезный в некоторых случаях побочный эффект – аутентификацию участника M n для всех участников группы . Это еще раз доказывает необх одимость выделения M n как отдельного лица – контролирующего группы. Включение подтверждения ключа в протокол SA-GDH.2 приводит к интересному результату , а именно : после выполнения протокола каждый участник группы M i знает , что ключ , выработанный им , соде ржит вклад каждого участника группы. Это следует непосредственно из свойств полной аутентификации группового ключа и подтверждения ключа . Если бы отсутствовало подтверждение ключа , то участники группы не могли бы убедиться в истинности своего ключа. Опр . 2.3.1. (неформ .) Групповой протокол обмена для выработки общего ключа обеспечивает целостность группы , если каждый участник протокола уверен в участии каждого другого участника в протоколе. Опр . 2.3.2. (неформ .) Групповой протокол обмена для выработки общего ключа является проверяемо контрибутивным (verifiable contributory) , если каждый участник протокола уверен , что каждый другой участник сделал вклад в групповой ключ. Свойство проверямой контрибутивности включает в себя свойство целостности группы . Обратное утверждение неверно , поскольку целостность группы может быть обеспечена , если участник группы M i будет просто подписывать сообщение отсылать его дальше . Проверяемой контрибутивности в данном случае нет . В то же время проверяемая контрибутивность может выполняться , если в формировании ключа участвовало лицо , стороннее по отношению к группе . Таким образом противник может влиять на протокол. Однако следует заметить , что даже если выполняются свойства (неявной , полной ) аутентификации и подтверждения ключа , свойство целостности ключа в вышеприведенном протоколе SA-GDH.2 не достигается. Рассмотрим приведенный на рис . 2 пример для трех участников. Предположим , что имеется активный противник , который может вмешиваться в передачу , подменять и модифицировать данные . Он может провести какое-либо экспоненцирование данных на этапе (1) и / или (2) и это останется незамеченным . Пусть он просто возводит в квадрат все величины на этапе (2). Тогда M 3 получит следующие значения : 2 r 1 K 12 , 2 r 1 r 2 K 13 K 23 , 2 r 2 K 21 . В результате M 3 вычислит S 3 (3)= 2 r 1 r 2 r 3 , т.е . квадрат предп олагавшегося ключа . Все остальные участники группы получат то же самое . Подтверждение ключа здесь не помогает , поскольку злоумышленник вторгается в протокол перед тем , как M 3 вычисляет свой групповой ключ. Как было справедливо замечено в [1] , протокол SA-G DH.2 подвержен (пока ) только мультипликативному (экспоненциальному ) влиянию противника на ключ , т.е . можно получить ключ K c , где с - некоторая константа , а К -ключ , предполагаемый в протоколе . Авторы задаются вопросом : так ли важна целостнось ключа в протоко ле обмена с проверяемой контрибутивностью ? Для обеспечения целостности можно воспользоваться сторонними средствами обеспечения целостности данных во время передачи – например , проверять целостность пакетов при отправке по сети . На последнем же широковещате льном этапе никаких сторонних средств не требуется , т.к любое вмешательство будет обнаружено из-за свойства подтверждения ключа для контролирующего группы. 2.4 Сравнение эффективности Приведем таблицу сравнения протоколов (по вычислительным требованиям ). Понятно , что различные реализации будут различаться по скорости выполнения и объему кода , а также типа используемых процессоров – это отдельная тема и с математической точки зрения не представляет интереса , нужные таблицы приведены в [2,3,4,5] . Поэтому ог раничимся приведением лишь вычислительных характеристик в таблице 1. Стоимость вычислений GDH.2 A-GDH.2 SA-GDH.2 Экспоненцирований для M i I+1 i+1 n Экспоненцирований для M n N n N Всего экспоненцирований ( n 2 +3 n )/2-1 ( n 2 +3 n )/2-1 n 2 Вычисления обр . элеме нтов для M i 1 Вычисления обр . элементов для M n 1 Всего вычислений обр . элементов n Умножений для M i 1 2 n -2 Умножений для M n n -1 2 n -2 Всего умножений 2 n -2 2 n 2 -2 n Полученные в результате приведенных протоколов общие ключи могут использоватьс я как ключи для секретной связи внутри группы , служить для аутентификации участников группы , выполнять роль секретного ключа при формировании групповой подписи и т.д . 3 Проект CLIQUES Целью данного проекта являлась разработка протокола обмена для вырабо тки ключа для групп . Такой протокол должен поддерживать все групповые операции по удалению , включению новых участников в группу . На основе этого протокола необходимо было создать специальный прикладной программный интерфейс (CLQ-API) , позволяющий работать приложениям в неких абстрактных группах . Протокол во многом основывается на вышеописанных протоколах аутентичного обмена . Ограничимся рассмотрением только математических принципов проекта . Не будем рассматривать полученные результаты (по эффективности ), п рограммные реализации . В качестве базового протокола обмена для выработки общего ключа был выбран протокол A-GDH.2 ( однако возможно использование и SA-GDH.2) . Предполагается , что участники группы уже сформировали общий ключ. Рассмотрим основные операции , которые позволяет выполнять разработанный протокол. 1. Операции для одного участника группы : включают в себя добавление или удаление одного участника группы . Данные ситуации появляются , когда кто-то хочет присоединиться к группе или покинуть ее . Эти операц ии могут проводится контролером группы или по согласию каждого участника группы (в зависимости от используемой политики безопасности ). 2. Операции для нескольких участников : также включают в себя добавление и удаление . Однако есть отличия , обусловленные же ланием проводить операции с несколькими участниками сразу , а не с каждым в отдельности : · массовое присоединение : несколько участников хотят присоединиться к существующей группе ; · слияние групп : две или более групп желают соединиться в одну ; · массовый выход из группы : несколько участников хотят покинуть группу ; · разделение групп : группа распадается на две или более частей. 3. Операции по обновлению ключа обусловлены двумя причинами : · ограничением шифртекста , получаемого на одном ключе для огранич ения возможности получения пар открытый текст /шифртекст для проведения криптоанализа (время жизни ключа определяется выбранной политикой ) ; · п редохранением от компрометации текущего ключа или вклада каждого участника. Итак , список операций , выполняемых протоколом , выглядит следующим образом : · присоединение (JOIN) : новый участник добавляется в группу ; · слияние ( MERGE) : один или более участников добавляются в группу ; · выход из группы ( LEAVE) : один или более участников покидают группу ; · обновление ключа ( KEY REFRESH) : генерация нового ключа для группы. Для простоты , считается , что последний участник группы является контролирующим группы (это может быть легко исправлено и не является критическим требованием ). Присоединени е Операция добавляет нового участника M n+1 к группе из n участников . Во время операции вычисляется новый групповой ключ S n+1 , и M n+1 становится новым контролирующим группы . Предполагая , что M n является текущим контролирующим группы , протокол выглядит следующим образом : 1. M n выраб атывает новое значение r n ’ и получает множество Необходимые данные для вычисления множества M n берет из последнего этапа протокола A-GDH.2 и возводя затем нужные элементы в степень r n ’ (K in -1 mod p) получает необходимые значения. чисел M = g r1… r n ’ /r i | i [1, n -1] g r1… r n -1 g r1… r n ’ Затем M посылается M n+1 . 2. После получения сообщения M n+1 вырабатывает число r n+1 и вычисляет значение g K i,n+1 r 1 … r n ’ r n+1 /r i д ля всех i из [1, n ] . Затем это множество рассылается всей группе. 3. При получении каждый M i вычисляет групповой ключ как ( g K i,n+1 r 1 … r n ’ r n+1 /r i ) K -1 i,n+1 r i = g r 1 … r n ’ r n+1 = S n+1 . А M n+1 вычисляет ключ , используя сообщение из шага (1). Шаги (1) и (2) требуют n экспоненцирований , шаг (3) требует одно экспоненцирование для каждого участника группы . Общее число экспоненцирований для получения ключа равно 2 n +1 (считается , что на третьем шаге экспоненцирования происходят одновременно и по времени равны одному ) . Сл ияни е Операция используется для добавления k >0 участников к существующей группе из n >1 участников . Пусть m = n + k . Во время операции вырабатывается новый групповой ключ S m , и M m становится новым контролирующим группы . Предполагая , что M n является текущим кон тролирующим группы , протокол выглядит следующим образом : 1. M n вырабатывает новое значение r n ’ и вычисляет Значение g r 1 … r n-1 M n может получить из предыдущего ключа путем возведения в степень r n -1 . g r 1 … r n-1 r n ’ . Затем это сообщение отправляетс я к M n+1 . 2. Каждый участник M j , j = n +1,…, m -1 вырабатывает число r j и вычисляет g r 1 … . r n ’ … r j . Это сообщение посылается M j+1 . 3. После получения сообщения , M m рассылает полученное значение всей группе 4. После получения сообщения каждый участник M i , i =1,2,…, m -1 группы вычисляет g ( r 1 … . r n ’ … r m-1 )/r i и посылает его M m . 5. M m вырабатывает r m и получает множество M = g K i,m r 1 … r n ’ … r m /r i | i [1, m -1] . Затем оно посылается группе. 6. При получении сообщения шага (5) каждый M i , i =1,2… m -1 вычисляет групповой ключ как ( g r 1 … r n ’ … r m K im / r i ) K im -1 r i = g r 1 … r n ’ … r m = S m . Аналогично , M m вычисляет ключ , используя сообщение из шага (3). Если k =2 , то шаг (2) не нужен , в остальном протокол выглядит также. Шаги требуют всего k модульных экспоненцирований . Также , как и ранее , шаги (4) и (6) требуют по одному для каждого участника . Шаг (5) требует n + k -1 экспоненцирований . Число экспоненцирований для присоединения k участников равно n +2 k +1. Операция присоединения также может быть использов ана для добавления k участников к группе . Это потребует повторить операцию присоединения k раз – соответственно возрастает трудоемкость операции . Таким образом для массового добавления участников группы лучше использовать операцию слияния . Если использова ть операцию слияния для добавления одного участника к группе , то получается на два экспоненцирования больше , чем для операции присоединения . Итак , присоединение используется для добавления одного участника к группе , а слияние – нескольких. Выход из группы Операция выхода из группы удаляет k участников из n участников текущей группы . Во время операции вычисляется новый групповой ключ S n-k . M n-k становится новым контролирующим группы , если M n покидает группу . Для простоты предположим , что только один участ ник M d выходит из состава группы . Протокол выглядит следующим образом : 1. M n вырабатывает новое r n ’ и получает множество M = g K in r 1 … r n ’ / r i | i [1, n -1] и i d Затем М рассылается всем. 2. При получении сообщения M i вычисляет ( g K in r 1 … r n ’ /r i ) K in -1 r i = g r 1 … r n ’ = S n . M n вычисляет новый групповой ключ g r 1 … r n ’ = S n используя старое значение. Участник M d не может вычислить новый групповой ключ , т.к . контролирующий группы не вычислил вспомогательный кл юч g K dn r 1 … r n ’ /r d для M d . Если несколько участников покидают группу , то контролирующий группы не вычисляет нужные значения для выходящих из группы участников на шаге (1). Если из группы выходит контролирующий , то вышеописанные операции выполняет предпоследн ий участник группы M n-1 . Более того , поскольку новый контролирующий группы не может удалить из ключа долговременные ключи (они были у прошлого контролирующего группы ), каждый участник M i должен заново вычислить свой случайный сеансовый ключ как r i = r i ( K in -1 mod q ) перед выполнением шага (2). Шаг (1) требует n - k экспоненцирований . Шаг (2) требует одно экспоненцирование от каждого участника группы . Таким образом , операция выхода из группы требует n - k +1 модульных экспоненцировани й . Обновление ключа Операция обновления ключа выполняет замену группового ключа на новый . Использование этой операции зависит от используемой политики приложения , использующего CLIQUES или политики работы с ключами для предприятия . Эта операция выглядит также , как и операция выхода из группы с k =0 , т.е . на первом шаге M n вырабатывает множество M = g K in r 1 … r n ’ / r i | 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 Compute r 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 Communi cations 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 “ C rypto++” , 05.1999, http://www.eskimo.com/~wedai/cryptolib.html [7] RSA Laboratories, http://www.rsalab.com
1Архитектура и строительство
2Астрономия, авиация, космонавтика
 
3Безопасность жизнедеятельности
4Биология
 
5Военная кафедра, гражданская оборона
 
6География, экономическая география
7Геология и геодезия
8Государственное регулирование и налоги
 
9Естествознание
 
10Журналистика
 
11Законодательство и право
12Адвокатура
13Административное право
14Арбитражное процессуальное право
15Банковское право
16Государство и право
17Гражданское право и процесс
18Жилищное право
19Законодательство зарубежных стран
20Земельное право
21Конституционное право
22Конституционное право зарубежных стран
23Международное право
24Муниципальное право
25Налоговое право
26Римское право
27Семейное право
28Таможенное право
29Трудовое право
30Уголовное право и процесс
31Финансовое право
32Хозяйственное право
33Экологическое право
34Юриспруденция
 
35Иностранные языки
36Информатика, информационные технологии
37Базы данных
38Компьютерные сети
39Программирование
40Искусство и культура
41Краеведение
42Культурология
43Музыка
44История
45Биографии
46Историческая личность
47Литература
 
48Маркетинг и реклама
49Математика
50Медицина и здоровье
51Менеджмент
52Антикризисное управление
53Делопроизводство и документооборот
54Логистика
 
55Педагогика
56Политология
57Правоохранительные органы
58Криминалистика и криминология
59Прочее
60Психология
61Юридическая психология
 
62Радиоэлектроника
63Религия
 
64Сельское хозяйство и землепользование
65Социология
66Страхование
 
67Технологии
68Материаловедение
69Машиностроение
70Металлургия
71Транспорт
72Туризм
 
73Физика
74Физкультура и спорт
75Философия
 
76Химия
 
77Экология, охрана природы
78Экономика и финансы
79Анализ хозяйственной деятельности
80Банковское дело и кредитование
81Биржевое дело
82Бухгалтерский учет и аудит
83История экономических учений
84Международные отношения
85Предпринимательство, бизнес, микроэкономика
86Финансы
87Ценные бумаги и фондовый рынок
88Экономика предприятия
89Экономико-математическое моделирование
90Экономическая теория

 Анекдоты - это почти как рефераты, только короткие и смешные Следующий
- Как зовут того французского актёра, который снимается во всех российских сериалах?
- Бельмон Аглазу
Anekdot.ru

Узнайте стоимость курсовой, диплома, реферата на заказ.

Обратите внимание, реферат по программированию "Криптографические протоколы", также как и все другие рефераты, курсовые, дипломные и другие работы вы можете скачать бесплатно.

Смотрите также:


Банк рефератов - РефератБанк.ру
© РефератБанк, 2002 - 2016
Рейтинг@Mail.ru