Для работы с электронными деньгами разрабатываются специальные криптографические протоколы, называемые протоколами электронных платежей. Эти протоколы достаточно сложны. Ряд из них использует весьма изощренную математику. Различные протоколы электронных наличных можно разделить на несколько категорий.
Типы протоколов
Централизованные или диалоговые системы требуют, чтобы продавец связывался с банком при каждой продаже, что очень похоже на протокол для кредитных карточек. Если возникает какая-нибудь проблема, банк не принимает наличные, и Алиса не может смошенничать.
Автономные системы не требуют соединения между продавцом и банком до окончания транзакции между продавцом и покупателем. Когда деньги, наконец, будут депонированы, банк может проверить наличные и определить мошенника, если произошел обман.Эти системы не помешают Алисе мошенничать, но вместо этого обнаружат ее мошенничество, раскрывая ее личность. Алиса знает о последствиях, поэтому не делает этого.
|
|
Другой путь состоит в создании специальной интеллектуальной карты, содержащей защищенную микросхему, называемую наблюдателем. Микросхема-наблюдатель хранит мини-базу данных всех частей электронных наличных, потраченных этой интеллектуальной платой. Если бы Алиса попыталась скопировать какие-то электронные наличные и потратить их дважды, внедренная микросхема-наблюдатель обнаружила бы такую попытку и не разрешила бы транзакцию. Так как микросхема-наблюдатель защищена от вмешательства извне, Алиса не сможет стереть мини-базу данных без разрушения интеллектуальной карты. Существует достаточно большое число отличающихся друг от друга автономных протоколов электронных монет.
Основные идеи
Рассмотрим основные идеи, лежащие в основе протоколовэлектронных платежей. Участниками таких протоколов, как правило, являются три абонента: В - банк, А - покупатель и С - продавец.
Основные требования:
² безопасность всех участников;
² неотслеживаемость или анонимность платежей для покупателя. Неотслеживаемости продавца не требуется.
В платежной системе используются три основные транзакции: снятие со счета; платеж; депозит.
В транзакции снятия со счета покупатель получает подписанную банком электронную банкноту на затребованную сумму. При этом счет покупателя уменьшается на эту сумму.
В транзакции платежа покупатель передает банкноту продавцу и указывает сумму платежа. Продавец в свою очередь передает эту информацию банку до совершения покупки в диалоговых или после нее в автономных системах. Банк проверяет:
|
|
3. подлинность банкноты;
4. если банкнота подлинная, то не была ли она потрачена ранее.
Если нет, то банк заносит банкноту в специальный регистр, зачисляет требуемую сумму на счет продавца и уведомляет продавца об этом.
Далее, если достоинство банкноты выше, чем сумма платежа, возвращает покупателю «сдачу» (через продавца).
С помощью транзакции депозита покупатель может положить «сдачу» на свой счет в банке.
Безопасность банка основывается на
² невозможности подделать его подпись для создания фальшивой банкноты,
² на невозможности, получив набор подлинных электронных банкнот, подделать подпись еще хотя бы для одной банкноты.
Для неотслеживаемости покупателя необходимо, чтобы банк, получив банкноту в транзакции платежа, не мог установить, кому она была выдана. То же относится и к «сдаче». Это, казалось бы, парадоксальное требование удовлетворяется с помощью схемы так называемой слепой (затемненной) подписи: в транзакции снятия со счета банк подписывает не банкноту, а некоторую «абракадабру», из которой покупатель восстанавливает подписанную банкноту. Таким образом, неотслеживаемость гарантируется тем, что банк просто не знает, что именно он подписал.