<<
>>

3.2.5. Микроплатежи

Весьма интересен специальный случай СЭП - системы микро-платежей. Микроплатежи (в узком смысле) - более эффективная форма платежей для специального случая, где один и тот же пла-тельщик делает много следующих друг за другом платежей на не- большую, чаще всего фиксированную сумму одному и тому же по-лучателю.
Реальными примерами микроплатежей являются поми-нутная или посекундная оплата телефонных разговоров по мобиль-ному телефону или карточному таксофону. Можно представить си-туацию, когда интернет-провайдер взимает со своих клиентов некоторую небольшую фиксированную плату за просмотр каждой отдельной веб-страницы или за передачу каждого блока данных фиксированного размера.

Рассмотрим модельную систему микроплатежей, построенную по чековому принципу. Идея, заложенная в ее основу, во многом подобна идее схемы Лампорта для одноразовых паролей, рассмот-ренной в подразд. 1.4.1, и заключается в следующем. Все важные параметры микроплатежей устанавливаются в первом же сообще-нии, передаваемом от плательщика к получателю платежа, которое подписывается обычным образом цифровой подписью плательщика. Все последующие сообщения от плательщика к получателю интер-претируются как подписанные плательщиком документы, свиде-тельствующие о его желании заплатить очередную фиксированную единицу оплаты за оказанную ему услугу или израсходованный ресурс (например, за очередную минуту или секунду телефонного раз-говора). В рассматриваемом примере для этого используется цепочка значений однонаправленной функции.

Первое сообщение от плательщика А к получателю В имеет сле-дующий формат:

SigskA (prot "setup - msg", seqno, В, price - per - unit, pkcJl(lin) ,

где skA - секретный ключ цифровой подписи участника A; prot - имя этого протокола платежей; «setup-msg» ~ идентификатор, показы-вающий, что это первое сообщение в протоколе; seqno - порядковый номер, позволяющий избежать повтора сообщений; В - идентификатор получателя платежа; price-per-unit - цена за единицу платежа (например, цена за минуту или секунду телефонного разговора; pkchain ~ новый сеансовый открытый ключ протокола платежей («от-крытый ключ цепи»).

Ключ pkcham формируется следующим образом. Пусть /- одно-направленная функция: лучше всего, чтобы это была однонаправленная перестановка, но практически может быть однонаправленная

3.

Системы электронных платежей 181

функция вида /: ? —> DES(k,m0), где т0 - фиксированное сообще-ние. Функция / фиксирована для протокола; {ОД}' - пространство сообщений для фиксированного параметра безопасности I. Тогда skA {0,1}', а рксШп = f*(sk), где х - максимально ожидаемое

число единиц оплаты (например, количество предварительно опла-ченных клиентом минут разговора по телефону).

Далее для каждой единицы платежа (например, по истечении очередной минуты телефонного разговора) плательщик просто посылает получателю платежа очередной прообраз из цепочки значений однонаправленной функции (рис. 3.5). Для этого плательщик должен хранить у себя значение счетчика г, установленного в 0 перед началом протокола и увеличивающееся на единицу при каждом очередном микроплатеже. Тогда в г'-м микроплатеже он пересылает

получателю величину sigf = fx"'(sk). Счетчик:

Рис. 3.5. Вычисление значений однонаправленной функции и их проверка в системе микроплатежей

Sigx Sigi+! Sigt Sigi.! f{S}g,)=SigIA

Рис. 3.5. Вычисление значений однонаправленной функции и их проверка в системе микроплатежей

Чтобы избежать повторного вычисления этой величины из skA в каждом микроплатеже, плательщик может поступить одним из двух способов. Он может хранить полную цепочку всех образов од-нонаправленной функции, но для этого потребуется большой объем памяти. Другой способ - хранить, например, каждое десятое значение из цепочки, и тогда в каждом микроплатеже ему придется вы-числять остаток цепочки от последнего сохраненного значения до

182 Запечников С. В. Криптографические протоколы и га применение

значения, соответствующего текущему значению функции. Очевид-но, что тогда эта цепочка будет иметь длину не более девяти.

Получатель платежа всегда должен хранить предыдущий прообраз , присланный ему плательщиком. В следующем микроплатеже он получает следующий прообраз Sigs из цепочки и проверяет его, используя предыдущий прообраз, следующим образом:

<< | >>
Источник: Запечников С. В.. Криптографические протоколы и их применение в финансовой и коммерческой деятельности: Учебное пособие для вузов. - М.: Горячая линия-Телеком,2007. - 320 с.. 2007

Еще по теме 3.2.5. Микроплатежи: