125 Кібербезпека / 5 Курс / 5.2_Методи побудови і аналізу криптосистем / Література / пiдручник
.pdf1. Базовыекриптографическиепротоколы |
29 |
3)После того как Р исчезает в пещере, V приходит в точку В, не зная, в какую сторону пошел Р;
4)V зовет Р и просит его выйти либо из левого, либо из правого
коридора пещеры согласно желанию V;
5)Р выполняет это, открывая при необходимости дверь, если, конечно, он знает волшебные слова;
6)р и V повторяют шаги (1) - (5) 11 раз.
Рис. 1.2. К «задаче о пещере Али-Бабы»
Если р не знает секрета двери, вероятность того, что V попросит его выйти из того же коридора, в который ои вошел, равна 112. По сле n раундов протокола вероятность сократится до 1/2/1.
2. Доказательство изоморфизма графов. Р хочет доказать V изо морфизм графов Go и G,. Пусть G1 =<j) ( Go) : Go z G], где <р - пре-
образование изоморфизма; т - мощность множества N вершин гра фов. В табл. 1.4 приведен протокол доказательства данного утвер
ждения.
Поясним строение этого протокола. На шаге (1) участник Р соз дает случайный граф Н, изоморфный Gt • На шаге (2) участник V, выбирая случайный бит а. = {O,l}, тем самым просит доказать, что
Н::=; Go либо что Н ~ G]. На шаге (3) участник Р посылает участни ку V преобразование \V , которое он строит таким образом, что при а. ::: 1 в результате применения этого преобразования к графу Ga по-
лучается граф F' = 1tG1 =Н . |
а при |
а =О |
в результате применения |
этого преобразования к |
графу |
Ga |
получается граф FO = |
30 Занечников С. В. Криптографическиепротоколы 11 их примененне
= 11: ( ер(Со)) z nG] = Н , На шаге (4) участник V, выполняя проверку
равенства графов, тем самым определяет, выполнено ли условие
~
Н ~Fa. Шаги (1) - (4) повторяются т раз. Если во всех т раундах
этого протокола результат проверки оказывается положительным, V
принимает доказательство.
Таблица 1.4. Протокол доказательства изоморфизма графов
|
|
р |
|
v |
|
|
|
|
|
|
|
|
|
1 |
n - случайная перестанов- |
|
|
|
|
|
|
ка вершин, вычисляет |
|
|
|
|
|
|
|
|
|
|
||
|
|
-7 |
|
|
|
|
|
н гна, |
|
|
|
||
|
|
|
|
|
|
|
2 |
|
|
~ |
а = {о,l}- случ. |
|
|
|
|
|
|
|
|
|
3 |
Посылает преобразование |
-7 |
|
|
|
|
|
\jf , такое, что |
|
|
|
|
|
|
{ |
n, если(а ~ 1), |
|
|
|
m раз |
|
\jI= |
1t о <р, если (а::: о) |
|
|
|
|
|
|
|
|
|
|
|
4 |
|
|
|
Вычисляет граф \jIGa |
|
|
|
|
|
|
., |
|
|
|
|
|
|
и сравнивает: Н =\jfGC( |
|
|
|
|
|
|
|
|
|
5 |
|
|
|
Принимает доказательство тогда |
||
|
|
|
|
и только тогда, когда для "11т |
||
|
|
|
|
н(m) = \jfG~") |
||
|
|
|
|
|
|
|
Этот протокол действительно является протоколом с пулевым разглашением знаний, так как в случае изоморфных Go = G1 участ
ник V не получает никакой информации, кроме изоморфизмов гра фов GO и G\ С какими-то их случайными перенумерациями, которые он мог бы получить и самостоятельно, выбирая случайный бит а и перенумеровывая случайным образом граф Ga •
3. Доказательство знания дискретного логарифма х числа х. Перед началом работы протокола задаются открытые величины: р,
q - простые числа, такие, что Ql(p -1), элемент g Е z;, число Х. До-
|
J. Базовые криптографические протоколы |
31 |
||||
казывающему Р известна секретная величина Х: ХЕ Zq' |
gX =Х , зна |
|||||
ние которой он должен доказать V, не разглашая самой секретной |
||||||
величины. В табл. 1.5 показано решение этой задачи. |
|
|
||||
|
|
Таблица 1.5. Протокол доказательства знания |
||||
|
|
|
|
дискретного логарифма |
||
|
|
|
|
|
|
|
|
р |
|
|
v |
|
|
|
|
|
|
|
|
|
1 |
rE}{ 2ч , |
|
|
|
|
|
|
|
|
|
|
|
|
|
М = я' (modp) |
|
-7 |
|
|
|
2 |
|
|
f- |
RE R 2 q |
|
|
|
|
|
|
|
||
3 |
111 = г+хR(mоdq) |
|
-7 |
|
|
|
|
|
|
|
|
|
|
4 |
|
|
|
.) |
|
|
|
|
|
|
g111 ~ Хк . М (modр) |
|
|
|
|
|
|
|
||
|
4. Доказательство знания представления числа у в базисе (zero- |
knowleclge рпоо] 01 knowledge о/у representation). Перед началом ра
боты протокола задаются открытые величины, известные всем уча- стникам: простые числа р, q, элементы у, g \'g 2'·'" g k Е G(J . Доказы-
вающему Р известны секретные величины 0:\ ,О:2'···'а,,, Е ZlJ ; у ==
== g~1 . g~! ... g;t , знание которых он должен доказать V, не разгла шая самих этих величин. Протокол представлен в табл. 1.6.
Таблица 1.6. Протокол доказательства знания представления числа в базисе
|
|
|
р |
|
v |
|
|
|
|
|
|
|
1 |
"i1 "21"" 7А. Еи Zq' |
|
|
|
|
|
м =g~ 'g~l .. ·gi |
-7 |
|
|
|
2 |
|
|
~ |
RE R Zq |
|
|
|
|
||
|
|
|
|
|
|
|
3 |
mj =; 'i +(J,jR, |
i =l,k |
-7 |
|
|
|
|
|||
|
|
|
|
|
|
|
4 |
|
|
1 |
g;"1 . g~J2 ... g;'t == уп . М
5.Доказательство знания представления множества чисел
всоответствующих базисах (zero-knowledge prooj о/knowledge о/
equality 01 representation о/ all /Л in the respective bases). Перед
началом работы протокола задаются открытые величины, извест-
32 Запечников С. В. Криптографическиепротоколы 11IlX примененив
ные всем участникам: простые числа р, |
q, элементы у |
и) |
(') |
|
,g\ } , |
g1j ) ••• giЛ Е Gt} дЛЯ некоторых и). Доказывающему Р известны сек- ретные величины 0:,,0:2' .... а): Е Zq, такие, что для Vj ут =
= (g~Л)а! .(g~j))~ ... ( g~j))а1 , знание которых он должен доказать V,
не разглашая самих этих величин. В табл. 1.7 приведен протокол, который решает эту задачу.
Таблица J.7. Протокол доказательства знания множества чисел в соответствующих базисах
|
р |
v |
|
|
|
1/j,r2 , ••• ,rk E R Zq'ДЛЯ \:1)
М(j) = ( gl(j) )Г, .(82и) )Г!. .•..(я:(j) )Г,
|
|
~ |
|
|
|
|
2 |
|
~ я«, Zq |
|
|
||
|
|
|
|
|
|
|
3 |
Щ = 'i +а.я, i :::: 1,k |
~ |
|
|
|
|
4 |
|
|
для 'i/j |
|
|
|
|
|
|
( и)(1 |
( (j))"'2 |
(и) ущ :!.- |
|
|
|
|
gr |
82 |
... gk |
- |
|
|
|
~(y<j))R .M UJ |
|
|
|
|
|
|
|
|
|
|
6. Доказательство знания мультипликативной связи «депониро ванных» величин (zero-knowledge proo/ о/knowledge о/multiplicative rela-
поп Ьеьсееп committed values). Элемент Х =gX циклической подгруп
пы простого порядка, в которой задача дискретного логарифмирования считается вычислительно-сложной, называется депонированной вели чиной (committed value), представляющей секретную величину х. Пусть d - неизвестный элемент, такой, что h = g{[ . Перед началом работы
протокола задаются открытые величины: простые числа р, q, элементы
А, В, С Е G([. Доказывающему |
р |
известны |
секретные |
|
величины |
|||||||||
а, а.., Ь |
, |
ь",С, СА, такие, что с |
= |
аЬ, А |
= g |
а, jj |
В |
=g |
bhb |
С |
:::: 8 |
chc |
. |
3нание их |
|
|
|
1, |
|
, |
|
|
|
он и должен доказать V, не разглашая самих величин. В табл. 1.8 при
веден протокол такого доказательства.
|
|
|
J. Базовые крипнюграфические протоколы |
33 |
|||||
|
|
|
Таблица 1.8. Протокол доказательства знания |
||||||
|
|
мультипликативной связи депонированных величин |
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
р |
|
|
|
v |
||
|
|
|
|
|
|
|
|
|
|
1 |
d,x,S,SI' S2 Еn 2(1' |
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|||
|
М=g' '/"'} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
М, |
=я' -ь», |
|
|
|
|
|
|
|
|
М2 |
=В1: .h J2 |
|
~ |
|
|
|
|
|
2 |
|
|
~ |
REzг ZlJ |
|
|
|
||
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
3 |
y:=d+bR, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
z =x+aR,
w=s+bR,
w1 =SI +aR,
-7
w2 =S2 + (c-аЬ)R
4 |
') |
g у • /1 \V .:::. вR • М ,
?
g ~ '/2 "l .:::. Ак • Мl'
?
В' ·/z\\'2 ~CR . М2
Обобщим рассмотренные примеры и сформулируем ряд опреде лений. В общем виде протокол интерактивного доказательства с ну левым разглашением знания (табл. 1.9) состоит из четырех шагов:
Таблица 1.9. Структура протоколов доказательства с нулевым
разглашением знания
|
|
S: ХЕ [ - доказываемоеутверждение; |
|
|
|
/1 - др, общедостунные параметры 11 |
|
|
|
|
|
|
р |
величины, S - секретные данные дока- |
V |
|
|
||
|
|
зывающего о том, почему S истинно, |
|
|
|
r - случайное ЧllСЛО |
|
1 rl'- случ., |
|
|
|
|
|
|
|
W =}; (х,rp ) |
~ |
|
2 |
|
rv- случай- |
|
|
|
|
|
ное число, |
|
|
C=f2(rV ) |
|
~ |
|
|
|
34 |
Запечников С. В. Криптографические протоколы 1/ их применепив |
|
|
||||
|
|
|
|
Окончание табл. 1.9 |
|||
|
|
|
|
|
|
|
|
|
|
|
S : х Е L - |
доказываемоеутверждение, |
|
|
|
|
|
|
/1 - др. общедоступные параметры 11 |
|
V |
|
|
|
|
|
|
|
|||
|
|
р |
величины, s - секретные данные дока- |
|
|
||
|
|
|
|
|
|||
|
|
|
зывающего о том} почему S истинно, |
|
|
|
|
|
|
|
|
r - случайное 'IlIСЛО |
|
|
|
|
3 |
R=fз(С,х) |
|
-7 |
|
|
|
|
|
|
|
|
|
|
|
|
4 |
|
|
|
.) |
|
|
|
|
|
|
R=W |
|
|
|
|
|
|
|
|
|
|
1)доказывающий передает проверяющему так называемое сви детельство (witness - W) - результат вычисления однонаправленной функции от секретной величины, знание которой он доказывает;
2)проверяющий посылает ему случайный запрос;
3)доказывающий отвечает на этот запрос, причем ответ зависит как от случайного запроса, так и от секретной величины, но из него
вычислительно невозможно получить эту секретную величину;
4) получая ответ, V проверяет его соответствие «свидетельству»,
переданному на первом шаге.
Рассмотрим основные принципы построения доказательств с ну левым разглашением знания: что подразумевает свойство нулевого
разглашения знания.
В теории доказательств с нулевым разглашением знания Р и V рассматриваются как «черные ящики» (рис. 1.3).
Пусть {тр},~11v} - совокупность всех сообщений, передаваемых
от Р к V (соответственно от V к р), каждое из которых является слу
чайной величиной, и, таким образом, {X,l2, Ту,{mр}, {ту}} =
= viewp,v (x,h) - это ансамбль случайных величин протокола, на блюдаемых извне (внешним наблюдателем), {x,ll,rv,,{mp },{n2y }} =
;;:: Му' ( х,h) - это ансамбль случайных величин, получаемых в ре
зультате работы полиномиального моделирующего алгоритма (simulator), который выполняется внешним наблюдателем (противником)
самостоятельно.
е
Если величины viewp.v (х,h):= Му'(х,h) вычислительно-неразли-
чимы за полиномиальное время (Т. е. не существует никакого алго-
1. Базовыекриптографические протоколы |
35 |
ритма, который за полиномиальное время мог бы распознать эти два ансамбля случайных величин), то говорят, что протокол обеспечива ет вычислительно-нулевое разглашение знания (computationally геко
k110wledge) .
хh
а
честный проверяющий
б
противник М
Рис. 1.3. Случайные величины, наблюдаемые в протоколе доказательства с нулевым разглашением знания: а - противник наблюдает протокол извне; 6 - противник самостоятельно моделирует протокол
Если величины viewp,v(x,h)= Mv,(x,h) одинаковораспределе
ны над множеством случайных величин, то ГОВОрЯТ, что протокол обеспечивает абсолютно нулевое разглашениезнания (perfect геко
knowledge).
Система (р,V, s) называется интерактивной системой дока
зательства с нулевым разглашением знания для языка L, если она: 1) является интерактивной системой доказательства для языка L
(т. е. обладает свойствами полноты и корректности); 2) обладает свойством нулевого разглашения знания.
Пусть S - утверждение вида w Е L, где w - слово, L - язык в двоичном алфавите. Язык L имеет интерактивную систему дока зательства с абсолютно нулевым (вычислительно нулевым) разгла
шением знания, если:
1) существует интерактивная система доказательства (р,V, s)
для языка L;
36Запечников С. В. Криптографические протоколы и их примененне
2)для любого полиномиально ограниченного участника V' ИН
терактивныйпротокол (р,V', s) является интерактивной системой
доказательства с абсолютно нулевым (вычислительно нулевым) раз глашением знания для языка L.
Класс языков, обладающих доказательствами с абсолютно нуле вым разглашением знания, обозначается PZK, с вычислительно-ну левым - ZK. Справедливо следующее соотношение:
згг «: PZK ~ZK с IP.
Доказаны следующие основные теоремы о доказательствах
с нулевым разглашением знания:
Теорема 1 (Goldreich О., Кrawchyk Н.). Последовательное вы
полнение двух протоколов с нулевым разглашением знания является
протоколом с нулевым разглашением знания.
Теорема 2 (Goldreich О., Кrawchyk Н.). Параллельное выполне ние протоколов с нулевым разглашением знания не обязательно
приводит к протоколу С нулевым разглашением знания.
Среди всех протоколов доказательства с нулевым разглашением знания выделяют класс протоколов доказательства знания (pro%/
knowledge).
Например, доказательство знания чисел р, q, таких, что Р: q = п
есть доказательство знания, но доказательство того, что п - состав
ное число, доказательством знания не является - это так называемое
доказательство обладания (proolo/possession).
Но доказательство знания не обязательно должно быть доказа
тельством с нулевым разглашением знания, так как можно просто
сообщить секрет другой стороне протокола: при этом сообщивший докажет знание секрета, но тем самым разгласит секрет. Далее в различных приложениях криптографии, в частности в протоколах аутентификациии в схемах электронныхплатежей, будутвстречать ся протоколы доказательствазнания с нулевымразглашениемзна
ния (zero-knowledge prooj 01knowledge - ZKPK). Существуют специ
альные разновидности протоколов доказательства знания с нулевым
разглашением знания: протоколы группового и «скрытого» доказа
тельства знания и др.
J. Базовые криптографические протоколы |
37 |
1.4. Протоколы аутентификации
Протокол аутентификации - криптографический протокол, в ходе которого одна сторона удостоверяется в идентичности другой стороны, вовлеченной в протокол, а также убеждается в том, что
вторая сторона активна во время или непосредственно перед момен
том приобретения доказательства. Б протоколе аутентификации участвуют две стороны: претендент (claimant - Р), или доказываю ЩИЙ, и проверяющий (verifier - V). Последний уже предполагает не которую ожидаемую идентичность претендента, т. е. Р не является для V совсем незнакомым лицом - его только нужно правильно вы брать из списка известных лиц. Цель V заключается в том, чтобы
подтвердить предполагаемую идентичность претендента, т. е. что он
в самом деле является Р, а не кем-то иным. Проверяющий на выходе протокола аутентификации должен либо принять претендента как аутентичного, либо отвергнуть его как не соответствующего заяв ленной идентичности. Более строго, требования к протоколу ау тентификации состоят в следующем:
1) если Р и V являются честными, V завершит протокол, приняв идентичность Р;
2)V не может повторно использовать протокол, совершенный
сР, для того, чтобы успешно деперсонифицировать Р в протоколе
стретьей стороной М;
3)вероятность того, что любая сторона М, отличная от Р, прове
дя протокол и играя роль Р, может заставить V завершить протокол
спринятием идентичности Р, пренебрежимо мала;
4)предыдущие свойства остаются справедливыми, даже если между Р и V совершено "большое, но полиномиально ограниченное число сеансов протокола аутентификации, противник М участвовал
впредыдущих сеансах выполнения протокола и несколько сеансов
могли выполняться одновременно.
Известны три принципиально разных способа аутентификации: 1. «Субъект знает» - претендент обладает некоторой информа цией, которой нет у других субъектов компьютерной системы (па ролями, цифровыми кодами, секретными ключами) и знание кото
рой он демонстрирует в протоколах аутентификации.
38Запечников С. В. Криптографическиепротоколы 11ILXпримененив
2.«Субъект обладает» - претендент имеет некоторый физиче ский предмет (магнитную карту, интеллектуальную карту, генератор паролей), который необходим для его участия в протоколе аутенти фикации и который выполняет для него криптографические преоб
разования информации.
3. «Субъект есть» - в протоколе проверяются некоторые при знаки, характеризующие человеческую индивидуальность субъекта (иными словами, биометрические признаки: отпечатки пальцев, го лос, рисунок радужной оболочки глаза и др.).
Криптографические протоколы реализуют первый подход - опо знавание по логическому признаку. Очень часто при использовании технических средств становится возможной комбинация двух, а то и всех трех методов сразу. Одно из основных применений протоколов аутентификации - содействие контролю доступа к ресурсам компь ютерных систем. Привилегия доступа к ресурсам обычно связывает ся с определенной идентичностью субъекта, что делает неизбежным предварительное выполнение протоколов аутентификации. Другие важные применения протоколов аутентификации - учет использова ния ресурсов компьютерной системы, распределение ключей крип тографических систем и средств защиты информации.
1.4.1. Парольная аутентификация
Идея, лежащая в основе метода парольной аутентификации, чрезвычайно проста. Каждый субъект компьютерной системы имеет пароль - секрет, который он разделяет с системой. Демонстрация знания этого секрета (чаще всего путем разглашения самого пароля) принимается системой как подтверждение идентичности субъекта. В качестве пароля обычно выбирается буквенная и(или) цифровая
последовательность, которую пользователь легко может запомнить
и при необходимости ввести по запросу системы. Различные па
рольные протоколы различаются по средствам, которыми хранится парольная информация внутри системы, и по методам ее проверки.
Можно выделить три основные угрозы протоколам парольной аутентификации: разглашение, прослушивание и угадывание пароля. Угрозы могут проявиться при осуществлении трех характерных ви дов атак на парольиые протоколы: при повторе паролей легальных