Скачиваний:
91
Добавлен:
18.10.2019
Размер:
14.08 Mб
Скачать
i-ro

J. Базовыекриптографическиепротоколы

69

секретный ключ SKo. Отрезок времени, в течение которого откры­ тый ключ РК предполагается сделать действительным для санкцио­ нированного использования в системе, делится на периоды, обозна­ чаемые 1,2, ..., Т. Открытый ключ остается всегда фиксированным, тогда как секретный ключ «эволюционирует» с течением времени. Так, в каждом из этих периодов участник системы генерирует под­ пись, используя различные секретные ключи: SK1 в l-M периоде, SK2

во 2-м периоде и т. д. Секретный ключ i-ro периода вырабатывается как функция ключа (i-l)-ro периода,а именнос началомi-ro перио­

да участниксхемы применяетк SKj.1 однонаправленную функцию h, чтобы получить в результате SKj Сразу после этого он удаляет SKi-1 Теперь злоумышленник, атаковавший участника в течение пе­

риода, сможетзавладетьключомSKj , но не ключами SKo"",SKi-1, так как они уже были удалены. Более того, злоумышленник не сможет

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

Подпись всегда включает в себя номер периода j, в течение ко­ торого она была сгенерирована,так что она рассматриваетсякак па­ ра U,~). Алгоритмпроверкиподписиберет фиксированныйоткры-

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

ется неизменным, так что и процесс проверки подписи всегда оди­

наков. Также остаются постоянными и процессы управления

открытымиключами.

Число периодов и длина каждого периода - параметры, выбор которых зависит от каждого конкретного случая. Например, мы мо­ жем пожелать использовать схему цифровой подписи с одним и тем же открытым ключом в течение года, с ежедневными обновлениями секретного ключа. В таком случае Т = 365, а каждый период имеет

длину в одни сутки.

Схемой цифровой подписи с эволюцией ключа KE-SIG = (KG, Upd, Sgn, Vf) называется совокупность четырех алгоритмов:

1. Алгоритм генерации ключей KG берет в качестве входного па­ раметра безопасности число k Е N , суммарное количество перио-

70

Запечииков С. В. Криптографическиепротоколы 11 ,а применение

дов Т, В течение которых будет функционировать схема, а также, возможно, некоторые другие параметры (алгоритм является вероят­ ностным), и возвращает базовый открытый ключ РК и соответст­ вующий ему базовый секретный ключ SKo;

2. Алгоритм обновления секретного ключа Upd берет в качестве входной величины секретный ключ подписи предыдущего периода SKi-1 и возвращает секретный ключ подписи текущего периода SKj (алгоритм обычно детерминированный).

3. Алгоритм подписи 5gn берет секретный ключ подписи теку­ щего периода SKj и подписываемое сообщение М и возвращает под­ пись М для периода j, что записывается следующим образом:

(j,() ~SgnsKJ (м). Алгоритм может быть вероятностным, а

подпись всегда состоит из номера текущего периодаj и тега ~.

4. Алгоритм проверки подписи Vf берет открытый ключ РК, со­ общение Ми проверяемую подпись (j,~), чтобы возвратить бит, ко-

торый означает принятие подписи в случае равенства единице и ОТ­

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

образом: Ь f-- VjpK(M ,(j,~}). Этот алгоритм обычно является де­

терминированным.

Пара (j,~) считается действительной подписью сообщения М

для периода j, если VfPK (М,(j,())= 1. Требуется, чтобы подпись сообщения М, сгенерированная алгоритмом SgnsKJ (М), была дей-

ствительной подписью Мдля периода j. Предполагается,что секрет- ный ключ SKj для периода jE {1,2~....г} уже содержит в себе вели­ чину j и суммарное количество периодов Т. Наконец, договоримся, что SKT+ ! - пустая строка и что Upds K 1" возвращает SKT+ 1•

В табл. 1.25 в качестве примера приведена схема цифровой под­ писи с опережающей безопасностью Беllarе - Мiner, полностью

удовлетворяющая приведенному выше определению.

J. Базовые криптографическиепротоколы

71

Таблица 1.25. Схема цифровой подписи с опережаюшей безопасностыо Вейаге - Miner

Алгоритм KG(k,I,T):

1. Выбрать два случайных числа p,q == З(mоd4) длиной k/2 бита, вычис-

лить N = pq.

2. Для каждого i;:; 1,...,1 выбрать S/ ~Z~ и вычислить

П, f-- Sj2(T+')(mod N).

3.Вычислить SKo f-- (N,T,O,S,.o,. ..,S/.o) И РК f-- (N,Т,Иl""'U/)'

4.Возвратить (РК,зк, )

Алгоритм Upd(SKj-1), где SK j_J = (N,T,j-l,S"j_р,,,,S,.j_l) И

l=:;;j~T+l:

Есци г> Т+1, возвратить пустую строку. В противном случае:

1. Для каждого i = 1,...,1 вычислить Sioj ~ SI~j_1 (mod N).

2.Вычислить SK j f-- (N, Т, j'S"j'''''S/,j)'

3.Возвратить зк,

Алгоритм Sgll~~J (М)ы, где SK j = (N. Т, j'SI.j'''''S'.j):

1.Выбрать R~Z~.

2.Вычислить У f-- R2{Т+1- j) (rnod N) .

3. Для Bcexj;;;:; 1,...'1 вычислить Cj ~ Н и,у,м),

1

4. Вычислить Z f-- R . ПS2j (mod N) .

;=1

5. Возвратить (j,(Y,Z))

Алгоритм V/)i- (M,U,(y,z))), где РК;:; (нл.и; ...,U,):

1. Для ьсех].» 1'....1 вычислить Cj f-- Н и,У,М).

1

2. Если Z2{T+1- 1) ;;;:; У. пИ/С, (mod N), возвратить 1, в противном случае

1=1

возвратить О

72

Запечников С. В. Криптографическиепротоколы и их примененив

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

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

Предположим, есть важная секретная информация, которую можно потерять. Ее опасно доверять кому-то одному. Возникает во­ прос, как повысить надежность и безопасность ее хранения.

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

Второй путь - разделить секрет на несколько частей и хранить их в разных местах, при необходимости собирая вместе. Самый простой способ разделить секрет s на п частей - выбрать n-1 случайное число SI'S2""'S/I_] ' а л-ю часть определить так:

S/I :::: S EiЭ SI EiЭ S2 Ее о•• ЕВ S/I_l' Каждое число sp i ::::: 1,11 носит название доли секрета (share). Доли создает носитель секрета з, Иногда это

один из п участников, получающих доли, иногда - постороннее ли­

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

всех п сторон, имеющих доли секрета, которые должны выполнить

операцию сложения: S = S] Ее S2 Ее ...ЕВ S'I .Так приходим к идее СХеА-l

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

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

J. Базовые криптографические протоколы

73

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

\Известны несколько математических методов реализации такой

схемы. Однако далеко не все из них удобны на практике. В качестве

примеров приведем две схемы.

Схема Шамира (А. Shamir, 1979) основана на хорошо известном математическом факте, который заключается в том, что через любые t точек на плоскости можно провести бесконечное множество кри­ вых, описываемых многочленом г-го порядка, но через любые t+1

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

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

плоскости проходит бесконечное множество прямых линий, но че­

рез две различные точки - только единственная. Через любые две

точки можно провести бесконечное множество парабол, но через любые три различные точки - только одну и т. д. Таким образом, ес­ ли каждому из участников криптосистемы «выдать» по одной точке, то восстановить кривую можно будет только при достаточном коли­

честве участников.

Схема Блейкли (А. Blackley, 1979) основана на следующих гео­ метрических фактах. Одна прямая на плоскости описывает беско­ нечное множество точек, но любые две непараллельные прямые за­ дают единственную точку их пересечения. Любые две некомпланар­ ные плоскости в трехмерном пространстве пересекаются по прямой, которая задает бесконечное множество точек, но любые три неком­ планарные плоскости пересекаются в единственной точке. Эти на­ блюдения по аналогии можно продолжить и в пространствах боль­ ших размерностей. Если каждому из участников криптосистемы «выдать» по одному уравнению плоскости (или гиперплоскости в пространствах размерности больше трех), то определить единствен­ ную точку их пересечения можно будет опять-таки при достаточном числе этих уравнений. В схеме Блейкли увеличение числа участни­

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

В криптосистемах широко используется пороговая сре Шамира,

так как она допускает удобную геометрическую интерпретацию

74 Запечников С. В. Криптографическиепротоколы и LLX применеиие

и легко обобщается для многочленов над конечными полями. Пусть F - конечное поле, f (;() = ай +а\х+.,. анхН, а; Е F - многочлен над полем Р, т. е. f (х)Е F [х]. Известно, что такой многочлен обладает

следующими свойствами:

1. Интерполируемость. По данным t точкам многочлена: (X1' yl )'···.(x" y,) , где все XI, ...,X, различны, У; =/(Х;), можно найти

его коэффициенты ао,а1" ••• , ан . Алгоритм, делающий это, называется

алгоритмом интерполяции.

2. Секретность. По данным любым t-1 точкам полинома: (-'1' У! ), .... (Хн.Ун) , где 'У; =f ;), никто не может ничего предпола­

гать об ай - свободном членеf(х).

Эти свойства делают многочлены над конечными полями инст­

рументом для построения пороговых криптосистем.

Рассмотрим (t,n)-nороzоауlО ере Шамира над полем Zp, где р­ большое простое число. Схема включает несколько протоколов.

Фаза инициализации. Дилер D выбирает п различных ненулевых элементов поля Zp, которые обозначаются Х;, 1~ i ~ н, р ~ n + 1; это

точки, к которым «привязаны» участники. Часто выбирают Х; := i,

т. е. просто всем участникам схемы присваиваются порядковые но­

мера. D передает Х; участнику Р; Распределение долей:

1) D хочет разделить секретный ключ К Е Zp ; D секретно, слу-

чайно и независимо друг от друга выбирает t-1 элемент поля al' ...,Qt-l' где а; Е Zp'

2) D конструирует многочлен степени, меньшей либо равной t-1,

1-/

и вычисляетдля i =l.n: Yi =а(х;), где а(х)= К + Iamx ln (modp).

m=!

т. е. К = а(О). Коэффициенты многочлена дилер хранит в секрете.

3) Дилер по секретному и аутентичному каналу рассылает каж­

дую из долей У; соответствующему участнику Р; ДЛЯ всех i;;:;1,n .

 

 

J. Базовыекриптографическиепротоколы

 

75

 

Восстановление секрета возможно двумя способами.

 

 

1 способ. Предположим, участники ~ ,"', ~

хотят восстановить

 

 

 

 

J

I

 

 

секретный ключ

К.

Они имеют (XiJ' У;) )

и знают,

что

Yi

= а(X

),j = 1,f,

где

а(Х)Е.Z.p [х) .- ~еизвестный

многочлен,

вы­

j

i J

 

 

 

 

 

 

бранный D. Так как а(х) имеет степень, меньшую либо равную t-1, а(х) может быть записан в виде

а(х)=ао + a1x + ...+at_1xt - 1,

где ао,ql ,..., ан - неизвестные элементы поля Zp и ао = К .

Они получают систему t линейных уравнений с t неизвестными

ао, аl, ..., ан над полем Zp:

 

 

1-1

 

_

j

= ао +

L

j

,t.

У;

 

аmх;, ] =

 

 

 

111'

1

 

 

/1/=1

 

 

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

Утверждение. (t,n)-пороговая СРС Шамира позволяет одно­ значно восстанавливать секрет любой группе из t участников схемы и обеспечивает совершенную секретность (теоретико-информацион­ ную стойкость) против попытки вычисления секрета любой группой из j участников, обладающих. неограниченной вычислительной мощностью (j<t).

Доказательство. у каждого участника схемы есть пара точек:

(X;J1 Y;j): Yi; =а(Х/]),j::::: 1,1, где а(х):::::ао +~x+...+al_lxl-1, ао = К . По­

лучается следующая система линейных уравнений, решаемая в Zp:

ао +~Xj, +~Xil2 +...+at-\хiJ1-1

::::: У;,'

!

1x;2

 

2

 

 

(-1

 

а

о

.~.~.~~~..~.'.'.'.~.~I.~:~iz

::::: Y~,

+a

 

ао +a1x;, +a

2

+...+a

_

1-1

::::: Yi,'

 

 

 

2xi,

t

 

1xi,

 

76

Запечников С. В. Криптографическиепротоколы и их применение

или в матричной форме:

 

 

 

 

 

 

 

 

 

1

х.

x~

(-1

 

о

 

Yi l

 

 

 

 

 

 

 

 

Х.

а

 

 

 

 

 

'1

"

'[

 

 

 

 

 

1

-:

Xi~

(-1

 

 

 

Yi2

 

 

 

'2

 

 

 

 

 

 

 

 

 

х-

а\

 

 

 

 

 

1

 

x~

(-1

а.;

 

Yi,

 

 

 

 

X i ,

 

 

 

 

 

 

1,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

В левой части системы стоит матрица коэффициентов А, имею­ щая специальный вид: каждая j-я ее строка состоит из коэффициен­

тов Xj . , последовательно возводимых во все степени от О до t-l. Это

J

так называемая матрица Вандермонда. Ее определитель вычисляет­ ся по формуле

.detA;:::; П (xit -Х;} )modp.

\~j<kS.,

Так как все Х; различны, 'ri(Xit iJ) -:f; О. Произведение вычисля­

ется в поле Zp, Произведение ненулевых элементов в поле всегда от­ лично от нуля. Следовательно, det А :F о. Следовательно, система

имеет единственное решение над полем Zp" а значит, любая группа из t участников может однозначно восстановить ключ К = ао.

Пусть теперь группа из 1-1 участников ~ '.00' ~ пытается вы-

I

1-[

числитьК. Они получатсистемуиз t-1 уравнений с t неизвестными. Пусть Уа - какое-то предполагаемое (или случайно взятое) ими зна- чение ключа. Так как известно, что К =Уо :;;; ао ;:::; а(о), это соотно­

шение дает им t-e уравнение. Матрица коэффициентов результи­ рующей системы из t уравнений с t неизвестными снова будет мат­ рицей Вандермонда, а значит, снова будет' иметь единственное

решение.

Следовательно, для каждого предполагаемого значения кдюча

существует полином а\. (х): У;

J

=а>, (Х;

J

),j == 1,t -1,Уо = a v (О), ко-

. о

о

о

эффициенты которого получены из решения системы. Таких поли­ номов существует столько же, сколько может быть различных зна­ чений Юlюча К = Уа. Значит, никакая группа из t-l участников не может получить никакой дополнительной информации о ключе. Лучший способ узнать ключ - это попытаться угадать его, что БОЗ-

1. Базовыекриптографическиепротоколы

77

можно с вероятностью 1/ 21К! И соответствует понятию о теоретико­

информационной безопасности криптосистемы по Шеннону. Ут­

верждение доказано.

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

I

 

х-х.

а(х)=L,Yi

П

 

'*.

j=l

} ISkSt, X j j" -

X ik

 

k'/;j

 

 

Мы имеем t пар чисел (Х;.,У;.) j =1, t , и доказали, что много-

j J

член единственный. Следовательно, формула Лагранжа даст нам единственно верный результат.

Формулу можно упростить) так как участникам группы не нужно вычислять все коэффициенты многочлена, а только свободный член К = а(О):

t

х=О К= LYi} п-~

)'= 1

I<k<t

Х/"

- Xj• _

 

k-;СГ'

k

J

Обозначим коэффициенты интерполяции в формуле Лагранжа:

х.

bj = П -----=-"-, j=l,t.

ISk~t. X ik - X i, k"#j

Они могут быть вычислены предварительно, так как все Xi j ,Х'} общеизвестны. Остается вычислить ключ как линейную КОМ-

бинацию t долей секрета:

t

К= ~b.y..

~} ,}

j=l

Схемы провернемогоразделениясекрета. В СРС Шамиранечестный дилер D может раздать участникам ~,..., Рn несовместные

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

проверить совместимость долей секрета. Известны две СРС, ре-

78

Запечников С. В. Криптографическиепротоколы u их применеиие

тающих эту задачу, основанные на сложности задачи дискретного

логарифмирования: СРС Фельдмана и ере Педерсена.

Схема проверяемогоразделения секрета Фельдмана. Пусть p,q-

большие простые числа, р -1 == О(mod q); g - элемент порядка q

.группы z;, т. е. gq == 1(mod р) . Для любой доли У; вычисляется от­

крытая величина г, =я" (mod р) , которая по свойству гомоморфиз­

ма функции экспоненцирования позволяет каждому Р; проверять, что его собственная доля секрета совместима с открытой информа­

цией.

D выбирает многочлен а(Х)Е Z(I [х] С коэффициентами

ао = Кга.,». а,_1 и раздает всем участникам соответствующие про­ верочные значения g(lQ, g(ll,..., я': .

Положим Х; == i, i =1,11 . Дилер D секретно передает каждому уча­ стнику схемы Р; предназначенную ему долю Yi ::;; a(i)mOdq.

Каждый участникР, проверяетсвою долю, используяпровероч­

ное уравнение

я' ~(g 110 ) . ( g111 У .(g (12 { ••• ( g анУ'-1 (mod р) .

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

так как Yi =ао +a

··2

./-1 (

d)

В

 

1l +a 2l

+... + анЕ

то q .

 

случае отрицатель-

ного результатаон делает вывод, что ему дилером была выданане­

верная доля.

Если все ~,! =1,11 распространили сообщения о принятии долей, фаза распределения долей завершилась успешно. Такая же проверка

может выполняться при восстановлении секрета.

Заметим, что в схеме проверяемого разделения секрета каждый может проверить только свою долю, но не чужую' - ДЛЯ этого нужны схемы публично проверяемого разделения секрета.