6.9. Электронные платежи с помощью цифровых денег

 

Центральным понятием протоколов электронных платежей с помощью цифровых денег протоколов являются понятия “цифрового конверта” и подписи “вслепую”. Схемы подписи “вслепую” позволяют получать документы, подписанные претендентом, который не знает содержания самих этих документов. Если  претендентом на выставление подписи является банк, а подписываемые им документы – это чеки на предъявителя, то для нужд финансовой криптографии такие подписи обеспечивают два важных аспекта:

-      подпись банка на чеке является правильной и служит свидетельством того, что именно он заверил чек; такая подпись убедит банк в том, что именно он заверил этот чек, когда тот впоследствии будет ему предъявлен; разумеется, подпись “вслепую” обладает всеми остальными свойствами электронной цифровой подписи;

-      банк не сможет связать заверенный им чек с моментом его подписания; даже если предположить, что банк фиксирует все подписи “вслепую”, по предъявленному чеку он не сможет определить, кто и когда обратился к нему с просьбой подписать данный конкретный чек.

 

Ниже приведен базовый вариант платежной системы с цифровыми деньгами (рис. NN).

Покупатель подготавливает чек с указанной на нем суммой, которую он хочет снять со своего счета в банке. Обозначим в протоколе этот чек буквой m. Покупателю надо получить подпись на чеке, но так, чтобы банк не увидел самого чека и не смог пометить его.

Для этого покупатель подготавливает большое число чеков на нужную сумму и запечатывает их в конверты, а затем отправляет все их в банк. Банк вскрывает все конверты, кроме одного, и убеждается в корректности чеков. Тогда он подписывает последний конверт, не распечатывая его, и списывает со счета покупателя требуемую сумму. Если покупатель заранее положит во все конверты копировальную бумагу, то подпись банка автоматически окажется на чеке. Таким образом, банк подписал чек, не видя его и не имея возможности пометить. Криптографическое преобразование с использованием схемы RSA, обеспечивающее процедуру формирования конверта и подписи выглядит следующим образом. Пусть  – модуль шифрования, а  – открытый ключ банка. Покупатель генерирует столько случайных чисел , сколько конвертов он будет отсылать в банк (чем больше конвертов, тем лучше). Далее каждое  шифруется с помощью открытого ключа банка и умножается на значение чека: . Для того чтобы вскрыть каждый из конвертов, банк должен обратиться к покупателю с просьбой сообщить ему значение множителя , так как вскрытие конверта означает получение значения . Поэтому покупатель может быть уверен, что банк не сможет вскрыть ни одного конверта без его ведома. Один из конвертов банк не вскрывает, а подписывает  и отсылает назад покупателю.

Покупатель проверяет подпись банка на конверте равенством , и если оно соблюдается, то вскрывает конверт и извлекает из него подписанный чек .

Подписанный чек покупатель передает продавцу. Продавец проверяет подпись банка  и затем пересылает чек в банк.

 

Банк проверяет точно таким же образом свою собственную подпись на полученном чеке, и если она правильная, то перечисляет сумму, указанную в чеке, на счет продавца.

Из приведенного выше протокола хорошо видно, на каких именно механизмах строятся действующие платежные системы. Однако данный протокол  практически  никак  не  решает  вопросов,  связанных  с  возможностью мошенничества со стороны покупателя или продавца, например путем повторного использования полученного подписанного чека и невозможности идентифицировать мошенника и т.д. Все эти проблемы решаются некоторыми модификациями базового варианта протокола [Шна2002].

 

 

К оглавлению

Назад к разделу "6.8. Управление ключами"

Вперед к разделу "Глава 7. Анализ безопасности платежных Интернет-систем (ПИС)"