4.3.4. Честный обмен в СЭП Брандса
266 Запечников С.
В. Криптографические протоколы и их применениеТак, схема редукции для схемы цифровой подписи, используемая в схеме честного обмена Asokan - Shoup - Waidner, применима и к СЭП Брандса. Ответ на запрос от плательщика к получателю со-стоит из gf* ¦ = {т')С • pkcom, где т = g? ¦ g?, pkcoin = g* . g* . Здесь 0 :ZnxZn-*G - гомоморфизм, отображающий (z,,z2) —^ gy' • g'2 ¦ Тогда для «электронной монеты» в схеме Брандса
5 = (sig\, sig2) - прообраз для величины (пг')С • рксЫп. Наличие такой
конструкции позволяет обмениваться не только цифровыми подпи-сями, но и «электронными деньгами».
4.3.5. Одновременное подписание контракта
Задача одновременного подписания контракта предполагает, что два участника криптосистемы желают заключить письменный кон-тракт таким образом, чтобы либо каждый из них получил на кон-тракте подпись другой стороны, либо ни один не получил подпись другого.
Для этого можно, конечно, использовать схемы Asokan - Shoup - Waidner безо всяких изменений. Но если допустить гибкость в опре-делении формы подписей, можно получить значительно более эф-фективный протокол и достичь свойства ответственности (ac-countability) арбитра Т. Под ответственностью понимается возмож-ность доказать некорректное поведение Т в том случае, если оно имеет место. Предположим, после выполнения протокола обнару-жилось, что А не получил действительного контракта. Если Г вел себя корректно, то и В не должен иметь действительного контракта. Однако если В все-таки имеет действительный контракт и даже пытается представить его в суде, то представленный им контракт вместе с информацией, полученной А во время выполнения протокола, могут быть использованы для доказательства некорректного пове-дения Т.
Тогда контракт признается недействительным, а А и В могут привлечь к судебной ответственности самого арбитра Т. Конеч-но, схема должна быть устроена так, чтобы А и В было невозможно скооперироваться и необоснованно обвинить Т в том случае, если его поведение в протоколе на самом деле корректно.В общем виде схема одновременного подписания контракта вы-глядит следующим образом. Сначала оба участника обмениваются подписанными сообщениями, которые играют роль предконтрактов, еще не рассматриваемых как действительные контракты. После этого участники обмениваются настоящими контрактами. Если что-то было сделано некорректно, любой участник протокола может по-просить Т прервать протокол или разрешить транзакцию. В послед-нем случае Т конвертирует пару предконтрактов в действительные контракты, скрепляя своей подписью пару предконтрактов.
Пусть X є {А, В,Т}. [а] - двоичная строка а, сцепленная с
цифровой подписью под ней, сгенерированной на секретном ключе X Т поддерживает множество сообщений S. Для простоты предпо-лагается, что честный участник предпринимает шаги к тому, чтобы никогда не использовать в разных сеансах протокола одно и то же сообщение т. Этого легко добиться, добавляя к сообщениям прото-кола какую-либо неповторяющуюся величину, гарантирующую их «свежесть» (порядковый номер, случайное число, метку времени).
Протоколы схемы одновременного подписания контракта пока-заны в табл. 4.7-4.9.
Действительный контракт между А и В имеет вид
([ш,А,5]д,[т,А,Я]д) или [[ш,А,Я,Г]а,[т,A,Bj\\.
Окончание табл. 4.7
verify( а') = {accept/reject} If (accept) then {
[Р' = [ш,А,Я]д], output(a',(3'), quit } else {
resolve, quit}
verify( (3' If(ассер then {
output(o|P'),
quit} else {
resolve, luit }
= {accept/reject}
Если в тр ([[
нзакции была выработана пара строк вида
Т будет пр знан
то
Предпол; в форме
([»
он может бы
виновным в мошенничестве, ается, что всякий раз, когда Т был передан запрос
Л, В, ТІ, [;n, А , В, Т\) или [т, А, 5, abort]A, принужден дать ответ в форме
[к а, в, rL клятві
или
Цт, A,B,abort]A\.
дположение вполне оправданно ввиду того, что Т - , хорошо известное лицо, обеспечивающее гаранти- в качестве арбитра. Если Т неспособен в. течение времени дать корректный ответ, он может быть при- в нарушении своих обязательств из-за необос- предоставления услуги.