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

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

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. Парольная аутентификация

Идея, лежащая в основе метода парольной аутентификации, чрезвычайно проста. Каждый субъект компьютерной системы имеет пароль - секрет, который он разделяет с системой. Демонстрация знания этого секрета (чаще всего путем разглашения самого пароля) принимается системой как подтверждение идентичности субъекта. В качестве пароля обычно выбирается буквенная и(или) цифровая

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

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

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

Можно выделить три основные угрозы протоколам парольной аутентификации: разглашение, прослушивание и угадывание пароля. Угрозы могут проявиться при осуществлении трех характерных ви­ дов атак на парольиые протоколы: при повторе паролей легальных