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

Покynатель

1

'(

 

 

 

'(

 

 

 

 

 

у

 

 

1'\

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ва

х

В21

 

 

Х ...

Х

н;

=

 

В1

 

 

 

...

...

...

 

 

 

0 . 0

... ...

...

 

...

 

 

 

 

 

 

 

 

 

 

 

 

...

...

...

 

 

 

...

"0

" ..

...

 

...

 

 

 

 

 

 

 

 

 

 

 

 

 

...

...

 

 

 

.,.

...

...

...

 

., .

 

 

 

 

•• 0

 

 

 

 

 

1

 

 

В11<.

 

B2k

 

 

 

 

 

Bnk

 

 

Bk

 

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

 

 

 

 

 

 

 

 

 

 

 

Х

 

 

Х

о ..

Х

=

 

 

победитепя

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

публичных

 

 

 

«Доска объявпенпй»

 

 

 

 

 

 

торгов

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.11

':itj

~

~ ~

.

j ::.... ':~,;,.

-.~·~·~~~~-..~·:~~~:;J.:;~t.' ~ I-~'~.~·

1";, <':..-

 

 

V·,',:·,';··}')I,':':""

;

 

 

 

 

 

 

 

 

 

 

 

Рис. 4.17. Выполнение протокола публичных торгов в СХеА1е электронного аукциона MB-share

1. Создание кодов и депонирование ценовых предложений:

для каждого j выбираются случайные элементы поля ~I.j'

ха -4- О

...

ra

m j

..,..

и случаиное число

ценовое предложение Ьа депонируется у продавца (аукционаго­

ра), для чего покупатель а пересылает ему[ Н (Ьа +ra ) , r(l J, где

Н- криптографическая хеш-функция.

2.Разделение кодов:

для каждого i и для каждого j покупателем а формируется вели-

+;

~ +;

,

если Ьа ~ j ,

чина Ьaj

по следующему правилу: г:b(/j

= Y

 

 

aj

 

 

;=1

n

И Lb;; = о в противном случае.

;=1

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

для каждого j величины Ь,;' покупатель а рассылает Ь(;; всем ос­

тальным покупателям i,i;j:. а;

покупатель а получает от других покупателей ь;п (для каждого

j, для всех i;f;. а), отправленные ими на предыдущем шаге про­

токола.

3. Передача по кольцу:

~b""" ;) ка г: /II)

для всех j покупатель а вычисляет величину 11-1Вaj= g ;:1

И отправляет ее покупателю с номером s(a);

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

r_IBij = (,BijJ"l" .Если r>l, он посылаетэтувеличинуучастнику

s(a), в противном случае публикует Ви=оВи на «доске объявле­

ний» (в открытом общедоступном справочнике);

для каждого j, используя опубликованные Ви, вычисляются

11

Bj = ПВij'

1=1

4.Определение победителя торгов. Цена продажи лота равна

р/ -1' где /' == min.{j : Вj = о}. Онадоступнавсемучастникампуб-

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

лу связи.

Передача данных по кольцу требует п дополнительных пересы­ лок сообщений, поэтому число раундов протокола оценивается как О(n), но общее количество сообщений по-прежнему оценивается как О(n), а суммарных объем передаваемых данных O(nk).

Благодаря вычислительной сложности задачи дискретного лога­ рифмирования и маскирующему умножению протокол обеспечивает полную конфиденциальность покупателей, Действительно, предпо­ ложим худший случай: n-l покупателей объединились против ос­ тавшегося единственногопокупателя(присвоимему номер 1) и пы­ таются узнать его ценовое предложение. Объединившихся покупа-

4. Криптографическиепротоколы в :JЛекmРОl11юii KOMMeplflIllll в докуме//ЛlооБОjJО1l1е 281 телей МОЖНО представлять себе как единого покупателя, действую­ щего на торгах через агентов - присвоим ему номер 2. Покажем, что покупатель 2 никаким образом не сможет узнать ценовое предложе- ние покупателя 1. Предположим для определенности, что Ь, < Ь2' так как схема MB-share и так позволяет публично узнать наивыс­ шую из предложенных покупателями цен, за которую был продан лот. Покупателю 2 необходимо проверить выполнение равенства

 

.}

 

bl+~ :::::- Ь,+?

дЛЯ всех j. Для этого есть две возможности.Во-первых,

}

J

.

покупатель 2 может попытаться извлечь b,~l , используя любую ком-

бинацию известных ему

величин:

+'

ь+2

ь+2

m2 j ,

Ь2j ,

2j ,

lj'

(Ь+! ь+2 Ь+! ь+2 \

И g

(Ь+! b+l )

Но это вычислительно не-

Вj :::: g~' !j + Ij + 2} + 1} 'nl } /II 'l }

I} + l} 111} •

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

дискретного логарифмирования. Во-вторых, он может попытаться

вычислить значение величины g

(-Ь+~+'4+~+ь+I.+ь::2)1I

111

 

J)

) 2)

~}

I} 2)

 

И сравнить его

с Вj'Но это невозможно,так как m1j

неизвестно покупателю 2 и

не может быть получено им из известных ему величин.

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

схемы.

Помимо рассмотренных здесь, существуют криптографические

схемы, реализующие некоторые другие виды аукционов: аукцион второй цены и аукцион М-й цены.

4.4.2. Криптографическая поддержка государственно­ правовых отношений. Электронные выборы

Основным предметом нашего внимания до сих пор оставались криптографические средства поддержки экономических отношений,

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

ские отношения не могут существовать вне поля государственно-·

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

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

ние».

Мы не ставим целью подробно осветить здесь все криптографи­

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

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

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

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

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

области криптографии. Б последние несколько лет положение дел резко поменялось. В США и в странах Европейского союза активно обсуждаются возможности проведения президентских выборов' и выборов в парламенты этих государств с использованием возможно­ стей, предоставляемых сетью Интернет. Следует ожидать, что с те­ чением времени практическая значимость решения этой задачи бу­

дет только возрастать.

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

телей V;, i = 1, т, каждый из которых вырабатывает свой секрет х..

Необходимо, вычислить функцию f, зависящую от этих величин, не

разглашая ни одной ИЗ них, но делая значение функции f общедос-

4, КРllllmографU'Iескuе протоколы в :JЛeKmpOJlllOli KO.ll.llepIIUU It в дOКYJlIel1m00бороmе 283

ТУПНЫМ. ДЛЯ определенности каждый отдельно взятый случай при­ менения схемы электронных выборов (т. е. каждый сеанс основного протокола этой схемы) будем называть электронным голосованием.

Схема электронных выборов должна удовлетворять следующим очевидным требованиям:

1) гопосовать на выборах могут только авторизованные избира-

тели;

2)никто не может проголосовать на выборах более одного раз~;

3)голос каждого отдельного избирателя хранится в секрете;

4)никто не может дублировать гопоса других избирателей;

5)итоги выборов должны быть подведены корректно;

6)справедливость выполнения условия 5 может быть проверена публично;

7)схема должна быть робастной, т. е. коррект~ю работать в ус­

ловиях) когда некоторые из его участников оказываются злоумыш­

ленниками;

8) должно быть невозможно принуждать избирателей к разгла­

шению своего голоса.

Обычно в схемах электронных выборов бывает нежелательно вовлекать всех избирателей V; в процесс подсчета голосов. Мы предполагаем, что) кроме избирателей, в криптосхеме участвует 11 государственных избирательных комиссий С], "', С,,) их задача за­

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

выборов Мепи». Каждая избирательная комиссия С, публикует от­ крытый ключ Pi некоторой схемы открытого шифрования, а соответ­ ствующий ему секретный ключ Sj сохраняет у себя в тайне. Чтобы отдать свой голос Vj, каждый избирательV"ВЫ.биr~ет случайное чис­

ло Г)"ивычисляетфункцию Ер (Е

Pl

(...Е

v" 1 . )1' -

У +1 ., гдеЕ- ал-

J

 

Р" GJ

J ~ _

/1 . )

горитм зашифровкивыбранной схемы открытого шифрования.Ве- личины У/нl,}' j = 1,т избиратели рассылают в центры подсчета го­

лосов. Все избирательные комиссии С, по очереди (В порядке от С; ло С1) выполняют с поданными голосами избирателей следующие

действия. Для каждого Yi+l,j комиссияС; выбираетслучайноечисло

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

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

Уц' = ЕPl Yi+ 1.Р Qj.j

НОВЫЙ индекс - j' вычисляетсякакслучайная

перестановка п;

на

множестве целых чисел {1,2, ...,1l}, т. е.

j'=п; (j) . Каждая С; хранит свою перестановку в секрете. В итоге

мы имеем:

YI.j = Ер,Р2( ••Ер"(YII+I,j,QIl,j)··Q2.jhl,j)·

С этого момента начинается этап проверки. Он состоит из двух циклов расшифровки полученных величин в ПОРЯдке от С} к С; Расшифрованные величины опубликовываются, а итог выборов под-

водится как суммы всех Vj~ j =l,m, отсортированныхкак голоса

«за» или «против».

Требования 1 и 2 в ЭТОЙ схеме очевидным образом удовлетворя­ ются. Требование 3 тоже удовлетворяется: даже если какие-либо го­

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

подавшим его избирателем. Чтобы восстановить эту связь, нужно знать все случайные перестановки n;. Требование 4 здесь не удов-

летворяется, так как избиратель Vt легко может копировать голос избирателя V2 , опубликовывая ту же самую двоичную строку шиф­ ртекста. Условия 5 и 6 удовлетворяются благодаря использованию случайных строк: в первом цикле расшифровки каждая комиссия проверяет, что выбранные ею случайные строки появляются в рас­ шифрованных текстах. Это дает ей уверенность в том, что все ее шифртексты были подсчитаны. Точно так же в конце второго цикла расшифровки каждый избиратель видит свою случайную строку Jj, что дает ему уверенность в том, что его личный голос был подсчи­ тан. Чтобы снизить вероятность повтора случайных строк, их длина должна быть достаточно большой. Заметим: для того) чтобы прове­ рить корректность подведения итогов выборов, необходима коопе­ рация всех избирателей - это отрицательное свойство протокола, особенно заметное в условиях большого количества избирателей. Условие 7 более сложно и требует дополнительного обсуждения. Если мы беспокоимся о возможности утраты секретности голосов из-за некорректного поведения участников протокола, то с ЭТОЙ точ­ ки зрения протокол просто идеален. В самом деле, даже если n-l из­ бирательныхкомиссий скооперируются,они не смогут узнать, кто

4. Криnтографическuе протоколы в :JденmрОllllOii КО.lLмерЦllII 11вдОIl.УJ"еnmообороmе 285 именно из избирателей какой голос подал. Для этого нужно было бы знать все случайные перестановки 1С;, для чего потребовалось бы

скомпрометировать все избирательные комиссии. Однако подобная схема крайне ненадежна: если хотя бы одна избирательная комиссия перестанет функционировать, вся система выборов выходит из строя

итребуется проводить повторные выборы. Условие 8 в этой схеме вообще не удовлетворяется: избирателя могут принудить разгласить

исвой голос Vj, И случайное число 1} Если же он попытается обма­ нуть, ложь будет обнаружена, так как заявленная величина не будет

соответствовать шифртексту YII+I,j'

Более эффективна и надежна схема электронных выборов Сгаmег - Franklin - Schoenmakers - Уuпс, основанная на идее Бе­ нало (J. Benaloh, 1987). Эта схема, в отличие от предыдущей, удов­ летворяет требованию 4, т. е. делает невозможным копирование чу­ жих голосов. Она не требует кооперации всех избирателей для пуб­ личной проверки итогов выборов, предлагая более эффективное решение, удовлетворяющее требованию 6. Кроме того, эта схема яв­ ляется робастной: мы можем зафиксировать порог t и, если число скомпрометированных избирательных комиссий не превысит порога t, схема все же будет позволять корректно подсчитывать итоги голо­ сования и сохранять секретность каждого отдельного голоса. Тем не менее схема по-прежнему не удовлетворяет требованию 8, т. е. до­ пускает контроль над волей избирателей.

Вспомогательным средством построения этой схемы электрон­ ного голосования является гомоморфная схема депонирования со­ общений. Вообще схемой депонирования сообщений называется та­ кая криптосхема, которая позволяет преобразовать и хранить какое­ либо сообщение (в простейшем случае - 1 бит) таким образом, что­ бы само исходное сообщение невозможно было впоследствии изме­ нить в зависимости от каких-либо внешних обстоятельств. С другой стороны, сторонний наблюдатель не должен иметь возможность уз­ нать содержание этого сообщения до определенного момента вре­ мени. Такую схему условно можно назвать электронным сейфом. Приведем простейший пример реализации схемы депонирования. Один участник схемы А хочет депонировать величину х у другого участника схемы В. ДЛЯ этого А пересылает В величину у = Н(х), где

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

Н(х) - хеш-функция с трудно-обнаруживаемыми коллизиями. В не может извлечь х из у, так как функция Н однонаправленная. Чтобы «открыть» депонированную величину, А пересылает В саму величи­ ну х, и он проверяет, что Н(х) =у. Но А не может найти такое х' :;I!: Х, чтобы Н (х') = у, следовательно, не может обмануть В. Можно по­

строить и другие примеры схем депонирования сообщений. Пример гомоморфной схемы депонирования сообщений, осно­

ванный на функции дискретного логарифмирования, построен Пе­ дерсеном. Эта схема базируется на той же идее, что и схема прове­ ряемого разделения секрета Педерсена, рассмотренная в под­ разд. 1.5. Пусть р - простое число вида р = kq+l и пусть g, h - два элемента подгруппы порядка q. Мы предполагаем, что никто не уме­ ет вычислять дискретные логарифмы по основаниям g и h. Чтобы депонировать сообщение тЕ {1, 2,..., q}, необходимо вычислить

функцию Ба(т)= g аhlll , где аЕ Zq - случайное число. Чтобы «от­

крыть» депонированную величину, необходимо знать а и m. Эта схема обладает свойством гомоморфизма относительно операций

сложения и умножения, так как

В (

(

) =

g

111hlll l•

g

{/2.J..~1II2 =

g

III+lI2 ·hlll l +lII

2. =В

+m )

{/I 1111

"2

m2

 

 

 

 

 

{/I+(12 I 2'

Далее такую (+, х) -гомоморфную схему депонирования сооб­

щений будем обозначать символом Е.

ДЛЯ простоты рассмотрим сначала схе.му электронных выборов с одной избирательной комиссией, а потом обобщим ее на случай, ко­ гда итоги голосований подводятся несколькими комиссиями. Итак, пусть С - избирательная комиссия, Е - выбранная ею гомоморфная схема депонирования сообщений.

Протокол голосования. Предположим, что голоса «за» и «против» выражаются символами «-1» и «1». Каждый избиратель Vj де-

понирует свой голос V j E {- 1;1} , опубликовывая Б(jJ(Vj) для вы­

бранной им случайной величины аj'Vj также посылает в зашифро­

ванном виде в избирательную комиссию величины аj и Vj .

4. Крll1lJJшграф!l'IеСКllепротоколы в :J.Г1еЮJ1РОl/JlOii KO.~I.Mepl/lIl1 11в доку..~lеJJmообороmе 287

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

ем знания.

Для гомоморфнойсхемы депонированияПедерсена,основанной на функции дискретногологарифмирования,протоколголосования оказываетсяочень эффективным.Для удобства представленияпро­ токол приводится В табл. 4.10 и 4.11 для двух случаев: когда голос Vj =1 и когда Vj = -1, хотя по форме они ничем не отличаются.Ин-

дексы j для простоты везде опущены. Далее мы будем обозначать

. этот протокол Proof(Biv)).

Таблица 4.10. Протокол голосования для v = 1

v

с

1 а, 'i,d1, W2 Е ZIJ - случайное число,

 

е, (v) = я"ь .

 

 

 

 

(;(1

=g'i(Ба (v)lz)-dJ

,

 

 

 

(;(2

= gW2

 

 

 

 

 

а(v),CXL,CX2 ]

~

 

 

 

 

 

 

 

 

2

 

 

 

~

с Е Zq - случайное число

 

 

 

 

 

 

3

г, =c-dJ ,

 

 

 

 

 

r2 = W2 +ad2

 

 

 

 

 

 

 

 

 

 

[dl' d2 , Ji '1'2]

 

-7

 

 

4

 

 

 

 

'!

 

 

 

 

 

 

а, +d2 =c ,

 

 

 

 

 

?

 

 

 

 

 

 

g Ij =(;(\ (Ба (11 ) /1 )'/! ,

 

 

 

 

 

g,,'l- =а.2 -в

"(У)

 

 

 

 

 

'1 - J'

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

Таблица 4.11. Протокол голосования для v =-1

 

v

с

1 а, Г2•d2 , W1 Е Zq- случайное число,

в,(v) :=L,

/1

а! =g'V',

 

a,,=g2 --в.нГ'

 

 

-

,[

/1

 

 

 

 

[BIJ (v),a1, Ct2 ]

 

 

 

-7

 

 

2

 

 

 

 

с Е Zq- случайное число

 

 

 

~

 

 

 

 

 

 

 

 

3

d1 :=c-d2 ,

 

 

 

 

 

1j := w, +ad,

 

 

 

 

 

[d, а,'1j '2]

 

-7

 

 

4

 

 

 

 

'}

 

 

 

 

 

 

d, +d2 =с.

 

 

 

 

 

 

 

 

 

 

 

 

g'i ~al(BIJ (v)h)'J, ,

 

 

 

 

 

в: ~a{B.~V)]'"

 

 

 

 

 

 

 

Протокол подсчета голосов. В конце предыдущего протокола

для каждого Vj стала известна величина Вп) (Vj). Центр опублико-

вывает итог голосования Т =LVj 'и дополнительно величину

j

А =Laj Каждый может проверить, что итог корректен, выполняя

j

следующую операцию:

Вл(Т)=П»; (Vj ) ,

j

ЧТО должно выполняться для любого правильно подсчитанного Т вследствие свойства гомоморфизма схемы Е.