Оба рассмотренных примера относятся к классу так называемых централизованных систем, отличительная черта которых — необходимость участия банка во всех транзакциях платежа. С точки зрения эффективности значительно привлекательнее выглядят автономные системы электронных платежей, в которых продавец самостоятельно, без обращения к банку, проверяет подлинность полученных от покупателя электронных денег. Последние, чтобы отличить автономные системы от централизованных, будем называть электронной монетой (заметим, что общепринятой терминологии здесь нет).
Как уже отмечалось выше, без обращения к банку в каждой транзакции платежа невозможно предотвратить повторную трату одной и той же электронной монеты. Вместо этого автономные системы обеспечивают идентификацию нарушителя post factum. Конструкции автономных систем электронных платежей достаточно сложны, поэтому здесь мы описываем лишь их основную идею, да и то в самых общих чертах. Наше описание предполагает использование схемы аутентификации Шнорра, но можно использовать и любую другую схему, обладающую всеми необходимыми свойствами.
|
|
Каждый клиент банка выбирает секретный ключ х, содержащий идентификатор этого клиента, и затем вычисляет открытый ключ
у = gх mod p.
Втранзакции снятия со счета клиент выбирает случайное значение k и вычисляет
r = gk mod p.
Электронная монета состоит из некоторой строки, содержащей у и r, иподписи банка для этой строки.
Основная трудность здесь состоит втом, что банк должен подписать монету затемненной подписью, но при этом убедиться в том, что монета имеет требуемую структуру.
В транзакции платежа продавец сначала проверяет подпись банка и, если она корректна, выбирает случайный запрос е, как в схеме аутентификации Шнорра, и посылает е покупателю. Последний вычисляет
s = k + ex mod q
и посылает s продавцу. Продавец проверяет правильность ответа, используя те значения у и r, которые содержатся в монете.
В транзакции депозита продавец посылает банку электронную монету, а также е и s. Если банк обнаруживает, что данная монета ужебыла потрачена ранее, то у него оказываются две различные пары (e,s) и (e',s'), удовлетворяющие проверочному соотношению в схеме Шнорра при одних и тех же у и r. Как было показано ранее, этого достаточно для того, чтобы банк смог вычислить секретный ключ х, а значит, и идентифицировать нарушителя.
Замечательное свойство автономных систем электронных платежей состоит в том, что они, с одной стороны, обеспечивают неотслеживаемость честных клиентов, а с другой — позволяют однозначно идентифицировать нарушителей. Но в таких системах банк идет на определенный риск, поскольку в момент обнаружения повторной траты электронной монеты на счету нарушителя может не оказаться суммы, достаточной для покрытия перерасхода.
|
|
В большинстве автономных систем электронные монеты могут использоваться лишь в одном платеже, после чего необходимо выполнить депозит. Если монета может использоваться во многих платежах, без промежуточных депозитов, то такая монета называется переводимой. Если бы переводимые монеты могли находиться в обращении достаточно долго, то это обеспечило бы практическую неотслеживаемость клиентов. Но с другой стороны, стало бы значительно сложнее обнаруживать повторные траты одной и той же монеты.
Еще один недостаток в том, что длина переводимой монеты возрастает с каждым ее переводом от клиента к клиенту. С интуитивной точки зрения это представляется естественным, поскольку монета должна содержать информацию, позволяющую банку идентифицировать нарушителя, потратившего монету дважды. Поэтому каждый клиент, через которого проходит монета, должен оставить на ней свои «отпечатки пальцев».