1. Протоколы обмена становятся более сильными и автономными.

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

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

Для протоколов A-GDH.2 и SA-GDH.2 исходя из практических соображений было определено подтверждение ключа как подтверждение ключа для контролирующего группы (участника Mn). Это может быть легко достигнуто в обоих протоколах путем добавления

a F(Sn(Mn))

в последнее сообщение протокола (рассылка всем участникам группы), где Sn(Mn) обозначает ключ, вычисленный Mn, а F – хэш-функцию, как это было определено выше.

Таким образом, участник группы Mi вычисляет Sn(Mi) и проверяет равенство:

a F(Sn(Mi)) =?a F(Sn(Mn)) .

В [2,5] замечено, что в A-GDH.2 и SA-GDH.2 подтверждение и неявная аутентификация ключа образуют полезный в некоторых случаях побочный эффект – аутентификацию участника Mn для всех участников группы. Это еще раз доказывает необходимость выделения Mn как отдельного лица – контролирующего группы.

Включение подтверждения ключа в протокол SA-GDH.2 приводит к интересному результату, а именно:

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

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

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

Опр. 2.3.2. (неформ.) Групповой протокол обмена для выработки общего ключа является проверяемо контрибутивным (verifiable contributory), если каждый участник протокола уверен, что каждый другой участник сделал вклад в групповой ключ.

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

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

Рассмотрим приведенный на рис. 2 пример для трех участников.

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

Предположим, что имеется активный противник, который может вмешиваться в передачу, подменять и модифицировать данные. Он может провести какое-либо экспоненцирование данных на этапе (1) и/или (2) и это останется незамеченным. Пусть он просто возводит в квадрат все величины на этапе (2). Тогда M3 получит следующие значения: a 2r1K12, a 2r1r2K13K23, a 2r2K21.

В результате M3 вычислит S3(3)= a 2r1r2 r3, т.е. квадрат предполагавшегося ключа. Все остальные участники группы получат то же самое. Подтверждение ключа здесь не помогает, поскольку злоумышленник вторгается в протокол перед тем, как M3 вычисляет свой групповой ключ.

Как было справедливо замечено в [1], протокол SA-GDH.2 подвержен (пока) только мультипликативному (экспоненциальному) влиянию противника на ключ, т.е. можно получить ключ Kc, где с- некоторая константа, а К-ключ, предполагаемый в протоколе. Авторы задаются вопросом: так ли важна целостнось ключа в протоколе обмена с проверяемой контрибутивностью?

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

2.4 Сравнение эффективности

Приведем таблицу сравнения протоколов (по вычислительным требованиям). Понятно, что различные реализации будут различаться по скорости выполнения и объему кода, а также типа используемых процессоров – это отдельная тема и с математической точки зрения не представляет интереса, нужные таблицы приведены в [2,3,4,5]. Поэтому ограничимся приведением лишь вычислительных характеристик в таблице 1.

Стоимость вычислений GDH.2 A-GDH.2 SA-GDH.2
Экспоненцирований для Mi I+1 i+1 n
Экспоненцирований для Mn N n N
Всего экспоненцирований (n2+3n)/2-1 (n2+3n)/2-1 n2
Вычисления обр. элементов для Mi 1
Вычисления обр. элементов для Mn 1
Всего вычислений обр. элементов n
Умножений для Mi 1 2n-2
Умножений для Mn n-1 2n-2
Всего умножений 2n-2 2n2-2n

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

3 Проект CLIQUES

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

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

Рассмотрим основные операции, которые позволяет выполнять разработанный протокол.

1. Операции для одного участника группы: включают в себя добавление или удаление одного участника группы. Данные ситуации появляются, когда кто-то хочет присоединиться к группе или покинуть ее. Эти операции могут проводится контролером группы или по согласию каждого участника группы (в зависимости от используемой политики безопасности).

2. Операции для нескольких участников: также включают в себя добавление и удаление. Однако есть отличия, обусловленные желанием проводить операции с несколькими участниками сразу, а не с каждым в отдельности:

массовое присоединение: несколько участников хотят присоединиться к существующей группе;

слияние групп: две или более групп желают соединиться в одну;

массовый выход из группы: несколько участников хотят покинуть группу;

разделение групп: группа распадается на две или более частей.

3. Операции по обновлению ключа обусловлены двумя причинами:

ограничением шифртекста, получаемого на одном ключе для ограничения возможности получения пар открытый текст/шифртекст для проведения криптоанализа (время жизни ключа определяется выбранной политикой);

предохранением от компрометации текущего ключа или вклада каждого участника.

Итак, список операций, выполняемых протоколом, выглядит следующим образом:

присоединение (JOIN): новый участник добавляется в группу;

слияние (MERGE): один или более участников добавляются в группу;

выход из группы (LEAVE): один или более участников покидают группу;

обновление ключа (KEY REFRESH): генерация нового ключа для группы.

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

Присоединение

Операция добавляет нового участника Mn+1 к группе из n участников. Во время операции вычисляется новый групповой ключ Sn+1 , и Mn+1 становится новым контролирующим группы. Предполагая, что Mn является текущим контролирующим группы, протокол выглядит следующим образом:

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

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

Затем M посылается Mn+1.

2. После получения сообщения Mn+1 вырабатывает число rn+1 и вычисляет значение g Ki,n+1r1…rn’rn+1/ri для всех i из [1,n]. Затем это множество рассылается всей группе.

3. При получении каждый Mi вычисляет групповой ключ как

(g Ki,n+1r1…rn’rn+1/ri)K-1i,n+1ri= g r1…rn’rn+1= Sn+1. А Mn+1 вычисляет ключ, используя сообщение из шага (1).

Шаги (1) и (2) требуют n экспоненцирований, шаг (3) требует одно экспоненцирование для каждого участника группы. Общее число экспоненцирований для получения ключа равно 2n+1 (считается, что на третьем шаге экспоненцирования происходят одновременно и по времени равны одному).

Слияние

Операция используется для добавления k>0 участников к существующей группе из 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 выходит из состава группы. Протокол выглядит следующим образом:


Информация о работе «Криптографические протоколы»
Раздел: Информатика, программирование
Количество знаков с пробелами: 35706
Количество таблиц: 5
Количество изображений: 2

Похожие работы

Скачать
24886
1
11

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

Скачать
138113
3
22

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

Скачать
61238
6
2

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

Скачать
78918
0
0

... в общем случае это может быть любое число, меньшее, чем длина алфавита. Это число и является ключом в данном шифре: А Б В Г Д Е Е Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ы Ь Ъ Э Ю Я Г Д Е Е Ж 3 И И К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ы Ь Ъ Э Ю Я А Б В КРИПТОГРАФИЯ -> НУЛТХСЕУГЧЛВ Шифр Виженера Является модификацией шифра Цезаря, в котором величина сдвига является переменной и зависит от ключевого ...

0 комментариев


Наверх