3.5.2. СЭП с идентификацией повторной траты монеты
Идея построения такой системы заключается в том, чтобы ввести криптографический механизм, позволяющий лишать анонимности лиц, совершивЩих повторную трату монеты.
Для этого, очевидно, два платежа с одной и той же монетой (и следующие за ними де-позиты) должны давать банку больше информации о плательщике, чем один платеж. В противном случае была бы невозможна аноним-ность после одного платежа, но неанонимность после двух.Рис. S.9.
Абстрактное представление механизма идентификации повторной траты монеты
Ответы могут разгласить идентификатор плательщика только в том случае, если он как-то предварительно закодирован в монете,
Это достигается за счет применения механизма «запрос - ответ»: в каждом платеже получатель задает вопрос, на который плательщик должен дать определенный ответ. С одним таким ответом плательщик остается анонимным, но ответы на два разных вопроса идентифицируют его (рис. 3.9), т. е. обманывая, он уже сам себя наказывает.
а именно во время снятия со счета, когда банк может проверить идентификатор будущего плательщика.
Еще одна проблема связана с реализацией протокола «запрос - ответ» при платеже. Что случится, если плательщик и два получате-ля сотрудничают и объединились в коалицию против банка? Оба получателя могут направить одному плательщику одинаковые за-просы.
Банк, естественно, не может выдать одну и ту же монету обоим получателям при выполнении депозита. Возникает вопрос: как определить приоритет выдачи монеты одному из них? Можно было бы установить, что монету получает первый получатель по по-рядку обращения за депозитом в банк. Но тогда плательщик и вто-рой получатель могли бы обмануть первого получателя путем по-вторного использования его запроса и более быстрого выполнения депозита. Такой способ не годится. Следовательно, каждый запрос получателя к плательщику должен включать идентификатор получа-теля и депозит должен быть возможен только на счет этого получа-теля.Итак, мы пришли к выводу, что в СЭП необходимо ввести иден-тификаторы получателей платежей, которые в обязательном порядке включаются в каждый запрос получателя к плательщику. Теперь по-является следующий вопрос: какова должна быть структура ответов плательщика на эти запросы? Как было отмечено выше, их нужно сконструировать таким образом, чтобы один ответ плательщика ос-тавлял его анонимным, а два - уже разглашали бы его идентичность. Один возможный способ заключается в том, что в качестве первого ответа берется случайное число к, в качестве второго - величина id © к. Тогда каждый ответ по отдельности не дает никакой ин-формации об id, но оба ответа полностью разглашают id. Однако такой способ оставляет возможность только для двух запросов полу-чателей. Другой возможный способ - представлять ответ в виде ли-нейного уравнения с двумя переменными, одна из которых id, например в такой форме: cxid + с2к . Это дает большой набор воз-можных запросов, формируемых как пары (сь с2). Тогда один ответ все еще оставляет возможным любой id, тогда как два уравнения оп-ределяют обе переменные однозначно (предполагая, что уравнения линейно независимы). Аналогичная идея и используется в СЭП Брандса, которую мы будем рассматривать ниже. Только в ней каж- 202 Запечников С. В. Криптографические протоколы и их применение
дый ответ состоит из двух уравнений в четырех переменных, что позволяет использовать эффективный способ проверки корректности ответов.
Мы обозначили проблемы, которые необходимо решить в ано-нимной автономной СЭП. Рассмотрим теперь конструкцию такой системы, предложенную Брандсом.