125 Кібербезпека / 5 Курс / 5.2_Методи побудови і аналізу криптосистем / Література / пiдручник
.pdfJ. Базовыекриптографическиепротоколы |
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 распространили сообщения о принятии долей, фаза распределения долей завершилась успешно. Такая же проверка
может выполняться при восстановлении секрета.
Заметим, что в схеме проверяемого разделения секрета каждый может проверить только свою долю, но не чужую' - ДЛЯ этого нужны схемы публично проверяемого разделения секрета.