Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Шемякин лекции 2023 / Алфёров А.П., Зубов А.Ю., Кузьмин А.С., Черемушкин А.В. Основы криптографии

.pdf
Скачиваний:
55
Добавлен:
30.05.2023
Размер:
7.75 Mб
Скачать

/ юотоколы распребеления ключей

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

Если число абонентов сети засекреченной связи невелико, то и число распределяемых ключей также невелико. Для больших же сетей распределение ключей становится очень серьезной проблемой. Она заключается в том, что для сети, в которой работают п абонентов, необходимо выработать зара­ нее и хранить в дальнейшем п ( п - 1)/2 ключей. Кроме того, каждому абоненту сети необходимо передать ключи для связи с остальными п - 1 абонентами, которые абонент должен по­ стоянно хранить. Например, для сети со 100 абонентами нужно сгенерировать и хранить почти 5000 ключей, причем каждый абонент при этом должен хранить у себя 99 ключей.

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

В качестве примера рассмотрим схему Блома [В1о83] рас­ пределения ключей между п абонентами, для которой проце­ дура вычисления ключа заключается в вычислении значения некоторого симметрического многочлена над конечным по­ лем.

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

припишем /-му абоненту сети, / =\,п. Эти элементы не явля­ ются секретными и могут храниться на общедоступном сер­ вере сети. Выберем теперь многочлен над полем Р степени

2т, \ < т < п , вида

391

/ лава 1ь

тт

/( Х ’У) = 'Е 'Е аг х' у ' ’

1=0 7=0

где ац = а , / ^у, у = 0,т . Его коэффициенты являются сек­

ретными и должны храниться только в центре распределения ключей. Каждый абонент А получает в качестве ключевых

материалов набор ( а ^ \ а \ А\

состоящий из коэффи­

циентов многочлена

ёА (х) =/(х,гА) = а 0А'( + а\А)х +...+ а[А) хк .

Для связи между абонентами А и В теперь можно исполь­ зовать общий ключ кАВ:

кАв = кВА= / ( г А,гв) = 8в(га) = §А(гв),

который могут легко вычислить оба абонента.

При использовании данной схемы каждый абонент дол­ жен хранить ш+1 секретных значений вместо п - 1 , общее же число секретных коэффициентов многочлена / равно

т(т+1 )/2 .

Имеют место следующие результаты.

Лемма. Пусть имеется матрица Вандермонда

1

г\

 

' О

 

 

 

 

 

1

гг

г } ...

г т

г 2

г т гт+1 Гт+1 - ’ 'т+\у

Если элементы ги г2, ..., гт у попарно различны и отличны от нуля, тогда обратима над полем Е.

392

/ 1ротоколы распределения ключей

Теорема 1. Схема Блома предварительного распределе­

ния ключей между п абонентами, использующая многочлен

степени

т, 1 < т < п , является стойкой к компрометации

ключей

т абонентов. Это означает, что при раскрытии

ключевых материалов, принадлежащих любым т абонентам, злоумышленник, зная их значения, не сможет определить ни один из ключей для связи между остальными (п - т) абонен­

тами.

 

Д оказательство. Запишем

выражение для общего

ключа абонентов А и В, вычисляемого по формуле

т

т

кАВ = / ( ГА^Гв) = У

^ а, / ЛГН >

/=0 7=0

в матричном виде:

\ ат§

ат0

а тт)

т

)

 

 

 

\ ГВ

Здесь матрица Л = (а;/)

составлена из коэффициентов

многочлена/ (х, у) и является симметричной.

 

 

Абонент А имеет секретный набор (а{А\

а\А\

а ^ А)\

представляющий собой коэффициенты многочлена

 

ёл (*) =/{х,гА) = а (А) + а\А)х +...+ а (А) хт,

или иначе

Га ) - А.

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

393

I лава 1Ь

делить ни один из ключей для связи между оставшимися (п - т) абонентами.

Пусть, например, известны секретные наборы ключевых материалов т абонентов — А,В,...,С. Будем искать ключ для связи между абонентами V и IV, не входящими в множество {А,В,...,С}. Для этого рассмотрим матричное равенство

 

 

кАВ

...

)

к

^

 

 

 

 

КАА

 

кАС

КАЦ

 

 

 

 

 

^ВА

квв

 

^ВС

кво

 

 

 

 

 

^СА

ксв

...

)К с

кси

 

 

 

/

 

 

кт

...

кт

кт/)

 

 

ГА

4 ...

гАт)

 

( 1

1

...

1

1 ^

 

 

1

ГВ

г1 ..

 

•Л-

ГА

гв

...

гс

ги

...

 

 

 

Л

4

 

 

4

1

ГС

4 ..

 

 

 

...

 

 

 

V

Гцг

4 ••

ГУ/ )

 

Г

гвт

 

 

 

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

Выражая теперь матрицу Л из данного равенства, замеча­ ем, что при произвольно заданном значении ключа кт из по­ ля Р матрица Л находится как произведение трех матриц. (Проверьте, что данная матрица должна быть симметричной матрицей, составленной из коэффициентов многочлена.)8

Таким образом, при каждом значении ключа кт может быть найден многочлен/(.х, у), при котором данный ключ по­

8 Указание замените в нижней строке рассматриваемого матричного равенства символ IV на II и заметьте, что нижняя строка полученной матри­ цы будет линейной комбинацией строк исходной матрицы

394

/ 1ротоколы распределения ключей

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

С другой стороны, если известны ключевые материалы, принадлежащие т + 1 абонентам, то, очевидно, из рассматри­ ваемого равенства матрица ) всегда находится однознач­

но. Теорема доказана.

Теорема 2. Если схема предварительного распределения ключей между п абонентами является стойкой к компроме­ тации ключей т абонентов, I < т < п , и использует I- битовые ключи, то каждый абонент должен хранить не ме­ нее 1{т + 1) бит ключевых материалов.

Докажите эту теорему самостоятельно в качестве упраж­ нения.

Из теорем 1 и 2 следует, что для заданного числа т схема Блома дает минимальное по объему количество хранимых у абонента ключевых материалов.

Рассмотрим еще одну схему предварительного распреде­ ления ключей, которая также позволяет значительно сокра­ тить общее число хранимых и передаваемых секретных клю­ чей. Она называется КОР (кеу ЗШпЪийоп раПегт) и основана на схеме пересечений множеств (см. [Оуе95]).

Пусть имеется п, п > 2 , абонентов (пользователей) и множество секретных ключей К, I К | = ц. Будем считать, что все ключи перенумерованы числами 1,2,..., ц. Выберем неко­ торое семейство {8}9...,8п} подмножеств множества

{1,2,..., ц) . Предварительно абоненту / по защищенному кана­ лу передается множество секретных ключей с номерами из подмножества 1 = \,п. Таким образом, семейство

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

395

I лава 1Ь

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

Схемой распределения ключей типа КОР, или КЭР(и,д)- схемой, назовем всякое семейство {8],...,8п} подмножеств

множества К, удовлетворяющее следующему условию:

если при некоторых /, у, г е {1, ..., п} выполнено включение 8 ^ 8 с; 8Г, то либо г = г, либоу = г.

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

Семейство подмножеств называется семейством Шпер- нера, если ни одно из них не содержится в другом.

Теорема 3.

Семейство

{ 8 1у...,8 п} подмножеств

множества К, \

К \ = ^, образует КЭР{п^Усхему в том и

только в том случае, если множество { 5 ,0

5) | 1 < / <у < п }

образует семейство Шпернера.

 

 

Докажите теорему 3 самостоятельно в качестве упражне­

ния.

 

 

 

Теорема 4 (8регпег,

1928).

Если

подмножества

{5^ ,...,5^} множества К,

IК I = д,

образуют семейство

Шпернера, то

 

 

 

т < С

Равенство достигается только в случае, если множество {5'],..., 8т} совпадает с множеством всех уу-элементных под­ множеств множества К, где м = д/2 при четном д и = (д+1)/2 или (д - 1)/2 при нечетном

396

/ юотоколы распределения ключей

 

Д оказательство. Пусть семейство

под­

множеств множества К состоит из максимально возможного числа элементов. Покажем, что существует семейство Шпер­ нера с не меньшим, чем т, числом множеств, каждое их кото-

рых имеет мощность

Обозначим

= шах |5, | . Предположим, что

> -

 

/=1,л

 

что подмножества 5 1 , 5/, / < я , состоят из и> элементов. Рассмотрим подмножества К \, ..., Ки множества К, каждое из которых состоит из м>-1 элементов и содержится хотя бы в одном из подмножеств 5ь 5/. Нетрудно видеть, что семей­ ство

Ки •••? Ки, 5 / + 1 , 5 / и

также образует семейство Шпернера. Покажем, что и > ( .

Каждое подмножество 5/ содержит ровно

подмножеств

. С другой стороны, каждое подмножество

входит не бо­

лее чем в (д - + 1 ) подмножеств 5,. Поэтому, вычисляя дву­ мя способами число ребер в двудольном графе, вершинами

которого являются подмножества 5 1 ,...,5/ и

Кш а ребра

соединяют вложенные подмножества Ку с: 5 ,,

получаем не­

равенство IV/ < (д - м?4*1)и. Отсюда следует, что

Л

+ 1 <

или

и >

< (д -

■" _____ + 1 Г 1

Я

Ч ~

_2 _

уг + \)и < / я -

я_ \ и,

V

_2_ )

( >(

397

 

 

 

 

I лава 75

Таким

образом, можно считать, что

в

семействе

{8 8 п }

все элементы

состоят не более чем

из

эле-

ментов.

 

 

 

 

Если в семействе { 8

8 п } имеется множество с мень-

шим, чем

числом элементов, то, переходя к семейству

 

. 2 .

 

 

 

{5"у ,...,8'п }, состоящему из подмножеств 8 \ = К \ 8 п кото­

рое также составляет семейство Шпернера, и, повторяя при­ веденные выше рассуждения, получаем семейство, в котором все множества имеют одинаковое число элементов. Теорема доказана.

Теорема 5. Для любой КОР(п,с[)-схемы каждый абонент должен иметь не менее 1о§2 я ключей. Если п > 4, то ^ > 2

1о§2п.

Д оказательство. Если у какого-либо абонента имеется множество, состоящее менее чем из 1о§2 п ключей, то с их по­ мощью можно построить не более чем п - 2 различных под­ множеств ключей. Поэтому он не сможет сформировать раз­ личные ключи для связи с п - 1 абонентами.

Вторая оценка получается из очевидного неравенства

г'[я!2\ > с 1 ,

которое справедливо в силу предыдущей теоремы.

Схемы разделения секрета

Схема разделения секрета представляет собой схему предварительного распределения ключей между уполномо­ ченными группами пользователей, в которой ключ заранее определен и одинаков для каждой уполномоченной группы. При этом каждый пользователь получает свою долю или “часть секрета”. Схема включает два протокола: протокол 398

/ 1ротоколы распределения ключей

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

Основное назначение схемы разделения секрета — защи­ та ключа от потери. Обычно для защиты от потери делают несколько копий ключа. С возрастанием числа копий ключа возрастает вероятность его компрометации. Если число копий мало, то велик риск потери ключа. Поэтому лучше “разде­ лить” ключ между несколькими лицами так, чтобы допуска­ лась возможность восстановления ключа при различных об­ стоятельствах несколькими уполномоченными группами с заранее оговоренным составом участников. Тем самым ис­ ключается риск безвозвратной потери ключа.

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

В простейшем случае, когда имеется только одна группа, состоящая из I пользователей, уполномоченная формировать ключ, схему разделения секрета можно построить следующим образом. Предположим, к примеру, что ключ представляет собой двоичный вектор л*длины т. Выберем случайным обра­ зом ^ векторов 8\, так, чтобы их сумма совпадала с векто­ ром з9 и распределим их между пользователями. Теперь, со­ бравшись вместе, они могут легко восстановить значение ключа д, в то время как никакая группа, состоящая из меньше­ го числа пользователей, не сможет этого сделать. Действи­ тельно, в данном случае отсутствие хотя бы одной доли при­

399

I лава 1Ь

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

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

Другой пример схемы разделения секрета дает пороговая схема Шамира [8Ьа79].

Пусть 1 <{ <п . Схема разделения секрета между п поль­ зователями называется (п,1)-пороговощ если любая группа из / пользователей может восстановить секрет, в то время как ни­ какая группа из меньшего числа пользователей не может по­ лучить никакой информации о секрете.

Для построения (я,/)-пороговой схемы А. Шамир предло­ жил использовать многочлен степени / - 1 над конечным по­ лем с достаточно большим числом элементов. Как известно, многочлен степени / - 1 можно однозначно восстановить по его значениям в I различных точках, но при этом меньшее число точек использовать для интерполяции нельзя.

Выберем поле Р и зафиксируем п различных несекрет­ ных элементов гь ..., гпеР, отличных от нуля. Каждый эле­ мент г1 приписан /-му абоненту сети, / = 1,п . Выберем также / случайных элементов а0,...,а/_/ поля Р и составим из них многочлен/ ( х) над полем Р степени / - 1, 1 <1<п,

(-1

/(* ) =

/=0

Положим 5 =Л0) = а0. Вычислим теперь значения

*1= / (п ),

5П=/ { Г„)

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

(г„ я,), 1= \,п .

400