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

3. Системы электронныхплатежей

199

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

3.5. Анонимные автономные СЭП

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

3.5.1. езп, основанные на взломозащнщенныхустройствах

Если можно было бы целиком полагаться на взломозащищен­

ность аппаратных средств, выдаваемых участникам системы, то ста­

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

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

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

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

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

3.5.2. СЭП с идентификацией повторной траты монеты

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

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

ность после одного платежа, но неанонимность после двух.

Это достигается за счет применения механизма «запрос - ответ»: в каждом платеже получатель задает вопрос, на который плательщик должен дать определенный ответ. С одним таким ответом плательщик остается анонимным, но ответы на два разных вопроса идентифициру­ ют его (рис. 3.9), т. е. обманывая, он уже сам себя наказывает.

Получатель 1

Получатель 2 .

Доказательство сч н-

Рис. 3.9. Абстрактное представлениемеханизма идентификации повторной траты монеты

Ответы могут разгласить идентификатор плательщика только

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

3. Системы электронныхплатежей

201

а именно во время снятия со счета, когда банк может проверить идентификатор будущего плательщика.

Еще одна проблема связана с реализацией протокола «запрос - ответ» при платеже. Что случится, если плательщик и два получате­ ля сотрудничают и объединились в коалицию против банка? Оба

получателя могут направить одному плательщику одинаковые за­ просы. Банк, естественно, не может выдать одну и ту же монету обоим получателям при выполнении депозита. Возникает вопрос: как определить приоритет выдачи монеты одному из них? Можно было бы установить, что монету получает первый получатель по по­ рядку обращения за депозитом в банк. Но тогда плательщик и вто­ рой получатель могли бы обмануть первого получателя путем по­ вторного использования его запроса и более быстрого выполнения депозита. Такой способ не годится. Следовательно, каждый запрос получателя к плательщику должен включать идентификатор получа­ теля и депозит должен быть возможен только на счет этого получа­

теля.

Итак, мы пришли к выводу, что в СЭП необходимо ввести иден­ тификаторы получателей платежей, которые в обязательном порядке включаются в каждый запрос получателя к плательщику. Теперь по­ является следующий вопрос: какова должна быть структура ответов плательщика на эти запросы? Как было отмечено выше, их нужно сконструировать таким образом, чтобы один ответ плательщика ос­ тавлял его анонимным, а два - уже разглашали бы его идентичность. Один возможный способ заключается в том, что в качестве первого ответа берется случайное число k, в качестве второго - величина id Ее k. Тогда каждый ответ по отдельности не дает никакой ин­ формацииоб id, но оба ответа полностью разглашают id. Однако та­ кой способ оставляет возможность только для двух запросов полу­ чателей. Другой возможный способ - представлять ответ в виде ли­ нейного уравнения с двумя переменными, одна из которых id, например в такой форме: c\id +c2k . Это дает большой набор воз­ можных запросов, формируемыхкак пары (с), С2), Тогда один ответ все еще оставляетвозможнымлюбой id, тогда как два уравнения оп­ ределяют обе переменные однозначно (предполагая, что уравнения линейно независимы). Аналогичная идея и используется в СЭП Брандса, которую мы будем рассматривать ниже. Только в ней каж-

202

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

дый ответ состоит из двух уравнений в четырех переменных, что по­ зволяет использовать эффективный способ проверки корректности

ответов.

Мы обозначили проблемы, которые необходимо решить в ано­ нимной автономной СЭП. Рассмотрим теперь конструкцию такой системы, предложенную Брандсом.

3.5.3. СЭПБрандса

СЭП Брандса - лучшая из известных анонимных автономных СЭП. Она достаточно эффективна, но ее свойства не сформулирова­ ны в терминах модели доказательной безопасности, и в этом ее сла­ бость. СЭП Брандса использует затемненную цифровую подпись, основанную на задаче дискретного логарифмирования - расширение схемы Шаума - Педерсена (Chaum - Pedersen). Ее можно рассмат­ ривать как расширение схемы цифровой подписи Шнорра. Чтобы понять устройство такой затемненной цифровой подписи, вспомним факт, который отмечался в ГЛ. 1: любой протокол аутентификации, основанный на доказательствах с нулевым разглашением знания, может быть стандартным образом преобразован в схему цифровой подписи. Не является исключением и рассмотренный там же прото­ кол аутентификации Шнорра, который легко преобразуется в схему цифровой подписи Шнорра, показанную в табл. 3.1.

В СЭП Брандса используется следующее свойство схемы аутен­ тификации Шнорра: если доказывающий Р может успешно пройти аутентификацию с вероятностью, существенно отличающейся от

нуля, тогда он должен знать величину х.

Для схемы цифровой подписи Шнорра выбираются два больших простых числа р.а, таких, что qlp-l, ge Gq - образующий элемент

подгруппы

z; порядка q.

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

секретный

ключ схемы цифровой подписи. Открытый ключ схемы -

набор чи­

сел (P.q.g,h),

где h =gX; т -

подписываемое сообщение. Подписы-

вающий выбирает WE R 2(/,

вычисляет с = Н (m,а)е 21}' r = w+cx

И посылает

[т.с.r] проверяющему. Последний должен

сравнить:

?

в' =aht:mod р. в случае положительного результата он принимает подпись, в противном случае - отвергает.

 

 

3. Системы электронных платежей

203

 

 

Таблица 3.1. Схема цифровой подписи Шнорра

 

 

 

 

 

 

 

 

 

 

Предваоительный этап

 

 

 

р

 

 

Центр доверия

V

 

 

 

 

 

 

 

 

ХЕЛ' {l,...,q}

 

p,q - простые числа, qlp-l.

 

 

/1;:: я' mod р

 

gE Zp :gf} =l(modp)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

р, а, К, /z

 

 

 

 

 

 

 

 

Генерапия подписи

 

 

 

 

р

 

V

 

 

 

 

 

 

 

1

ИJЕR Zf}'

а ;::glY

 

 

 

12

т - подписываемое

 

 

 

сообщение, с;:: haslt(m,a)

 

 

 

 

 

 

 

3

r =J-v+cx

 

 

[т, С, r]~

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Проверка "од/шеи

 

 

4

 

 

 

 

я' =а/{ modp

 

 

 

 

 

 

 

 

 

 

 

 

 

 

На основе схемы цифровойПОДПИСИ Шнорра легко строитсяИН­ терактивнаясхема цифровой подписи Шаума- Педерсена с сокры­ тием подписанного сообщения (табл. 3.2).

Таблица 3.2. Схема цифровой подписи Шаума - Педерсена с сокрытием подписаиного сообщения

Предварительный этап

р

 

 

Центр доверия

V

 

 

 

 

 

 

 

 

 

XE R [г,...• q},

 

p,q -

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

 

 

h= g~·modp

 

g Е Zр : gq == 1(modр)

 

 

 

 

 

 

 

 

 

 

р, q,g, h

 

 

 

 

 

 

 

 

 

Генерация подписи

 

 

 

 

 

 

 

 

 

 

 

 

 

р

 

 

V

 

 

 

 

 

 

 

 

 

О. Сокрытие

т, z = mХ

 

[т, z]~

 

 

 

 

 

 

 

 

 

 

подписи

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1. Выбор случай-

WE"" Zq,

 

 

 

 

 

ного варианта

а;:: я". Ь;:: т"

[а, Ь]7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2. Запрос

 

 

 

 

~[c ]

сЕн Zq

 

3. Ответ

r =w+cx

 

 

[ r]~

 

 

 

 

Проверка подписи

 

 

 

 

 

 

 

 

 

 

4

 

 

 

 

 

?

о

 

 

 

 

 

я' =ah'"; mГ ~bz'"

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

Основное новшество этой схемы по сравнению с предыдущей заключается в добавлении шага- (О): величину z, передаваемую от

подписывающего к проверяющему, как и саму подпись, можно сге­

нерировать, только имея секретную величину .г, но проверить кор­ ректность z после выполнения шага (О) получатель сам не может. Оставшиеся обмены сообщениями нужны, чтобы убедить получате­

ля в том, что Z корректно.

На шаге (1) выбирается величина w, которая носит название слу­ чайного варианта величины Х. Так как здесь есть дополнительная открытая величина Z, основанная на х, есть и такая же величина Ь, основанная на w. Шаг (2) представляет собою обычный случайный запрос проверяющего подписывающему. На шаге (3) проверка отве- 'та выполняется по основанию g и по основанию т в отдельности.

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

Схема затемненной подписи Шаума - Педерсена (табл. 3.3) строится на базе предыдущей. Для этого добавляем в нее шаги, где проверяющий (получатель) трансформирует подпись.

Таблица 3.3. Схема затемненной подписи Шаума - Педерсена

Предварительный зтап

р

 

 

Центр доверия

 

 

 

 

V

 

 

 

 

 

 

 

 

 

ХЕл {1, ...,q},

 

p.q - простые числа, qjp-l,

 

 

 

 

1I = я' modp

 

g Е Zр : g q =1(mod р)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

р, а, д, h

 

 

 

 

 

 

 

 

 

 

 

Геllерация подписи

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

р

 

 

 

 

V

 

 

 

 

 

 

 

 

 

О. Сокрытие

m,z==mх

 

[ т, z J-7

s,t,u,VЕл

Z",s*O~

 

подписи

 

 

 

т' = т'в',

z' == ZShl

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1. Выбор

WE R Zq'

 

 

 

 

 

 

 

случайного

а == в". Ь;;; т"

 

[а, Ь]-7

а' 11 V

ь'

 

ь"аш ( т

варианта

 

 

 

 

 

 

 

 

 

g;

 

==

 

 

З. Системы электронных платежей

205

 

 

Предварительный 'J111Q1t

 

 

 

Генерация подписи

 

 

 

 

 

 

 

 

 

р

 

 

 

V

 

 

 

 

 

 

2. Запрос

 

 

 

с' =:::

llasll(m', z',a',b') ,

 

 

 

~[ с]

се; г,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3. Ответ

r = w+cx

 

[ г]~

 

 

 

 

Проверки подписи

 

 

4

 

 

 

?

?

 

 

 

е' ~aJ{; т' ~bz(' ;

 

 

 

 

 

 

 

 

г' = uг+v

в этой схеме сообщение т будет соответствовать «белой» форме монеты, изображенной на рис. 3.3-3.6, а т' - «шгрихованной» ее форме. Затемненной подписью является набор величин о ;;:;; (г,а,Ь,с, r), пересылаемых от подписывающего к проверяюще­

му; обычной подписью (подписью со снятым затемнением) - набор

 

(J,= ('z, а,

, r').

особенность, которая делает только

величин

, ь',С,

«штрихованную»монету пригоднойдля оплаты, заключаетсяв том, что только в этой форме имеет место равенство с' = lzaslz(m',

z',a',b') .

Величины (s,t, и,v) называются затемняющими факторами. ДЛЯ СЭП Брандса мы всегда будем полагать t == О, НО В общем случае в схеме Шаума - Педерсена возможно t '# О

Продемонстрируем корректность этой, схемы цифровой подпи-

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

Шаума - Педерсена для т' алгоритмически точно такая же, как и в предыдущей схеме подписи. Очевидно, что по конструкции схемы выполняется равенство с' == haslz (т', г', а',Ь') . Мы должны проверить,

что g" =а'./{ и (m'у' = ь'·(z')(". Это можно сделать, просто под­

ставляя уравнения одно в другое. Но идея подписи станет еще по­ нятнее, если мы покажем, что все величины в левой части уравнений

имеют ту же структуру, что и справа.

В самом деле, z' = ZS hl = т" .gXI = (ms я' у = (т'У - точнотак и

должно быть. Далее: а' = g WII+V Здесь wu+v играеттуже рольдля а' ,

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

что и И' дЛЯ а, и мы обозначим ее w' = wu + v . Далее покажем, что

ь' = (т'У.:' :

Ь'

=

ь:ш

IU (')У

IVS/I

'g

v,'Ш

(

т

')У

(

S

1)1\111

(

111

')У

=

 

 

·й· т

 

 

.

 

=

mg

 

.

 

')I\""+V ( ')111'

=111( =m .

Наконец, r'::::ur+v=u{w+cx)+v=(wu+v)+ucx::::w'+c'x,

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

тоже удовлетворит проверочным уравнениям.

Более того, можно доказать, что каждому сообщению с действи- тельной подписью (т',а') может с равной вероятностью соответст-

вовать любая из пар (т, а) , которые могут получаться в протоколе

затемненной подписи, что демонстрирует наличие у схемы свойства затемнения подписи. Эти пары связаны между собой четверкой за­ темняющих факторов (S,t,ll,v), причем для каждой пары

((m',а'),(m,а)) существует точно q четверок затемняющих факто-

ров, преобразующих (m,а) в (m',а').

Кодирование идентификаторов в монетах. Теперь мы полу­ чили схему затемненной подписи, которую можно использовать для анонимных платежей в режиме реального времени по аналогии со схемой затемненной подписи на основе RSA, применявшейся ранее. Для этого нам необходимо добавить в СЭП механизм идентифика­ ции повторной траты монеты, а именно каким-либо образом закоди­ ровать идентификаторы владельцев монет в самих монетах и разра­ ботать механизм запросов и ответов для платежей. Так как банк может только проверять факт присутствия корректного идентифика­ тора в монете, которую он подписывает (В то время как в самом пла­ теже будет использовано т'), закодированный идентификатор вла­ дельца должен каким-то образом «пережить» этот процесс затемне­ ния. Это свойство будем называть удержанием идентичности

(restrictiveness).

1,,1

з. Системыэлектронных платежей

207

Существо метода заключается в следующем: т необходимо

представить в форме т =8ft'

82' где g" 82 - образующие элементы,

которые отличаются от g,

использовавшегося до сих

пор, т. е.

g, ::j:. g2 ::j:. g Е Gq , и плательщик должен знать id. Тогда, если затем-

нение осуществлено корректно, результат будет таким: т' = т'gl = g:tf-S . g~ . gl. Протокол платежа будет каким-то образом

принуждатьплательщикапродемонстрироватьзнание экспонентXI,

Х2, таких, что т';::: gjrj g;2. Кроме того, можно показать, что тройное экспоненцирование, т. е. функция (Xl'x2,.\j )~ gi~' g;1 я" , не имеет коллизий. Таким образом, два представления т', используя тройки (id's,s,t) и (Хl'х2,О) , должны быть одними и теми же. Следова­

тельно, для затемнения плательщикдолжен выбрать t = О. Тогда мы имеем: (х" Х2)= (id . s, s). Отсюда видно, что идентификатор i{l вы-

числяется таким образом: id =..:5..-. Теперь повторная трата будет

Х1

разглашать все секретные величины, в частности Xl, Х2, и следова­ тельно id.

Основные протоколы СЭП Брандса. Эта система электронных платежей полностью описывается комплектом из шести протоколов,

которые мы и рассмотрим ниже.

Протокол инициализации выполняется однократно ПрИ вводе СЭП в эксплуатацию. Банк генерирует ключи дЛЯ схемы затемнен­ ной подписи Шаума - Педерсена, т. е. p,q,g,x и /1 =g.r, где Х - секрет­ но, а остальные параметры публикуются. Точнее, банку для каждого номинала монет, используемых в системе, нужно выбрать одинако­ вые p,q,g,X, но различные Xj, hj В дальнейшем мы для простоты рас­ суждений будем опускать индекс <<j», считая, что в системе обраща­ ются «электронные монеты» только одного номинала. Кроме того, с ключами схемы могут быть ассоциированы определенные сроки действия: монеты, подписанные этими ключами, действительны

только означенное время.

Банк также генерирует два случайных образующих элемента g, и g2. Каждый из участников системы должен доверять банку в том, что последний не умеет вычислять дискретные логарифмы по осно-

(skp,

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

ванию g]. Если банк выбираетp,q,gl случайнымобразом, то можно верить, что это условиесоблюдается.Однако MO~HOдополнительно гарантироватьих случайность,используяпроизвольнуюслучайную строку r, пользующуюся публичным доверием (например, выбирае­ мую из таблиц случайных чисел), и генерируя желаемые величины из r посредством детерминированных процедур. В частности, gI мо-

р-l

жет выбираться как lj--;; , где J'J - ПОДС1рока r, интерпретируемая как элемент z;.

Протокол открытия счета (табл. 3.4) выполняется однажды ДЛЯ каждого нового плательщика при вводе его в СЭП. Протокол со­

стоит из следующих шагов.

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

 

 

 

Таблица 3.4. Протокол открытия счета

 

Банк В

 

 

Плательшик Р

 

 

 

 

 

О

Cert(pkp )

 

(sk p , pk p ) - секр. и откр. КЛЮЧ любой схемы

 

 

 

цифровой подписи

 

 

 

 

 

1

 

 

id Е/1 Zq - идентификатор плательщика

 

 

 

(секр. случайное число),

 

 

 

I"t :::; g:d - должно быть уникально для каж-

 

 

~[11/ ]

дого плательщика

 

 

 

 

 

2

Протокол аутентификации Шнорра:

 

(\1)

~~

 

(Р) [id]

3

 

~[SigK, (111)]

т = h\82

 

 

 

 

 

На шаге (1) плательщик выбирает секретное случайное число

id (mod q) и передает ~ = gi id В банк. Здесь id - идентификатор, ко­

торый служит доказательством идентичности плательщика. Если у кого-то уже есть ht , банк просит плательщика повторить свой выбор.