125 Кібербезпека / 5 Курс / 5.2_Методи побудови і аналізу криптосистем / Література / пiдручник
.pdfЗ. Системы электронных платежей |
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. Системы электронныхплатежей |
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л
в каждом микроплатеже, плательщик может поступить одним ИЗ
двух способов. Он может хранить полную цепочку всех образов од нонаправленной ФУНКЦИИ, но для этого потребуется большой объем памяти. Другой способ - хранить, например, каждое десятое значе
ние из цепочки, и тогда в каждом микроплатеже ему придется вы
числять остаток цепочки от последнего сохраненного значения до
З. Системы злектронных платежей |
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), чтобы увели чить свой суммарный баланс на величину х. Таким образом, прото-
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 руб.), каждая из которых имеет уникальный серийный номер, подтверждающий ее подлинность, но не позволяющий при обычных платежах установить, кем и кому она была заплачена и каков был ее дальнейший путь.