Протокол №4

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

Чтобы спрятать имя Алисы в электронном чеке, можно воспользоваться методикой разделения секрета .

(1) Алиса готовит п анонимных денежных чеков на заданную сумму.

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

На каждом чеке есть также п пар битовых строк идентификации, /;, 12, ..., /n. (Именно так, п различных пар на каждом чеке.) Каждая из этих пар генерируется следующим образом: Алиса создает строку, со­держащую ее имя, адрес и прочие сведения, требуемые банком . Затем она делит эту строку на две части, используя протокол деления секрета (см. раздел 3.6) и вручает каждую часть, используя протокол вруче­ния битов.

Например, 137 состоит из двух частей: /37£ и hiRКаждая часть представляет собой пакет врученных би­тов, который Алису могут попросить открыть, и чье открытое содержание может быть мгновенно пров е-рено. Любая пара (например, /37£ и hiR > но не hiL и h%R )> раскрывает личность Алисы. Каждый из чеков выглядит следующим образом: Сумма

Уникальная строка: X
Строки идентификации: 1 = (7j , Ix )

/2=(/2£Д)

In=VnLJnE)

(2) Алиса маскирует все п чеков с помощью протокола слепой подписи и относит чеки в банк.

(3) Банк просит Алису снять маскировку с п-1 денежных чеков и убеждается, что все они правильно офор м-лены. Банк проверяет сумму, уникальную строку и просит Алису раскрыть все строки идентификации.

(4) Если банк удовлетворен, не обнаружив попыток мошенничества, он подписывает оставшийся замаскир о-ванный денежный чек. Банк возвращает замаскированный чек Алисе и списывает сумму с ее счета.

(5) Алиса снимает маскировку с чека и тратит его у продавца.

(6) Продавец проверяет банковскую подпись, убеждаясь в законности денежного чека .

(7) Продавец случайным образом просит Алису раскрыть либо левые, либо правые половины всех строк идентификации на чеке. По сути, продавец выдает Алисе случайную и-битовую строку-селектор,Ъи Ъ2, ..., Ьп. Левую или правую половину /, откроет Алиса, зависит от значения й„ 0 или 1.

(8) Алиса выполняет это.

(9) Продавец относит денежный чек в банк.

(10) Банк проверяет свою подпись и по своей базе данных убеждается, что денежный чек с такой уникальной
строкой ранее не депонировался. Если это так, банк начисляет указанную сумму на счет продавца и запи-


сывает уникальную строку в базу данных.

(11) Если уникальная строка уже есть в базе данных, банк отказывается принять денежный чек и сравнивает идентификационную строку на денежном чеке с хранимой в базе данных. Если они совпадают, то банк убеждается, что чек был скопирован продавцом. Если идентификационные строки различны, то банк зн а-ет, что чек был скопирован человеком, который готовил этот денежный чек. Так как второй продавец, п о-лучивший чек, выдал Алисе другую, чем первый, строку-селектор, банк обнаружит, что для какой-то из позиций Алиса открыла левую половину одному продавцу, а правую - другому. Выполнив над этими п о-ловинами строки идентификации операцию XOR, банк определит личность Алисы.

Это весьма интересный протокол, поэтому посмотрим на него с разных сторон .

Может ли Алиса смошенничать? Ее электронные деньги представляют собой просто строку битов, которую она легко может скопировать. Потратить их в первый раз - не проблема, она просто выполнит протокол, и все пройдет без проблем. Продавец выдаст ей на этапе (7) случайную и-битовую строку-селектор, и Алиса откроет либо левую, либо правую половину каждой /, на этапе (8). На этапе (10) банк запишет все эти данные вместе с уникальной строкой денежного чека.

Когда она попытается использовать те же электронные деньги второй раз, продавец (тот же или иной) вы­даст ей на этапе (7) другую случайную й-битовую строку-селектор. Алиса должна выполнить этап (8), ее отказ немедленно встревожит продавца. Теперь, когда продавец приносит деньги в банк на этапе (10), банк немед­ленно заметит, что денежный чек с этой уникальной строкой уже был депонирован . Банк сравнивает открытые половины строк идентификации. Вероятность совпадения двух случайных строк-селекторов составляет один шанс из 2П, этого не случится до следующего оледенения. Теперь банк находит пару, первая половина которой была открыта в первый раз, а вторая - во второй, выполняет над этими половинами операцию XOR и извлекает имя Алисы. Так банк узнает, кто попытался воспользоваться чеком дважды .

Что этот протокол не мешает Алисе мошенничать, но ее мошенничество почти наверняка будет обнаружено . Смошенничав, Алиса не сможет сохранить в тайне свою личность. Она не может изменить ни уникальную строку, ни какую-нибудь из строк идентификации, иначе испортится банковская подпись, и продавец немедле н-но заметит это на этапе (6).

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

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

Не поможет обмануть банк и любой сговор между Алисой и продавцом . Если банк подписал денежный чек с уникальной строкой, он может быть уверен в том, что этот чек будет оплачен только один раз .

А как насчет банка? Может ли он вычислить, что денежный чек, полученный от продавца, это и есть тот с а-мый чек, который был подписан для Алисы? На этапах (2)-(5) Алиса защищена протоколом слепой подписи. Банк не сможет связать Алису и чек, даже если он полностью сохраняет запись каждой транзакции . Более того, даже объединившись, банк и продавец не смогут установить личность Алисы . Алиса может пройтись по мага­зину и, оставаясь полностью анонимной, купить то, что ей надо .

Может смошенничать Ева. Если она сможет подслушать линию связи между Алисой и продавцом, и если она сможет добраться до банка раньше продавца, она сможет первой депонировать чек . Банк примет его и, что хуже, когда продавец попытается депонировать свой чек, то он будет обвинен в мошенничестве . Если Ева укра­дет электронные деньги Алисы и успеет потратить их прежде Алисы, то в мошенничестве будет обвинена Алиса. Не существует способа помешать этому, и это является прямым следствием анонимности наличных . И Алиса, и продавец должны защищать свои биты так, как они защищали бы свои деньги .

Место этого протокола где-то между протоколом с посредником и самодостаточным протоколом . И Алиса, и продавец доверяют банку в том, что касается денег, но Алиса не должна доверять банку сведения о своих п о-купках.