/ юотоколы распребеления ключей
Схемы предварительного распределения ключей в сети связи
Если число абонентов сети засекреченной связи невелико, то и число распределяемых ключей также невелико. Для больших же сетей распределение ключей становится очень серьезной проблемой. Она заключается в том, что для сети, в которой работают п абонентов, необходимо выработать зара нее и хранить в дальнейшем п ( п - 1)/2 ключей. Кроме того, каждому абоненту сети необходимо передать ключи для связи с остальными п - 1 абонентами, которые абонент должен по стоянно хранить. Например, для сети со 100 абонентами нужно сгенерировать и хранить почти 5000 ключей, причем каждый абонент при этом должен хранить у себя 99 ключей.
Для уменьшения объема хранимой ключевой информации применяются различные схемы предварительного распреде ления ключей в сети связи. Их суть заключается в том, что в действительности вначале происходит распределение не са мих ключей, а некоторых вспомогательных ключевых мате риалов, занимающих меньшие объемы. На основании этих материалов каждый абонент сети может самостоятельно вы числить по некоторому алгоритму необходимый для связи ключ. Такой подход позволяет уменьшить объемы как храни мой, так и распределяемой секретной информации.
В качестве примера рассмотрим схему Блома [В1о83] рас пределения ключей между п абонентами, для которой проце дура вычисления ключа заключается в вычислении значения некоторого симметрического многочлена над конечным по лем.
Выберем поле Р, имеющее конечное, но достаточно большое число элементов, и зафиксируем п различных эле ментов гь ..., гпеР , отличных от нуля. Каждый элемент г,
припишем /-му абоненту сети, / =\,п. Эти элементы не явля ются секретными и могут храниться на общедоступном сер вере сети. Выберем теперь многочлен над полем Р степени
2т, \ < т < п , вида
/ лава 1ь
тт
/( Х ’У) = 'Е 'Е аг х' у ' ’
1=0 7=0
где ац = а , / ^у, у = 0,т . Его коэффициенты являются сек
ретными и должны храниться только в центре распределения ключей. Каждый абонент А получает в качестве ключевых
материалов набор ( а ^ \ а \ А\ |
состоящий из коэффи |
циентов многочлена
ёА (х) =/(х,гА) = а 0А'( + а\А)х +...+ а[А) хк .
Для связи между абонентами А и В теперь можно исполь зовать общий ключ кАВ:
кАв = кВА= / ( г А,гв) = 8в(га) = §А(гв),
который могут легко вычислить оба абонента.
При использовании данной схемы каждый абонент дол жен хранить ш+1 секретных значений вместо п - 1 , общее же число секретных коэффициентов многочлена / равно
т(т+1 )/2 .
Имеют место следующие результаты.
Лемма. Пусть имеется матрица Вандермонда
1 |
г\ |
|
' О |
|
|
|
|
|
1 |
гг |
г } ... |
г т |
г 2 |
г т гт+1 Гт+1 - ’ 'т+\у
Если элементы ги г2, ..., гт у попарно различны и отличны от нуля, тогда обратима над полем Е.
/ 1ротоколы распределения ключей
Теорема 1. Схема Блома предварительного распределе
ния ключей между п абонентами, использующая многочлен |
степени |
т, 1 < т < п , является стойкой к компрометации |
ключей |
т абонентов. Это означает, что при раскрытии |
ключевых материалов, принадлежащих любым т абонентам, злоумышленник, зная их значения, не сможет определить ни один из ключей для связи между остальными (п - т) абонен
тами. |
|
Д оказательство. Запишем |
выражение для общего |
ключа абонентов А и В, вычисляемого по формуле |
т |
т |
кАВ = / ( ГА^Гв) = У |
^ а, / ЛГН > |
/=0 7=0
в матричном виде:
\ ат§ |
ат0 |
а тт) |
т |
) |
|
|
|
\ ГВ |
Здесь матрица Л = (а;/) |
составлена из коэффициентов |
многочлена/ (х, у) и является симметричной. |
|
|
Абонент А имеет секретный набор (а{А\ |
а\А\ |
а ^ А)\ |
представляющий собой коэффициенты многочлена |
|
ёл (*) =/{х,гА) = а (А) + а\А)х +...+ а (А) хт,
или иначе
Га ) - А.
Предположим, что известны ключевые материалы, при надлежащие т абонентам. Покажем, что по ним нельзя опре
I лава 1Ь
делить ни один из ключей для связи между оставшимися (п - т) абонентами.
Пусть, например, известны секретные наборы ключевых материалов т абонентов — А,В,...,С. Будем искать ключ для связи между абонентами V и IV, не входящими в множество {А,В,...,С}. Для этого рассмотрим матричное равенство
|
|
(к |
кАВ |
... |
) |
к |
^ |
|
|
|
|
КАА |
|
кАС |
КАЦ |
|
|
|
|
|
^ВА |
квв |
|
^ВС |
кво |
|
|
|
|
|
^СА |
ксв |
... |
)К с |
кси |
|
|
|
/ |
|
|
кт |
... |
кт |
кт/) |
|
|
ГА |
4 ... |
гАт) |
|
( 1 |
1 |
... |
1 |
1 ^ |
|
|
1 |
ГВ |
г1 .. |
|
•Л- |
ГА |
гв |
... |
гс |
ги |
... |
|
|
|
Л |
4 |
|
|
4 |
1 |
ГС |
4 .. |
|
|
|
... |
|
|
|
V |
Гцг |
4 •• |
ГУ/ ) |
|
Г |
гвт |
|
|
|
В матрице из левой части равенства не известен только искомый ключ кцгц. В правой части неизвестная матрица Л умножается слева и справа на обратимые матрицы, так как по лемме их определители не равны нулю.
Выражая теперь матрицу Л из данного равенства, замеча ем, что при произвольно заданном значении ключа кт из по ля Р матрица Л находится как произведение трех матриц. (Проверьте, что данная матрица должна быть симметричной матрицей, составленной из коэффициентов многочлена.)8
Таким образом, при каждом значении ключа кт может быть найден многочлен/(.х, у), при котором данный ключ по
8 Указание замените в нижней строке рассматриваемого матричного равенства символ IV на II и заметьте, что нижняя строка полученной матри цы будет линейной комбинацией строк исходной матрицы
/ 1ротоколы распределения ключей
лучается в качестве решения. Это свидетельствует о невоз можности получения информации об этом ключе на основа нии известных значений.
С другой стороны, если известны ключевые материалы, принадлежащие т + 1 абонентам, то, очевидно, из рассматри ваемого равенства матрица (а ) всегда находится однознач
но. Теорема доказана.
Теорема 2. Если схема предварительного распределения ключей между п абонентами является стойкой к компроме тации ключей т абонентов, I < т < п , и использует I- битовые ключи, то каждый абонент должен хранить не ме нее 1{т + 1) бит ключевых материалов.
Докажите эту теорему самостоятельно в качестве упраж нения.
Из теорем 1 и 2 следует, что для заданного числа т схема Блома дает минимальное по объему количество хранимых у абонента ключевых материалов.
Рассмотрим еще одну схему предварительного распреде ления ключей, которая также позволяет значительно сокра тить общее число хранимых и передаваемых секретных клю чей. Она называется КОР (кеу ЗШпЪийоп раПегт) и основана на схеме пересечений множеств (см. [Оуе95]).
Пусть имеется п, п > 2 , абонентов (пользователей) и множество секретных ключей К, I К | = ц. Будем считать, что все ключи перенумерованы числами 1,2,..., ц. Выберем неко торое семейство {8}9...,8п} подмножеств множества
{1,2,..., ц) . Предварительно абоненту / по защищенному кана лу передается множество секретных ключей с номерами из подмножества 8» 1 = \,п. Таким образом, семейство
{81 представляет собой таблицу с номерами ключей каждого пользователя. Хотя данная таблица является несек ретной, она должна быть защищена от модификаций и подде лок.
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 при нечетном
/ юотоколы распределения ключей |
|
Д оказательство. Пусть семейство |
под |
множеств множества К состоит из максимально возможного числа элементов. Покажем, что существует семейство Шпер нера с не меньшим, чем т, числом множеств, каждое их кото-
рых имеет мощность
Обозначим |
= шах |5, | . Предположим, что |
> - |
|
/=1,л |
|
что подмножества 5 1 , 5/, / < я , состоят из и> элементов. Рассмотрим подмножества К \, ..., Ки множества К, каждое из которых состоит из м>-1 элементов и содержится хотя бы в одном из подмножеств 5ь 5/. Нетрудно видеть, что семей ство
Ки •••? Ки, 5 / + 1 , 5 / и
также образует семейство Шпернера. Покажем, что и > ( .
Каждое подмножество 5/ содержит ровно |
подмножеств |
. С другой стороны, каждое подмножество |
входит не бо |
лее чем в (д - + 1 ) подмножеств 5,. Поэтому, вычисляя дву мя способами число ребер в двудольном графе, вершинами
которого являются подмножества 5 1 ,...,5/ и |
Кш а ребра |
соединяют вложенные подмножества Ку с: 5 ,, |
получаем не |
равенство IV/ < (д - м?4*1)и. Отсюда следует, что
< (д -
■" _____ + 1 Г 1
Я
Ч ~
_2 _
уг + \)и < / я - |
я_ \ и, |
V |
_2_ ) |
( >(
|
|
|
|
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 и распределим их между пользователями. Теперь, со бравшись вместе, они могут легко восстановить значение ключа д, в то время как никакая группа, состоящая из меньше го числа пользователей, не сможет этого сделать. Действи тельно, в данном случае отсутствие хотя бы одной доли при
I лава 1Ь
водит к полной неопределенности относительно значения секрета, поскольку для каждого значения искомого секрета найдется возможный вариант значения отсутствующей доли.
Заметим, что если бы мы в предыдущем примере просто разбили вектор на / частей, то такая схема не могла быть схе мой разделения секрета, так как знание любой доли давало бы частичную информацию о секрете я
Другой пример схемы разделения секрета дает пороговая схема Шамира [8Ьа79].
Пусть 1 <{ <п . Схема разделения секрета между п поль зователями называется (п,1)-пороговощ если любая группа из / пользователей может восстановить секрет, в то время как ни какая группа из меньшего числа пользователей не может по лучить никакой информации о секрете.
Для построения (я,/)-пороговой схемы А. Шамир предло жил использовать многочлен степени / - 1 над конечным по лем с достаточно большим числом элементов. Как известно, многочлен степени / - 1 можно однозначно восстановить по его значениям в I различных точках, но при этом меньшее число точек использовать для интерполяции нельзя.
Выберем поле Р и зафиксируем п различных несекрет ных элементов гь ..., гпеР, отличных от нуля. Каждый эле мент г1 приписан /-му абоненту сети, / = 1,п . Выберем также / случайных элементов а0,...,а/_/ поля Р и составим из них многочлен/ ( х) над полем Р степени / - 1, 1 <1<п,
(-1
/(* ) =
/=0
Положим 5 =Л0) = а0. Вычислим теперь значения
и распределим в качестве долей между участниками наборы
(г„ я,), 1= \,п .