Pull to refresh

Электронные деньги

Reading time 5 min
Views 3.3K
Хотя «электронные деньги» далеко не новый термин, но так уж получилось, что широкого практического применения они пока не нашли. Исследования в этом направлении продолжаются с 1989 года, но все еще не удалось разработать идеальную систему, отвечающую всем предъявляемым к ней требованиями. И вот, сравнительно недавно, в открытой публикации появились статьитут), описывающие идею построения новых — «компактных электронных денег». Нам она показалась весьма интересной, и мы хотели бы немного о ней рассказать. Чтобы не отягощать изложение множеством технических деталей, постараемся пока вкратце описать устройство, особенности системы и указать риски.


Что же это такое?


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

В любых электронных деньгах атомарной единицей платежа является электронная монета. Она, как и бумажная купюра, содержит серийный номер и ЭЦП банка, заверяющую ее подлинность. Так же монета может содержать какую-то дополнительную информацию, в зависимости от системы. Например, различный номинал, если в системе используются монеты различного достоинства. «Электронный вес» монеты 200 байт.

Одной из особенностей же данной системы является «компактность». Электронные монеты объединяются в небольшие «кошельки», например по 100 монет. Кошелек содержит инициализирующие значения для своей сотни монет. И при этом весит порядка 250 байт. Это позволяет не только более эффективно хранить монеты, но и совершать платежи: можно оплатить целым («нераспечатанным») кошельком вместо того, чтобы последовательно выплачивать 100 монет. Целевым устройством для хранения электронных денег этой системы можно рассматривать не только КПК или коммуникатор, но и смарт-карты.


Как это работает.


У пользователя есть личный счет в банке.
  1. Подключившись к банку посредством Интернет или терминала, пользователь проходит аутентификацию для доступа к счету и запрашивает необходимую сумму.
  2. Пользователь сам генерирует необходимые электронные кошельки, содержащие инициализирующие значения для будущих серийных номеров (на 100 монет), зашифровывает кошельки по алгоритму «слепой подписи» и пересылает банку.
  3. Банк убеждается, что кошелек составлен корректно (легитимно).
  4. Банк не может узнать инициализирующего значения кошелька для серийных номеров, но может внести в него случайность, чтобы пользователь не «подбирал» себе серийные номера. После этого банк подписывает принятый кошелек, заверяя его подлинность, и пересылает обратно пользователю.
С этого момента пользователь обладает наличностью в электронном виде, хранящейся на носителе. Стоит отметить, что кошелек «привязывается» к закрытому ключу пользователя, без знания которого не удастся потратить эти деньги. Банк не знает, какие серийные номера достались пользователю.

Продавец, зная только открытый ключ банка, может самостоятельно проверить подлинность электронных монет. Таким образом, выплата может осуществляться без подключения к банку. В каждом шаге протокола выплаты:
  1. Продавец высылает каждый раз различный «вопрос» (случайное число) покупателю.
  2. Покупатель с использованием этого «вопроса», открытого ключа продавца, своего закрытого ключа, подписи банка и сгенерированного серийного номера из кошелька формирует монету, и пересылает продавцу. Только сейчас монете присваивается ее серийный номер и становится открытым, что обеспечивает анонимность пользователя.
  3. Продавец убеждается, что монета была сформирована корректно, и в случае успешной проверки принимает ее.
На самом деле для эффективности используются три более низкоуровневых протокола: выплата 1 монеты, выплата N монет и выплата «нераспечатанного» кошелька (100 монет). Но они идентичны. В случае же online взаиморасчета продавец просто выступает в качестве прокси, т.е. перенаправляет монеты в банк и получает уведомление о результате их зачисления.

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

Особенности системы.

  1. Компактность хранения монет позволяет иметь с собой наличность в достаточном количестве для повседневных расходов. Даже на смарт-картах.
  2. Одновременно достигается возможность оплаты online/offline и при этом криптографическими методами обеспечена полная анонимность пользователей системы.
  3. Даже при осуществлении взаимодействия по открытым каналам связи, перехваченную у пользователя или продавца наличность не удастся потратить или вложить на свой счет без знания секретного ключа.
  4. В реализации на КПК пользователь контролирует количество выплачиваемых денег, в отличие от кредитки.
  5. Хранение наличности в цифровом виде позволяет делать резервные копии электронных денег на случай утраты носителя.
  6. Криптография с открытым ключом требует значительно больших вычислительных ресурсов и временных затрат для взлома/подделки по сравнению с фальсификацией бумажной наличности.

Риски.


Понятно, что банковский счет всегда можно заблокировать, таким образом, пресекая возможность снятия со счета. Но более серьезный риск — это анонимное копирование и выплата, будучи в offline. Еще хуже, если неизвестный каким-то образом завладеет чужой смарт-картой с ПИН-кодом. Такова на текущем этапе развития электронных денег расплата за эффективность. Предполагаемые варианты решения:
  1. Так как базы данных монет не должны бесконечно разрастаться, то очевидна необходимость добавления временного параметра в кошелек. Снятые со счета монеты более года назад требуют обновления или депонирования обратно на счет, а монеты снятые более месяца (иного промежутка выбранного пользователем) назад не принимаются к оплате offline. В платеже online банк по базе данных может, невзирая на истекший месяц установить была ли сделана копия с монеты или нет, и принять ее. А у злоумышленника будет строго ограниченный временной промежуток, чтоб воспользоваться положением.
  2. Риски для режима offline достаточно трудно просчитать на текущий момент. Поэтому пока предполагается выплаты в этом режиме осуществлять в ограниченном сегменте платежей: общественный транспорт, газетные киоски, места небольшие кафе и.т.д.
Небольшое замечание. Идентификация пользователя осуществившего копию это не только механизм вычисления мошенников, но и основа для резервного копирования наличности. Допустим, пользователь сделал резервную копию всего кошелька в 600 монет, а после потратил 47. Вернувшись, домой за другим мобильным телефоном, пользователь восстанавит те же 600 монет. Очевидно, что 47 монет лишние. При последующих выплатах банк запросто определит эти копии и сам спишет их со счета пользователя. Баланс восстановлен.

Для опытов «вживую» мы реализовали тестовый прототип такой платежной системы с параметрами «боевой» криптографии, чтобы взглянуть на нее в работе. Выплата 4999 монет с КПК по Bluetooth занимает около 10 с.



Заключение


Система не идеальна, но уже предлагает новые функциональные возможности. Нужны ли, на Ваш взгляд, анонимные электронные деньги? Ждет ли нас подобное в перспективе? Или для повседневных расчетов надежней привычные бумажные деньги? Будем признательны услышать Ваше мнение.


P.S. Если «многобукаф» простительно, и будет интересно, то с удовольствием осветим интересующие моменты в деталях...

Tags:
Hubs:
If this publication inspired you and you want to support the author, do not hesitate to click on the button
+6
Comments 22
Comments Comments 22

Articles