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

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

19

модействует с М, который «пропускаег через себя» все проходящие сообщения и может их модифицировать, задерживать, менять мес­ тами и т. п. Очевидно, что в этой атаке противник должен быть ак­

тивным.

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

«вскрытия» нижележащих примитивов или алгоритмов, а только пу­

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

Рассмотрим простой пример. Используется поточный шифр. Из­ вестно, что передаваемые в протоколе сообщения имеют специаль­ ную форму: первые 20 бит несут в зашифрованном виде информа­

цию, которая представляет сумму денег, переводимых со счета на счет. Активный противник может просто сделать побитовое сложе­ ние первых 20 бит с какой-либо произвольной величиной и изме­ нить количество денег, так и не узнав его. Другие примеры атак на протоколы и их подверженности компрометациям мы будем приво­

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

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

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

1. Принцип редукции к вычислительно-сложным задачам. Безо­ пасность протоколов основана на сводимости их вскрытия К реше­ нию вычислительно-сложных задач. Решить задачу «вскрытия» (на­ рушения безопасности) криптографических алгоритмов (примити­ вов), используемых в протоколе, по меньшей мере так же трудно,

как «вскрыты> протокол. В то же время решить одну из вычисли-

20

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

тельно-сложных задач по меньшей мере так же сложно, как «вскрыть» этот криптографический алгоритм (примитив). Наиболее

известные и часто используемые вычислительно-сложные задачи

теории чисел приведены в табл. 1.1. В последнее время криптогра­ фами рассматривается ряд других вычислительно-сложных задач и алгебраических структур, не приведенных в таблице. С этими зада­

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

Таблица 1.1. Часто используемые в криптографии

вычислительно-сложные задачи теории чисел

УСЛО8110е

Наименова-

 

 

обозначе-

Дано

Найти

ние задачи

 

 

 

нuе

 

 

 

 

 

 

 

FACTOR-

Задача фак-

п

 

 

el

 

ING

торизации

 

 

pi'ej

: n = Pl .....

p/I,

 

 

 

 

где Pi- попарно

 

 

целых чи-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

простые числа,

 

 

сел

 

 

ej

~1

 

l

 

 

 

 

 

 

 

 

 

 

 

 

 

RSA

Задача RSA

11 = pq,

111

: mt: == с(mod п)

 

 

 

е:НОД(е,(р-l)(q-l)) =

 

 

 

 

 

 

= 1,

 

 

 

 

 

 

 

сЕ Z

 

 

 

 

SRA

Усиленная

11= pq, ZE z;

r = r(z) > 1,

 

 

задачаRSА

 

 

уЕ Z/: :у' ::= Z

 

 

 

 

 

 

 

 

 

 

QRP

Задача о

п - нечетное состав-

 

?

 

 

 

 

 

 

aEQRJ1

 

 

квадратич-

ное целое число,

 

 

 

 

 

 

 

тах

ЙЕz{;J=!

 

 

 

 

 

 

 

 

 

 

ных выче-

 

 

 

 

 

 

 

 

 

 

 

 

SQROOT

Задача из-

11- составное число,

х : х2

== а ( mod11 )

 

 

влечения

аЕ QR'I

 

 

 

 

 

квадратного

 

 

 

 

 

 

 

корня по

 

 

 

 

 

 

 

модуmoп

 

 

 

 

 

 

 

 

 

 

 

 

DLP

Задача дис-

р - простое число,

x:O~x~p-2,

 

 

кретного

а- образующий эле-

a~ =:: f3(mod р)

 

 

 

 

логарифмир

мент z;,[3E z;

 

 

 

 

 

 

 

ования

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

21

Условное

Наименова-

 

 

 

 

 

обозначе-

Даuо

 

 

 

Найти

ние задачи

 

 

 

 

 

 

 

 

 

ние

 

 

 

 

 

 

GDLP

Обобщен-

G - конечная цикли-

 

х : О ~ х ~ п -1,

 

ная задача

ческая группа,

 

 

аХ =р

 

 

IGI =11, а- обр. эле-

 

 

дискретного

 

 

 

 

логарифмир

мент в а, {3Е G

 

 

 

 

 

 

 

 

 

 

ования

 

 

 

 

 

 

 

 

 

 

 

DНP

Задача Диф-

р - простое число,

 

 

alllJmodp

 

фи-

а- обр. элемент z;,

 

 

 

 

Хеллмана

 

 

 

 

 

a//modp,

 

 

 

 

 

 

а.Ь modp

 

 

 

 

 

 

 

 

 

GDНP

Обобщен-

G- конечная цикли-

 

аtlЬ

 

ная задача

ческая группа, а- обр.

 

 

 

 

Диффи-

элемент в G, а",а

Ь

 

 

 

 

Хеллмана

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

DDНP

Задача

р - простое число,

 

 

'/

 

 

распо-

С/,- обр. элемент z;,

 

а'" ~aC modp

 

 

 

 

 

знавания

 

 

 

 

 

 

 

 

 

 

(decisiol1 )

ай modp,

 

 

 

 

 

Диффи-

аЬ mod р,

 

 

 

 

 

 

 

 

 

 

 

Хеллмана

aCmodp

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

SUВSET

«Задача

{a,,~,...,a/l} - МНО-

 

7

 

 

 

L aj=s

 

О рюкзаке»

 

 

 

 

 

жество положитель-

 

jE{I....•II}

 

 

ных целых чисел, s -

 

 

 

 

 

положительное целое

 

 

 

 

 

число

 

 

 

 

 

 

 

 

 

 

 

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

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

решения вычислительно-сложных задач, например:

... ~ оонг «DHP ~ DLOG ;

... $; GDDHP ~ GDHP:S; GDLOG ;

... $; SUBSET;

22

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

 

... ~SRA~RSA

)

 

... ~ QRP

~ FACTORING .

 

... ~ Rabin ::= SQROOT

 

2. Принцип моделирования действий противника. При конструи­ ровании протокола отмечается вся наблюдаемая противником ин­ формация и (если противник активный) его действия как участника протокола. Далее строится формальное доказательство того, что

противник сможет самостоятельно путем моделирования сгенериро­

вать всю информацию, наблюдаемую в протоколе. Иными словами,

из выполнения протокола реальными участниками противник полу­

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

1.3. Вероятностные доказательства

Термин «вероятностные доказательства» объединяет класс крип­ тографических протоколов, имеющих, как правило, вспомогатель­ НЫЙ характер, в которых одна из сторон с некоторой вероятностью убеждает другую сторону в справедливости некоторого утвержде­ ния. В класс вероятностных доказательств включают: интерактив­

ные системы доказательства, доказательства с нулевым разглашени­

ем знания, вероятностно-проверяемые доказательства и другие виды

доказательств. Далее остановимся на тех из них, которые имеют наибольшее практическое значение.

1.3.1. Интерактивные системы доказательства

Интерактивная система доказательства (interactive ркоо] system) - протокол, включающий двух участников: доказывающего (ргоvеr- Р) и проверяющего (verifier- V). Предварительно формули­ руется некоторое утверждение S, например, утверждение о том, что некоторый объект w обладает свойством L: w Е L . В ходе протокола р и V обмениваются сообщениями. Каждый из них может генериро­ вать случайные числа и использовать их в своих вычислениях. В конце протокола V должен вынести СБое окончательное решение о том, является ли S истинным или ложным.

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

23

Цель участника Р всегда заключается в том, чтобы убедить уча­ стника V в том, что S истинно, независимо от того, истинно ЛИ оно на самом деле или нет. Таким образом, Р может мошенничать в про­ токоле, так как S может быть ложно, т. е. он может быть активным противником. V должен проверять аргументы участника Р. Цель участника V заключается в том, чтобы вынести решение, является ли S истинным ИЛИ ложным. Как видим, интересы участников протоко­ ла Р и V не совпадают.

Однако участник V имеет полиномиально ограниченные вычис­ лительные возможности, а именно время его работы ограничено не­

которым полиномом от длины доказываемого утверждения:

t ~ p~wl). Это предположение является стандартным для моделиро­

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

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

Программа действий участника V должна быть устроена таким образом, чтобы:

1)если S истинно, Р смог бы убедить V признать это;

2)если S ложно, Р не смог бы убедить V в противном, какие бы

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

V может ошибаться, но ставится условие, чтобы вероятность принятия им неправильного решения была бы пренебрежимо мала.

Рассмотрим примеры интерактивных систем доказательства.

1. Пример из теории чисел. Зададимся натуральным числом п. Рассмотрим мулыипликативную группу z; = { х< n;(х,n) = l}. Обо-

значим QR ={(х,n)!х<n,(x,l'l) = 1,::3y: у2 == xmodl'l}-множествоква­

дратичных вычетов числа п. Напомним, что если сравнение

у2 == х(modn) имеетрешение,то х называетсяквадратичнымвыче-

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

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

четом. Тогда L =QNR ={(х,n)Ix < n,(х,n)=l,ily: у2 =xmOdn}- мно­

жество квадратичных невычетов числа n. Р доказывает V утвержде­

ние S: (х,n)ЕQNR. Протокол,показанныйв табл. 1.2, является ин­

терактивной системой доказательства данного утверждения. Пока­ жем, что этот протокол действительно удовлетворяет требованиям,

указанным выше.

Таблица 1.2. Пример интерактивной системы доказательства, основанной на задаче теории чисел

 

 

р

 

 

 

v

 

 

 

 

 

 

 

 

1

 

 

 

 

Для i =l,k,k =11l\ выбирает:

 

 

 

 

 

 

 

 

 

 

 

 

Ь; Е {о, l} - случайный бит, Zj Е 2,: '

 

 

 

 

 

и вычисляет (~VI'... , Wk ) , где

 

 

 

 

 

 

 

 

 

 

 

 

{

"; (mod 11),еcnu(bi =1),

 

 

 

 

~

j

Х·г} (modn),если(Ь;

= о)

 

 

 

 

W :=

 

 

 

 

 

 

 

2

для i =1,k вычисляет

 

 

 

 

 

 

(CI, ... , Ck), где

 

 

 

 

 

 

С. =Г,еcnu(w"I1)Е QR

 

 

 

 

 

 

1

о,еСЛll(Wi'n)е; QR

 

-7

 

 

 

 

 

 

 

 

 

3

 

 

 

 

Принимает доказательство тогда и толь-

 

 

 

 

 

котогда, когда для \;;/ (; =1,k)

Cj =bj •

 

 

 

 

 

 

Во-первых, покажем,

что дЛЯ \;;/ХЕ QNR, если (х,l1)ЕQNR, т. е.

lIу: у2 == x(modn), Р докажет VутверждениеS с вероятностью, рав­

ной единице. Для этого рассмотрим действия участника V на шаге

(1) протокола.

Когда Ь; = 1, по условию протокола 3z; : z; == wj ( mod 11). По оп- ределению вычета это означает, что (Wj>n)E QR, т. е. Wj является

квадратичнымвычетом числа п.

Когда Ь; = О, ПО условию протокола z;' Х == wi (modn) . Из дока- зываемого утверждения известно) что (х,П)Е QNR. Можетли W; быть

квадратичным вычетом числа n? Для этого должно быть

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

25

(Zj .X ll 2 )2 == Wj ( mod 11). Это

может быть, только

если х = 1. Но

(1,1l) ;:: 1. Кроме того,

Зу ;:: 1: у2 == 1( mod 1l) .

Следовательно,

(l,n)Е QR. МЫ пришли к противоречиюс исходнымутверждением.

Следовательно,Ь; ;:: О тогда и только тогда, когда (W;.n)E QNR,

т. е. мы установили однозначную связь: Wj является квадратичным

вычетом числа 11 только при Ь; ;:: 1. Распознавая QR на шаге (2) про­ токола (эту задачу нельзя решить за полиномиальное время), дока­ зывающий Р будет отвечать битом С; = 1 тогда и только тогда, когда Ь; = 1, т. е. на шаге (3) результат проверки всегда будет положитель­ ным и V всегда примет доказательство.

Покажем теперь, что для "dx! если (х,п)е QNR, вероятность ошибки V составляет р~ш :::; 1/ з: .

Когда Ь; = 1, по условию протокола ЗZ; : z; == W; (mod n). По опре­ делению вычета это означает, что (w;,n)E QR, т. е. W; является

квадратичным вычетом числа п.

Когда Ь; = О,

по

условию

протокола W; == Х' Zj2 (mod 11). Если

(x,n)eQNR, Т.е.

(x,n)EQR,

то

(х,n);::l,Зу:/=х(mОdп). Тогда

можно записать,

что

wj

== /

. Z;2 (mod n), ИЛИ, что то

же самое,

W; == 'Zj)2 (modJl). Значит,

Зv = у' г, :у2 == W; (mOdn), т. е.

(Wpn)E QR .

Итак, Wj - случайный квадратичный вычет числа п.

В любом случае: Ь; = О или Ь, = 1 - участник Р на шаге (2) прото­ кола всегда будет распознавать число W; как квадратичный вычет числа п. Следовательно, он может угадать, какой бит Ь; = {о,l} был

выбран, только случайно, с вероятностью Р = 1/2. Следовательно, все k бит {bl' ...,bk } он сможет угадать лишь с вероятностью

P==2-k k--'Jo:> )0.

2. Пример из теории графов. Графы Go и G1 называются изо­ морфными, т. е. Go :::::: G!, если существует взаимно-однозначное со­ ответствие между их вершинами, при котором соединенным ребром

вершинам в графе Go соответствуют соединенные вершины в графе

26

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

G! (задача проверки изоморфности графов также нерешаема за по­ линомиальное время). Не упрощая задачи, можно предполагать, что

Go и G - графы на одном и том же множестве вершин N мощности

т: IN/ 1 т. {(Go,GJ~\fGo * множество пар неизо-

= L = GNI = G1} -

морфных графов. Рдоказывает Vутверждение S = (Go,GJE GNI.

Протокол, показанныйв табл. 1.3, является интерактивной сис­ темой доказательства данного утверждения.

Таблица 1.3. Пример интерактивной. системы доказательства, основанной на задаче теории графов

 

 

р

 

 

 

 

v

 

 

 

 

 

 

 

 

1

 

 

 

 

 

Для i ~ l,m

берет а! Е {O,l}- спу-

 

 

 

 

 

 

чайный бит, создает изоморфную

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

КОПИЮ Gа/

:= Gа; путем случайной

 

 

 

 

 

 

перестановки вершин:

 

 

 

 

 

~

G(I;I ~{(1t(u),n(v))I(U,V)EЕа.}

 

 

 

 

 

 

2

Для i =1,т вычисляет

 

 

 

 

~; Е {О,1} так, что

 

 

 

 

 

 

 

~i = О,еслu(GQ.;

1

,.,Go) ,

 

 

 

 

 

 

 

 

 

 

(3; = 1, если(Gа;1

:= G\ ),

 

 

 

 

 

 

 

 

 

 

lЗ; - СЛУЧ.,если (Go = G\ ),

 

 

 

 

 

о; *- а;

 

 

 

 

 

13j =О,еслu',

,

 

 

 

 

 

['

«о, J

 

 

 

 

 

Ga;

 

 

 

 

 

 

отправляет f3; проверяющему

-7

 

 

 

 

 

 

 

 

 

э

 

 

 

 

 

Принимает доказательство тогда

 

 

 

 

 

 

и только тогда, когда все биты сов-

 

 

 

 

 

 

пали: ДЛЯ Va = l,т f3; = С1.;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Обобщим теперь рассмотренные примеры и сформулируем ряд

определений.

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

27

Пусть S - утверждение вида wE Е, где w -

слово, L - язык в

ДВОИЧНОМ алфавите. Если существует интерактивная система дока­ зательства для утверждений такого рода, то говорят, ЧТО язык L об­ ладает интерактивной системой доказательства. Обозначается

такая система (р,V, s) .

Протокол между участниками Р и V называется интерактивным доказательством для языка L, если V полиномиально ограничен

ивыполнены следующие два условия:

1)для \:}хЕ L p{(P,V)(X) =1}~1-l/2"(",

где С = Const; n - число раундов протокола (т. е. вероятность приня­

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

кединице);

2)для \:}ХЕ L и для \:} р' :;t. р (для любого другого участника,

который действует не так, как честный участник) вероятность при­

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

ще мала, т. е. p{(pl,V)(X) = l}=:; 1/ 2/,c

Условие 1 называется полнотой (completeness), условие 2 - кор­ ректностыо (soundness) доказательства. Класс языков, обладающих интерактивными системамидоказательства, обозначается IP.

Теорема (А. Shamir, А. Shen, 1990). = PSPACE (т. е. класс за­ дач, обладающих интерактивными системами доказательства, сов­ падает с классом задач, решаемых с полиномиальным объемом па­ мяти).

1.3.2. Доказательства с нулевымразглашением знания

Пусть задана интерактивная система доказательства (Р,V,S).

в определении интерактивной системы доказательства ранее не предполагалось, что V может быть противником (предполагалась только возможность существования нечестного участника pl). Но V может оказаться ПрОТИВНИКОМ, который хочет выведать у Р какую­ либо новую полезную информацию об утверждении s. В этом слу­ чае Р может не хотеть, чтобы это случилось в результате работы

протокола интерактивной системы доказательства (Р,V, s). Таким

28

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

образом приходим к идее протокола доказательства с нулевым раз­ глашением знания (ze1"o-knowledge prooj). Нулевое разглашениезна­ ния подразумевает,что в результате работы протокола интерактив­ ной системы доказательства V не увеличит свои знания об утвер­ ждении S, или, другими словами, не сможет извлечь никакой информации о том, почему S истинно.

Как и ранее, в протоколе предварительно формулируется неко­ торое утверждение S, например о том, что некоторый объект w об­ ладает свойством L: w Е L . В ходе протокола Р и V обмениваются сообщениями. Каждый из них может генерировать случайные числа и использовать их в своих вычислениях. В конце протокола V дол­ жен вынести свое окончательное решение о том, является ли S ис­

тинным или ложным.

Цель Р всегда состоит в том, чтобы убедить V в том, что S ис­

тинно, независимо от того, истинно ли оно на самом деле или нет, т. е. Р может быть активным противником, а задача V - проверять аргументы Р. Цель участника V заключается в том, чтобы вынести решение, является ли S истинным или ложным. Как и ранее, V имеет

полиномиально ограниченные вычислительные возможности,

а именно время его работы ограничено некоторым полиномом от

длины доказываемого утверждения: t:$; p~~). в силу этого он са­

мостоятельно, без помощи Р, не способен распознать истинность высказыванияS. Вычислительные возможности Р никак не ограни­

чиваются.

Рассмотрим теперь примеры протоколов доказательства с нуле­

вым разглашением знания.

1. «Задача о пещере Али-Бабы». Имеется пещера, план которой показан на рис. 1.2. Пещера имеет дверь с секретом между точками С и D. Каждый, кто знает волшебные слова, может открыть эту дверь и пройти из С в D или наоборот. Для всех остальных оба хода

пещеры ведут в тупик.

Пусть Р знает секрет пещеры. Он хочет доказать V знание этого секрета, не разглашая волшебные слова. Вот протокол их общения:

1) V находится в точке А; .

2) Р заходит в пещеру и добирается либо до точки С, либо до

точкиD;