Скачиваний:
93
Добавлен:
18.10.2019
Размер:
14.08 Mб
Скачать

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

179

стойкости, но они администрируются независимо каждой междуна­ родной системой платежей по кредитным картам.

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

ках системы выделять удостоверяющие центры по региональному

или государственному признаку. Эти центры образуют следующий уровень иерархии. На самом нижнем уровне находятся те удостове­ ряющие центры, которые сертифицируют открытые ключи держате­ лей карт, продавцов и платежных шлюзов эквайреров.

Спецификацией SET для держателей карт и продавцов преду­ смотрены протоколы запроса сертификатов в режиме реального времени. Важно, чтобы этот процесс был максимально простым, ибо SET ориентируется на то, чтобы держатели карт имели свои собст­ венные сертификаты открытых ключей и могли совершать покупки через веб-сервис сети Интернет, используя механизм запроса серти­ фикатов, реализованный в ПО веб-браузера.

Конечно, если система позволяет легко создавать сертификаты, она должна давать возможность и легко аннулировать их при необ­ ходимости. Для этой цели в SET предусмотрены протоколы обнов­ ления и аннулирования сертификатов. Несмотря на то что механизм запроса сертификатов может быть довольно простым, тем не менее он требует от пользователей некоторого понимания общих принци­ пов его функционирования. Например, очевидно, что держателю карты следует уведомить кредито-финансовое учреждение, обслу­ живающее его кредитную карту, об утрате самой карты. Менее оче­

видно, что он также должен уведомить его и о краже своего компь­

ютера либо о факте несанкционированного доступа к его ресурсам. Если на компьютере установлена ключевая система, содержащая секретный ключ и сертификат, то это позволит злоумышленнику со­

вершать покупки за счет легального владельца карты.

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

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

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

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

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

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

нии, передаваемом от плательщика к получателю платежа, которое

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

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

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

Sigskл (prot, tr setup - msg ", зеапо, В, рпсе- per - ипи, pkrJ1(lill) '

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

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

ленная перестановка, но практически может быть однонаправленная

3.5).

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

181

функция вида f: k ~ DES(k,mo) , где то - фиксированное сообще­

ние. Функция f фиксирована для протокола; {о,1}'- пространство

сообщений для фиксированного параметра безопасности [. Тогда

skA E R {o,l}', а рkсlшifl::: fX(sk), где х - максимально ожидаемое

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

Далее ДЛЯ каждой единицы платежа (например, по истечении очередной минуты телефонного разговора) плательщик просто по­ сылает получателю платежа очередной прообраз из цепочки значе­ ний однонаправленной функции (рис. Для этого плательщик должен хранить у себя значение счетчика i, установленного в О пе­

ред началом протокола и увеличивающееся на единицу при каждом очередном микроплатеже. Тогда в i-M микроплатеже он пересылает

получателю величину sigi ::: fX-i (sk).

Счетчик: х /

---,j+~ i~i-;/---

, 1~ О

skO

О

0JSig/~:Sk)

О

0j:::

о

о

о

о

о

о

'-'---1'f ~ ~ ' -,_--1f ~ ?

Sig,;

Si~+1

Sigt

Sig;-l

 

f(Si& )=Sig,_l

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

Чтобы избежать повторного вычисления этой величины из skл

в каждом микроплатеже, плательщик может поступить одним ИЗ

двух способов. Он может хранить полную цепочку всех образов од­ нонаправленной ФУНКЦИИ, но для этого потребуется большой объем памяти. Другой способ - хранить, например, каждое десятое значе­

ние из цепочки, и тогда в каждом микроплатеже ему придется вы­

числять остаток цепочки от последнего сохраненного значения до

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

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

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

его, используя предыдущий прообраз, следующим образом:

'1

f(Sigi)~Sigi_l'

3.3. Неанонимные автономные СЭП

Как отмечалось выше, основная техническая проблема в авто­ номных платежных системах заключается в предотвращении либо обнаружении повторной траты «электронной монеты». Обычно не­ анонимные автономные СЭП дЛЯ преодоления этой сложности ис­ пользуют взломозащищенные пользовательские устройства (напри­ мер, ИК). Тогда «электронные деньги» на пользовательских устрой­ ствах не нуждаются в сложных способах представления - вместо этого на защищенном устройстве просто может содержаться балан­ совая величина счета клиента. Устройство похоже на своеобразный «карманный баню>, ведущий один электронный счет и заботящийся о том, чтобы со счетом выполнялись только разрешенные операции. Кроме физической защищенности, устройства нуждаются в реализа­ ции определенных криптографических механизмов защиты, которые будут рассмотрены далее.

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

3.3.1. Системы на основе цифровой подписи

Простейший путь реализовать неанонимные автономные СЭП - использовать схемы цифровой подписи. Для каждого защищенного

устройства D плательщика генерируется пара ключей (skо» pkD ) •

З. Системы злектронных платежей

183

Банк выдает атрибутный сертификат Сеп; для каждого pkn с атрибу­ том, подтверждающим, что данное защищенное устройство выдано банком: «this is опе 01 ту secure devices». Для операций в автоном­ ном режиме каждое устройство содержит свой собственный серти­ фикат. Баланс устройства ba1n изначально устанавливается в О. Кро­ ме того, на устройство записывается идентификатор обслуживаю­ щего его банка и сертификат открытого ключа банка. Сертификаты открытых ключей устройств и банка подписываются специально создаваемым в СЭП удостоверяющим центром либо самим банком.

Таким образом, при инициализации на каждое устройство пла­

тельщика записываются следующие данные:

D ~ ф, skD, pkD, сепь, balD: =О, В, Сегь).

Пополнение счета выполняется таким образом: устройство кли­ ента системы получает подписанное сообщение тО) от банка о том,

что он готов увеличить его баланс. Важно обеспечить «свежесть» сообщения, например, присваивая ему порядковый номер:

m(l) = Sig

.rkn

(ttinc,-ease"

,

D

,

N

 

х)

 

 

\.

 

 

В'

 

,

где skB - секретный ключ банка; «increase» -

идентификатор, пока­

зывающий, что это команда на пополнение счета; D - идентифика­ тор устройства плательщика; NB - порядковый номер, позволяющий избежать повтора сообщений; х - сумма, на которую требуется уве­ личить баланс устройства.

Для выполнения платежа с устройства плательщика Р на уст­ ройство получателя R пересылается сообщение m(2) специального

формата, содержащеев том числе сумму платежа х и атрибутный сертификатустройстваплательщика,выданныйему банком. Но для обеспечения «свежести» сообщения получатель должен предвари­ тельно сгенерироватьи переслать плательщикууникальный номер

платежнойтранзакциивместесо своим идентификатором.Передот­ правкой m(2) устройство плательщикаР уменьшаетсвой баланс на величинух. Послеполученияm(2) устройствополучателяR увеличи­

вает свой баланс на ту же величину. Это должно происходить имен­ но в таком порядке. В противном случае плательщик и получатель могли бы преднамеренно «потерять» сообщение т(2), чтобы увели­ чить свой суммарный баланс на величину х. Таким образом, прото-

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

кол, выполняемый Р и R в транзакции платежа, выглядит следую­ щим образом:

(1)R -7 Р : R, NR ,

(2)Р : balp: =balp - х,

(3)Р -7 к . m(2) = [Sig Jk/, (" pay",P,R,NR,x),Certp J.

(4)R : balR: =balR - х.

Мы не затрагиваем здесь вопросы предоставления квитанций и разрешения конфликтных ситуаций между участниками СЭП.

Рассмотренная система относится к классу СЭП с предоплатой, с отложенным депозитом. Она обладает свойством переводимости де­ нежных средств, т. е. одни и те же устройства, выдаваемые клиентам системы, могут быть использованы и для оплаты, и для получения платежей и получаемые деньги могут добавляться на тот же самый

счет, с которого выполняется оплата.

3.3.2. Системы с симметричной аутентификацией

На практике неанонимные автономные СЭП на основе цифровой подписи еще не получили широкого распространения. Вместо этого

используются системы, реализующие симметричные криптосхемы.

Это ведет к техническим проблемам, связанным с распространением секретных симметричных ключей. Возможны три подхода к распро­ странению ключей:

1. Всем устройствам пользователей СЭП выдается один и тот же ключ. Если бы все устройства на самом деле были защищенными от взлома, этот вариант был бы самым простым и удобным. Поскольку каждое сообщение содержит идентификаторы устройств отправите­ ля и получателя, пользователь несмог бы сделать два устройства с одним идентификатором и увеличивать свой баланс, посылая одно и то же сообщение каждому из них. Таким образом, проблема повтор­ ной траты монеты была бы решена. Однако ни одно устройство не

обладает такой степенью защиты, чтобы на базе этих устройств можно было построить целую СЭП и не опасаться за ее безопас­

ность, поэтому такой подход на практике не применяется.

2. Каждому устройству плательщика выдается множество клю­ чей парно-выборочной связи для взаимодействия со всеми устройст­

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

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

185

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

этому все ключи ДОЛЖНЫ храниться в готовом виде на самом уст­ ройстве. Поскольку устройств в системе может быть очень много, для хранения ключей потребуется весьма значительный объем памя­ ти. Кроме того, такой способ сильно затрудняет масштабирование системы, так как введение каждого нового устройства получателя требует записи ключей на все устройства плательщиков. По этим причинам такой способ также практически не применяется.

3. Удобным для практики является решение, представляющее собой своеобразный компромисс между первым и вторым вариан­ том. Устройства получателей - это чаще всего кассовые машины, называемые также РОS-терминалами (point-of-sale). Обычно это до­ вольно дорогие'и хорошо защищенные устройства. Они все получа­ ют один и тот же ключ К, который называют мастер-ключом. Одна­ ко устройствам плательщиков, которыми чаще всего являются ин­ теллектуальные карты, при взаимодействии с РОS-терминалами запрещено «видеть» ключ К. Вместо этого каждое из них имеет соб­ ственный ключ устройства кь. Чтобы устройства плательщика и по­ лучателя могли взаимодействовать, ключ kD вычисляется из серий­ ного номера устройства плательщика пь при помощи секретной опе-

рации, включающей мастер-ключ, например /(K,nD )-7 кь. гдеj­

однонаправленная функция (е точки зрения криптографии жела­ тельно, чтобы это была псевдослучайная функция). Следовательно, каждое устройство получателя, получив серийный номер устройства

плательщика nD, может использовать мастер-ключ для восстановле­

ния кь. Затем оба устройства могут использовать kD в качестве об­ щего секретного ключа для симметричного шифрования или аутен­ тификации сообщений.

Такое решение было одобрено в большинстве СЭП на базе ин­ теллектуальных карт (например, в универсальной платежной систе­ ме UEPS) и даже принято Европейской организациейпо стандарти­

зации в качестве стандарта «CEN Intersector Electronic Purse». У это­

го решения есть свой недостаток: очевидно, системы с мастер­ ключами, размещенными только в специализированных устройствах

получателей, не могут обладать свойством переводимости. .

186Запечников С. В. Криптографические протоколы 11'/Х примененив

3.4.Анонимные СЭП, работающие

вреальном масштабе времени

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

3.4.1. Анонимные счета

СЭП с ведением анонимных счетов во многом подобны сэр

снеанонимными счетами, за исключением того, что они не связаны

среальной идентичностью участников. Идентификаторы заменяют­

ся псевдонимами, что не позволяет установить личности участников

системы. С другой стороны, банк, обслуживающий систему, не раз­ решает понижать баланс на этих счетах ниже нулевой величины, чтобы избежать ущерба в случае «исчезновения» анонимных участ­

ников.

Рассмотрим операции в СЭП с анонимными счетами. . Открытие счета. Чтобы открыть анонимный счет, участник

СЭП просто генерирует пару ключей для схемы цифровой подписи: gensis (1) ~ (sk, pk) и пересылает открытый ключ pk в банк (pk с

этих пор и считается псевдонимом участника). Банк присваивает открываемому счету номер N и удостоверяет этот факт своей подписью, прилагая сертификат своего открытого ключа:

SigskB ("opened", N, pk ),certo.

Платеж между анонимными счетами. Получатель платежа R сообщает плательщику номер своего счета Nя- Плательщик может переслать деньги на счет получателя любым удобным способом,

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

187

принятым В СЭП, например послать в банк подписанное платежное

поручение с порядковым номером:

Sig sk (" Transfe r 11, N. N R 'seq _ по,amount) ,

где N - номер анонимного счета плательщика; NR - номер счета по­ лучателя; »еа.ло - ПОрЯДКОВЫЙ номер платежного поручения;

атоит - сумма переводимых денег.

Банк проверяет платежное поручение, используя известный ему

псевдоним плательщика, и исполняет его.

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

3.4.2. Анонимно переводимые «стандартные величины»

Термин «стандартные величины» звучит несколько странно, ес­ ли речь идет о системах электронных платежей. Но таково в перево­ де с английского языка наименование структуры данных, исполь­ зуемой для представления денежных средств, предложенное автора­ ми этой сэп (от английского standard value). Стандартная величина подобна одноразовому счету, владение которым передается через эту величину и позволяет избежать отслеживаемости платежей, ха­ рактерной для предыдущей схемы. Стандартная величина получила такое название потому, что являет собою цифровой эквивалент фик­

сированного количества денег, т. е. представляет заранее опреде­ ленную, одинаковую, «стандартную» величину. Это случайное натуральное число, которое можно представлять себе как номер «электронной банкноты», и обозначается символом v. Вообще стан­ дартные величины можно всегда представлять себе как цифровые аналоги обычных бумажных денежных банкнот определенного но­ минала (например, 10, 100 или 1000 руб.), каждая из которых имеет уникальный серийный номер, подтверждающий ее подлинность, но не позволяющий при обычных платежах установить, кем и кому она была заплачена и каков был ее дальнейший путь.

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

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

цифровой подписи: gellSig (1) ~ (sk г> pkр), а затем пересылает в

банк подписанноесекретнымключомсообщениес просьбойвыдать ему стандартнуювеличину, к которому прикладываетсвой откры-

тый ключ: Sig sk(«1 want to receive standard value»), pkp •

l'

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

формата: Sig .fklJ (V, 11 ю:, pkр), сепв . С этого момента участник Р об-

ладает стандартной величиной v.

Теперь обратимся к операции платежа:

3. Получатель платежа R выбирает новую пару ключей заранее

условленной схемы цифровой

подписи: gen,tig(I)-7 (sk R , pkR ) .

С этого момента pkR становится

псевдонимом участника. Затем он

посылает плательщику Р сообщение следующего формата: Sigsk (<<1

R

want to receive standard value v for purpose Z цпсег pseudonympkR» ).

Сообщение подписано ключом, который уже известен плательщику. Такое сообщение необходимо как предосторожность на случай раз­ бора конфликтных ситуаций и споров о факте получения денег уча­ стникомR.

4. После получения предыдущего сообщения плательщик посы-

лает в банк платежное поручение:

S'

.

zgskp (<<Transfer standard value»,v,

«to»,pk R) . Секретный ключ skp используется из ключевой пары, ко­ торую плательщик выбрал, когда получал величину v, т. е. из шага

(1)операции снятия со счета.

5.Банк отыскивает v в базе данных стандартных величин, кото­ рые он выдал участникам СЭП, и восстанавливает открытый ключ

pkp нынешнего ее владельца.

б. Банк проверяет, что присланное ему участником Р платежное

поручение корректно и подписано по отношению к открытому клю­

чу, найденному им на предыдущем шаге.