Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
440-620.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
4.13 Mб
Скачать

8.7.2. Защита в электронных платежных системах

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

Общие требования

Давайте рассмотрим для начала некоторые из наиболее очевидных требований к защите моделей платежей, представленных на рис. 8.40. В системах на основе наличных денег наиболее широко распространены автоматические кассовые ма­шины (Automatic Teller Machines, ATM), или банкоматы, которые работают в кон­такте с одной из банковских баз данных. Когда Алиса хочет получить деньги в своем банке, она должна сначала аутентифицировать себя. Она может исполь­зовать специальный маркер в форме карты с магнитной полосой или чипом. Эта карта, считываемая банкоматом, защищена персональным идентификационным номером (Personal Identification Number, PIN). Алиса должна набрать свой номер PIN, после чего ATM связывается с банком. Если аутентификация оказалась ус­пешной, Алисе разрешается получить определенную сумму денег. Дополнитель­ную информацию по банкоматам и PIN можно найти в [119].

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

Использование цифровых денег в схемах, разработанных для наличных, требу­ет надежной защиты от мошенничества. В частности, нужно предотвратить воз­можность использования цифровых денег более одного раза или возможность изготовления фальшивых денег. Другими словами, мы явно нуждаемся в меха­низме обеспечения целостности.

Когда Алиса использует свои цифровые деньги, чтобы заплатить Бобу, Боб должен быть в состоянии проверить подлинность денег. Цифровые деньги счи­таются подлинными, если Боб может пойти в свой банк и положить их на счет. А банк Боба хочет быть уверен, что эти деньги «реальны» и ни Боб, ни Алиса ни­чего с ними «не накрутили». В некоторых случаях это означает, что банк Боба должен будет связаться с банком, который изначально выпустил эти деньги. За­тем последует традиционная процедура аутентификации, в ходе которой банк Боба будет аутентифицировать банк Алисы.

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

Однако можно указать на необходимость более строгих требований к защите от отказа в оплате, чем в случае систем на основе наличных денег. Так, например, стандартный способ покупки товаров через Интернет — посылка заказа с указа­нием номера кредитной карты. Хотя номер кредитной карты часто шифруется до пересылки его продавцу, он не является эквивалентом подписи на чеке или дан­ных считывания в случае платежа кредитной картой. Таким образом, относитель­но легко (теоретически) отрицать сам факт заказа. Защита от отказа в оплате мо­жет быть реализована, например, путем требования к покупателю передавать в своей части транзакции цифровую подпись.

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

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

Закрытость

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

Просто защитить платеж от любопытных глаз относительно просто — доста­точно воспользоваться стандартными методами шифрования. Трудно обеспечить анонимность. В стандартных системах платежей анонимный платеж несложен: Алиса просто передает Бобу мешок денег в обмен на купленные ей товары. Ни­каких вопросов. Алисе обычно нет необходимости знать, кто такой Боб, а Боба абсолютно не интересует, кто такая Алиса. Единственное, что имеет значение — товар и деньги.

Дело усложняется, если Алиса и Боб используют электронную платежную систему. Одна из первых вещей, которую следует рассмотреть, — это защита мик­роданных. Микроданные (microdata) — это малые элементы данных, которыми сопровождается каждая транзакция. Если собрать их вместе, они способны от­крыть одну из сторон, вовлеченных в эту транзакцию. Рассмотрим, например, анонимный платеж, в ходе которого записывается имя хоста, инициировавшего этот платеж, и время оплаты. Сравнение этой информации с записями о входах в систему позволит сразу же определить личность покупателя. Другая информа­ция, доступ к которой обычно можно получить таким образом, — это определен­ные значения атрибутов, которые постепенно приводят нас к получению полно­го профиля интересов этого человека.

На практике защита системы от нарушения закрытости состоит в том, чтобы сделать покупателя анонимным. Делать анонимным продавца обычно нет необ­ходимости. Анонимность в данном случае означает невозможность аутентифика­ции покупателя в ходе или по окончании транзакции. Иногда может быть не­обходимо опознать личность, например, в случае дискуссии. Такая ситуация называется условной анонимностью (conditional anonymity).

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

Чтобы сообразить, как скрыть от платежной системы лишние данные, рас­смотрим сначала систему на основе традиционных методов платежа [81]. Каж­дый столбец на рис. 8.42 содержит атрибут транзакции, который следовало бы скрыть. Мы выделили пять атрибутов: личность продавца, личность покупателя, дата транзакции, уплаченная сумма и информация об оплачиваемом предмете. В каждой строке указана одна из сторон, вовлеченных в транзакцию. Мы выде­ляем три стороны: продавец, покупатель и банк. Кроме того, представим себе идеально расположившегося наблюдателя (известного как Чак), который просто отслеживает происходящие транзакции. Так, например, в случае покупки това­ров в магазине Чак может быть следующим человеком в очереди.

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

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

Теперь рассмотрим традиционные транзакции с кредитными картами? Что касается сокрытия информации, несложно заметить, что абсолютно все атрибуты, перечисленные на рис. 8.42, будут видны всем участникам. Однако наблюдатель испытает некоторые затруднения при аутентификации покупателя, и вдобавок банк никогда не получит информации о том, что именно приобретено покупате­лем. Это дает нам таблицу, представленную на рис. 8.43 [81].

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]