Научная статья на тему 'Распределение ключей в группах с динамическим составом участников'

Распределение ключей в группах с динамическим составом участников Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
472
128
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
КРИПТОГРАФИЧЕСКАЯ СИСТЕМА / ОТКРЫТЫЙ И ЗАКРЫТЫЙ КЛЮЧ / ПРОТОКОЛЫ РАСПРЕДЕЛЕНИЯ КЛЮЧЕЙ / ЭЛЛИПТИЧЕСКИЕ КРИВЫЕ / CRYPTOGRAPHIC SYSTEM / OPEN AND SECURITY KEYS / KEY ALLOCATION PROTOCOLS / ELLIPTIC CURVES

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Фомина Ирина Александровна, Капренин Андрей Валерьевич

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

KEY ALLOCATION IN GROUPS WITH DYNAMIC MEMBER COMPOSITION

The problem of key exchange between subscribers in order to transfer information through open channels is considered. Special attention is given to the key allocation in groups with dynamic member composition. The basic operations essential for Exchange Protocol realization are considered. An example is given that illustrates the operation of the Protocol proposed.

Текст научной работы на тему «Распределение ключей в группах с динамическим составом участников»

Математическое моделирование. Оптимальное управление Вестник Нижегородского университета и м. Н.И. Лобачевс кого, 2010, № 6, с. 172-177

УДК 681.3

РАСПРЕДЕЛЕНИЕ КЛЮЧЕЙ В ГРУППАХ С ДИНАМИЧЕСКИМ СОСТАВОМ УЧАСТНИКОВ

© 2010 г. И.А. Фомина, А.В. Капренин

Нижегородский госуниверситет им. Н.И. Лобачевского fomis54@mail.ru

Поступила в редакцию 23.03.2010

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

Ключевые слова: криптографическая система, открытый и закрытый ключ, протоколы распределе-

ния ключей, эллиптические кривые.

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

Одним из наиболее важных компонентов любой криптографической системы является ключ. Еще в IX веке голландцем Киркхофором было сформулировано основное правило стойкости криптосистемы: «стойкость шифра должна определяться только секретностью ключа» (алгоритм считается известным). Отсюда следует, что как бы ни были сложны и надежны криптографические системы, их слабое место при практической реализации - проблема распределения ключей. Для того чтобы был возможен обмен конфиденциальной информацией между двумя субъектами, ключ должен быть сгенерирован одним из них, а затем каким-то образом в конфиденциальном порядке передан другому.

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

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

Проблема распределения ключей была рассмотрена в работе Диффи и Хеллмана [2], где разработана схема шифрования с открытым ключом. Их протокол распределения ключей, названный протоколом Диффи - Хеллмана об-

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

• генерация ключей основана на генерации больших простых чисел;

• процедуры шифрования и расшифровки связаны с возведением в степень по модулю многозначных чисел.

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

Криптография с использованием эллиптических кривых - подход, который появился сравнительно недавно (ECC - Elliptic curve cryptography) [3]. Здесь, вместо работы строго с остатками по модулю р, рассматриваются геометрические отношения. Привлекательность подхода на основе эллиптических кривых заключается в том, что в сложных геометрических вычислениях существует более трудный для раскрытия аналог проблемы дискретного логарифма. Кроме того, для этой задачи требуются более короткие простые числа, и работать с ними криптографические алгоритмы будут значительно быстрее. Современные реализации алгоритмов на основе эллиптических кривых показывают, что они более эффективны, чем другие системы с открытыми ключами (их производительность приблизительно на порядок выше, чем производительность RSA, Диффи - Хелл-мана, DSA).

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

• различные группы участников конференц-связи должны вырабатывать различные сеансовые ключи;

• сеансовые ключи должны распределяться динамически;

• каждая сторона должна индивидуально вычислять сеансовый ключ.

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

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

1. Операции для одного участника группы включают в себя добавление или удаление одного участника группы. Данные ситуации появляются, когда кто-то хочет присоединиться к группе или покинуть ее.

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

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

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

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

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

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

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

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

В качестве основы для этого протокола используется аутентичный протокол для групп п участников на основе эллиптических кривых. Пусть Ы={Ы\, М2,..., Мп} - множество пользователей, которым необходимо выработать общий ключ £п . Протокол выполняется в три этапа. На первом этапе (п - 1 шагов) идет сбор информации от отдельных участников группы.

*

Участник М выбирает случайное число г, е 2р,

*

I = 1,..., п - 1 (Zp - циклическая группа поряд-

ка р конечного поля), которое будет использоваться в качестве кратковременного секретного ключа г-го участника. Затем он передает следующему (г+1)-му участнику сообщение, содержащее г значений, которые являются комбинацией ключей, известных ему, дополненное собственным ключом. На втором этапе всем рассылается материал для вычисления общего ключа. Участник Мп выбирает случайное число

*

Гпе 2р и отправляет всем участникам значения

полученных им ключей: МпМ,. Групповой ключ Мп вычисляет как Бп= Г1Г2.ГпО (О - образующая точка эллиптической кривой, г^О -кратковременный открытый ключ г-го участника). И, наконец, на третьем этапе каждый участник вычисляет групповой

ключ =

Л

\

= г

-Кт°

КЫ = Г1Г2 -гп° (К,п - общий

V 'г )

долговременный секрет пары участников г и п,

*»•К° ^ Qx ^ О? = КП1, к- долговременный

секретный ключ г-го участника). Последний участник Мп называется контролирующим группы, так как через него проводятся все ключевые операции протокола.

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

Этап 3. Участник М, находит:

кАи+1^ ^ бх ^ бх1 = Кпг+1 •

Каждый участник М, вычисляет групповой ключ:

(

К ■■■К

н+1

К 1н+1°

КиН+1 = К1К2■■■Кн+1° •

'I )

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

на этапе 1 - п - 1 + 1 + 1 = п + 1;

на этапе 2 - п + 1 (вычисление ключа);

на этапе 3 - п.

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

Операция слияния. Операция используется для добавления к > 0 участников к существующей группе из п > 1 участников. Пусть т = п + + к. Во время операции вырабатывается новый групповой ключ £т, и Мт становится новым контролирующим группы. В предположении, что Мп является текущим контролирующим группы, протокол выглядит следующим образом:

Этап 1. Контролирующий группы Мп вырабатывает новое случайное значение гП е 2**

МпМп + \. Г\...Гп - \ГпО Г- К = Г\...Гп - 1 К О.

Этап 1. Контролирующий группы Мп вырабатывает новое случайное значение

*

гп е Ар и вычисляет множество М =

для всех

ге[1,п - 1]

МпМп+1 М.

Этап 2. Мп+1 вырабатывает случайное значе-

гу *

ние Гп+1 е 2р

Тл Г л г'Г л

Мп+1М: 1'" п-1 п п+1 Кы+хО,/ е [1,п -1]

Мп+1Мп: Г1***ГИ-1ГИ+1КИИ+1^ .

Здесь Kin+1=Qx - общий долговременный секрет участников М, и Мп+1, где Q=kikn+1О, а Qx -х-координата этой точки.

Групповой ключ Мп+1 вычисляет как 8п+1 = = Г1Г2... гП Гп+1О.

Этап 2. Участник М] (/е[п + 1, т - 1]) вырабатывает случайное значение Г^е 2**

М] — М+1: Г1.Гп-1 гП Гп+1--Г О.

Этап 3. Участник Мт вырабатывает случай-

гу *

ное значение Г те 2 р

Мт—— всем участникам:

Г1...Гп - 1 ^ Гп + 1-..Гт - 1О.

Групповой ключ Мт вычисляет как Бт =

= Г1Г2... гП ...Гт - 1Гт О .

Этап 4

Мг — Мт: Г1-Гг‘-Гт-1 О,I <= [1,т -1]

Г!■

Этап 5

МтМ,: Гх'"Гп•"Гт--Гт КыО,I е [1,т -1]

Этап 6. Участник М, (ге[1, т - 1]) вычисляет групповой ключ:

г1---гп'"гт-1гт т>—1^ _ „ Г*

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

гг КтКт^ 1 •■■■’т .

Г1

На первый взгляд может показаться, что этапы 4-5 являются лишними и на 4 этапе можно сразу же пересылать участникам г1г2... гП ... Гт - 1гтК,тО. Однако в таком случае протокол не будет обладать свойством совершенной опережающей секретности (при компрометации долговременного секрета К,т злоумышленник сможет найти сеансовый ключ).

Подсчитаем число операций умножения, требующихся для выполнения слияния:

- на этапе 1 - 1;

- на этапе 2 - т - п - 1;

- на этапе 3 - 1;

- на этапе 4 - т - 1 (или 1, если считать

вычисления одновременными);

- на этапе 5 - т - 1;

- на этапе 6 - т - 1 (или 1, если считать

вычисления одновременными).

Таким образом, общее число операций умножения на точку при слиянии равно: 4т - п - 2 или 2т - п + 2 (если на шагах 4, 6 считать выполнение операций одновременно), где т = п + к.

Операция присоединения также может быть использована для добавления к участников к группе. Это потребует повторить операцию присоединения к раз - соответственно возрастает трудоемкость операции. Таким образом, для массового добавления участников группы лучше использовать операцию слияния. В то же время для добавления одного участника можно использовать операцию слияния. В этом случае получаем: 2(п + 1) - п + 2 = п + 4 операций умножения, в то время как при присоединении одного участника требовалось 2п + 3 операций умножения. Из этого следует, что при добавлении любого числа новых участников группы лучше использовать операцию слияния.

Операция выхода из группы. Пусть из группы выходят к участников. Во время операции вычисляется новый групповой ключ 8п_к. Обозначим {<й} множество индексов выходящих участников. При этом если из группы не выходит контролирующий, то он остается им в новой группе, если выходит - то новым контролирующим становится последний невышедший (по индексу) участник. Отметим, что операция выхода из группы также может быть реализована несколькими способами. Приведем два варианта реализации.

Вариант 1

Этап 1. Новый контролирующий группы Мп> вырабатывает новое случайное значение

Г’ е 2р (п' = п, если старый контролирующий

не выходит из группы, и п' = п - у, если контролирующим становится последний не вышедший из группы участник).

Мп, — М: к1п,о,I*{й}

г

Групповой ключ Мп вычисляет как $п - к= = Г1Г2... Г О.

Этап 2. Участник М, вычисляет групповой ключ как

Г г’ 1

-V* = г л-гп- }.

г

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

Этап 1

М1 — М2: г1О

М2 — М3: г1О, г2О, г1г2О

М3 — М4: г1г2О, г1г3О, г2г3О, г1г2г3О

М4 — М5: г1г2г3О, г1г2г4О, г1г3г4О,

г2г3г4О, г1г2г3г4О

Этап 2

М5— Мх. Г2ГзГ4Г5К15О

М5— М2. Г1Г3Г4Г5К25О

М5— М3. Г1Г2Г4Г5Кз5О М5— М4: Г1Г2ГзГ5К45О $5 = Г1Г2Г3Г4Г5О

Этап 3

М1, М2, М3, М4: $4= $5= Г1Г2Г3Г4Г5О

а) из группы выходят участники М2, М3 (контролирующим остается М5)

Этап 1

М5 — М1: Г2Г3Г4 Г К15О

М5 — м4. Г1Г2Г3 Г К45О

Этап 2

^5 =Г1Г2Г3Г4 г5> О

б) из группы выходят участники М3, М5 (контролирующим становится М4)

Этап 1

М4— М1: г2г3 г4 К14О

М4— м2. Г1Г3 г К24О

Этап 2

£3 =Г1Г2Г3 Г4 О

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

Вариант 2

Этап 1. Новый контролирующий группы Мп вырабатывает новое случайное значение

Г *7*

гп’ е .

Мп' — М,: 8пгп< ,I & {<!}

Групповой ключ Мп/ вычисляет как $п-к = = Гл гг^ О

1- п п

Этап 2

М — МП': г1-Гп,-1Гп'+1-Гп о, I £{с1]

Этап 3.

Г Г / 1Г г Гг 1 Г

Мп, — М: I- п -1 п п +1- П кр, ; ^

Г

Этап 4. Участник М, вычисляет групповой ключ как 5 * = г- /1-г"'-г” КпК-1 Й №

г ш

ч

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

Операция обновления ключа выполняет замену группового ключа на новый. Эта операция выглядит так же, как и операция выхода из группы с к = 0. Подобно операции выхода из группы можно привести 2 варианта реализации обновления ключа.

Вариант 1

Этап 1. Контролирующий группы Мп вырабатывает новое случайное значение гП е 2**.

Мп — М,: К ы О .

Групповой ключ Мп/ вычисляет как

я; =г1г2 ■■■ гПО.

Этап 2. Участник M, вычисляет групповой

ключ как S; = r, r •" Гп K K г1G .

ri

Вариант 2

Этап 1. Контролирующий группы Mn вырабатывает новое случайное значение r П е2*р.

Mn ^ Mi: Snrn 1.

Групповой ключ Mn вычисляет как £" = г\■■■ r 1 r' G

'n n

Этап 2

Г r 1

M, ^ Mn: J—^ G.

ri

Этап 3

r r 1 rf Mn ^ M: Л—n-1jL к in g .

ri

Этап 4. Участник M, вычисляет групповой

r Г лГ _1 ключ как Г 1 n 1 n Kin Kin G •

ri

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

Список литературы

1. Молдовян А.А., Молдовян Н.А., Советов Б.Я. Криптография. СПб.: Изд-во «Лань», 2000. 224 с.

2. Диффи У., Хеллман М.Э. Защищённость и

имитостойкость: Введение в криптографию //

ТИИЭР. 1979. Т. 67, № 3. С. 71-109.

3. Рябко Б.Я., Фионов А.Н. Основы современной криптографии для специалистов в информационных технологиях. М.: Научный мир, 2004. 173 с.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

4. Alves-Foss J. An efficient secure authenticated group key exchange algorithm for large and dynamic groups // 23rd National Information Systems Security Conference. URL: http://sceas.csd.auth.gr/php/search. php4?author_id=9494

5. Ateniese G., Steiner M., Tsudik G. Authenticated Group Key Agreement and Friends // 5th ACM Conference on Computer and Communications Security. URL: http://www.informatik.uni-trier.de/~ley/db/conf/ccs/ccs1998. html

KEY ALLOCATION IN GROUPS WITH DYNAMIC MEMBER COMPOSITION

I.A. Fomina, A.V. Kaprenin

The problem of key exchange between subscribers in order to transfer information through open channels is considered. Special attention is given to the key allocation in groups with dynamic member composition. The basic operations essential for Exchange Protocol realization are considered. An example is given that illustrates the operation of the Protocol proposed.

Keywords: cryptographic system, open and security keys, key allocation protocols, elliptic curves.

i Надоели баннеры? Вы всегда можете отключить рекламу.