(конспект лекции)
В. Олейник, д. т. н., ас. Академик МАИ
Аудитория: Неподготовленные пользователи Интернет.
Цель: Дать общее представление о smart-технологиях и электронных платежах в Интернет.
Введение
Как известно [1] в последнее время в Интернет все больше и больше возрастает коммерческая активность. Так, если еще год-два назад она практически сводилась к маркетинговым исследованиям, изучению спроса, то сегодня компании перешли к реальным продажам.
Количество компаний в мире, занимающихся электронной коммерцией, в 1996 году составило 111 тысяч и возрастёт в 2000-м до 435 тысяч (данные Volpe Welty & Co.). При этом суммарный денежный оборот Интернет возрастет с 9.5 млрд. долларов до 196 млрд. долларов (данные Forrester Research, Inc.). Розничные продажи через Интернет вырастут с 500 млн. долларов в 1996 году до 7 млрд. долларов в 2000-м; при этом более половины покупок будет оплачено с помощью новых средств платежей. Цифры, касающиеся сектора расчетов между компаниями или операций business-to-business: 600 млн. долларов в 1996 и 66 млрд. долларов в 2000 году. Таким образом, прогнозируется не только значительное увеличение числа компаний, делающих бизнес в Интернет, и их общий оборот, но и резкое увеличение среднего оборота, приходящегося на одну компанию.
Интернет – это абсолютно новая среда для ведения бизнеса, минимально зависящая от бюрократии и монополий – основных тормозов малого бизнеса.
Бизнес в Интернет часто называют “виртуальным”, но это обычный бизнес, просто организованный некоторым образом, отличным от “реального”.
Что нужно для организации такого виртуального бизнеса? Как строятся системы, обеспечивающие электронные платежи в Интернет? Как обеспечивается безопасность расчетов?
На все эти вопросы мы попытаемся ответить в данной лекции.
От классических расчетов к электронным платежам
Рассмотрим различные схемы платежа, начиная с классической (Рис. 1), в которой деньги от покупателя непосредственно поступают к продавцу, а товар от продавца переходит к покупателю.
В этой схеме деньгами служат металлические и бумажные знаки, которые являются мерой стоимости при купле-продаже. К такой схеме мы привыкли и пользуемся ею повсеместно и поэтому она у нас не вызывает каких либо сомнений. Например, мы даже не задумываемся, почему продавец в обмен на, казалось бы “какие-то бумажки” отпускает нам товар. Другими словами, почему деньги (металлические и бумажные) выполняют свою функцию?
При ответе на эти вопросы здесь, прежде всего, необходимо заметить, что существует некоторое соглашение между государством (эмитирующим деньги), продавцами и остальными гражданами о том, что существующие денежные знаки принимаются во всех местах купли-продажи и от всех физических и юридических лиц. Деньги при этом выполняют функцию меры стоимости. Почему это возможно?
Это возможно потому, что деньги обладают вторым свойством: это невозможность их воспроизведения (подделки). Конечно, последнее утверждение является относительным, но будем считать, что металлические и бумажные деньги достаточно хорошо защищены.
Теперь рассмотрим схему, которая была первым предвестником платежей на основе кредитных карт. Эта схема (Рис. 2) включает уже три участника и использует новое средство платежа: чеки.
Рис. 1. Классическая схема платежа.
Рис. 2. Платежи с помощью чеков
При такой схеме существует “договоренность” между всеми участниками, что чеки являются равноправными средствами платежа, наравне с обычными деньгами.
Причем, для подтверждения подлинности чека используются специальные защитные меры: специальная печать, водяные знаки, номер, серия и т.д., и самое главное – подпись владельца под суммой, которая имеет юридическую силу и гарантирует, что он (владелец) не может отказаться от платежа.
Чеки выпускаются (эмитируются) конкретным банком и поэтому предъявителю гарантируется, что они будут оплачены (выкуплены).
Заметим, что преимущество данной схемы перед классической заключается в том, что она сокращает оборот наличных денег и тем самым уменьшает общие затраты на их обращение.
Далее рассмотрим упрощённую схему платежей с помощью smart –карт (Рис. 3).
Рис. 3. Упрощённая схема платежей на основе smart — карт.
В этой схеме появляется еще одно средство платежа: так называемая smart – карта. Smart – карта выпускается (эмитируется) банком и на нее записывается величина суммы денег, которые покупатель разместил в своем банке. Кроме этого карта содержит идентификаторы эмитента и покупателя, номер счета покупателя и др. служебную информацию.
При этой схеме в месте совершения сделки купли – продажи в качестве эквивалента денег используются защищённые и подписанные цифровой подписью электронные сообщения (транзакции), содержащие сумму платежа, идентификатор лица выполнившего платёж, идентификатор банка эмитента и идентификатор продавца. Транзакция передается терминалом продавца через процессинговый центр в банк и на основании неё с карт – счета покупателя переносится сумма сделки на счет продавца.
Банк не может отказаться от такой транзакции, поскольку она выполнена (подписана) smart – картой, которую выпустил (эмитировал) сам банк.
Таким образом, деньги покупателя хранятся в банке, на так называемом карт – счете и списываются банком по мере расходования их владельцем. Соответствующая отметка производится и в smart – карте во время совершения операции купли – продажи.
Карта может пополняться (кредитоваться) в банке эмитенте, при этом на карт – счет владельца заносится соответствующая сумма, которая списывается с его обычного счета в банке, либо поступает от владельца в виде наличных денег.
Важными моментами в этой схеме являются создание и защита электронных транзакций. С одной стороны они должна обеспечивать невозможность подделки транзакций злоумышленником, и с другой стороны – гарантировать, что транзакция сформированная smart – картой законного её владельца будет принята и соответствующим образом обслужена.
Здесь защита складывается из ряда “кирпичиков”, которые в целом поддерживают всю систему безопасности smart – технологий. Можно грубо выделить три основные составляющие части системы защиты, применяемой в smart – технологиях:
- Идентификация эмитента, владельца и платежного терминала продавца.
- Аутентификация (проверка подлинности) smart – карты, владельца карты и терминала продавца.
- Цифровая подпись транзакций, содержащих сумму операции, идентификатор карты, эмитента и терминала продавца.
На этих “трёх китах” стоит всё здание smart – технологий, а они сами в свою очередь базируются на использовании самых современных криптографических алгоритмов, методов и протоколов.
Ещё раз отметим, что мы рассмотрели упрощённую схему платежей с помощью smart – карт. Это упрощение сделано преднамеренно, поскольку наша основная цель – это понять, как smart – технологии могут помочь создать систему для осуществления платежей “через” Интернет, но никак не изучение самих smart – технологий.
Расчеты в Интернет
Теперь перейдем к рассмотрению схемы расчетов с использованием Интернет. По сути дела Интернет позволяет связать продавца и покупателя, находящихся в любых точках Земного шара в режиме on – line, т.е. в режиме непосредственного взаимодействия. Другими словами это можно описать так: покупатель, сидя за своим компьютером (возможно дома) видит товар или рекламу на товар, видит цену и, используя средства навигации в Интернет может выбрать для себя наиболее подходящий вариант. Далее он может, используя те же средства навигации заказать товар, предъявив при этом свою smart – карту для подписи транзакции, которая отправляется продавцу. Продавец (точнее программа обработки платежей на сервере продавца) проверяет подпись покупателя и, если она верная, то товар отправляется покупателю. Причем, если товар является некоторой информацией, то продавец просто открывает доступ к ней для покупателя непосредственно через Интернет. В случае же, когда товар является некоторой материальной вещью, то он отсылается (доставляется) покупателю другими доступными путями, например, почтой. Упрощённая схема платежей на основе smart – технологий через Интернет представлена на Рис. 4.
Рис. 4. Упрощённая схема платежей через Интернет
Для обеспечения платежей через Интернет Web – сервер продавца и Web – навигатор покупателя оснащаются специальными программными средствами, поддерживающими протоколы HTTPS (HyperText Transport Protocol Secure) и SSL (Secure Sockets Layer).
Рассмотрим более подробно схему оплаты услуг или товаров, предоставляемых через Интернет. Покупатель через свой Web – навигатор соединяется с Web – сервером продавца по защищённому протоколу HTTPS и передает свои данные с микропроцессорной карточки для аутентификации. Прикладная программа на Web – сервере продавца проверяет их, и если карточка принадлежит соответствующей платёжной системе и не внесена в стоп – лист, то Web – сервер продавца посылает запрос на списание необходимой суммы с карточки клиента. При наличии на карточке необходимых средств нужная сумма списывается, информация об этом поступает на сервер продавца и операция заканчивается. Информация, накопленная прикладной программой обработки платежей, периодически каким-либо путем (например, через закрытые каналы или в зашифрованном виде через Интернет) поступает в центр обработки транзакций соответствующей платёжной системы, после чего необходимая сумма поступает на расчетный счет продавца.
Схема расчета на основе smart – карт максимально приближает технологию расчетов через Интернет к расчетам наличными деньгами, обеспечивает высокую безопасность системы и резко снижает возможности для мошенничества.
Системы и способы расчетов в Интернет можно разделить [2] на несколько групп или видов по организации их функционирования и, следовательно, по уровню безопасности. Приведем основные виды платёжных систем Интернет.
- Обмен открытым текстом. Собственно, это не система, а самый простой способ оплаты в Интернет – с помощью кредитной карты с передачей по Интернет всей информации (номера карты, имени и адреса владельца) без каких-либо особых мер безопасности. Недостатки очевидны: информация легко может быть перехвачена с помощью специальных фильтров и использована во вред владельцу карты.
- Системы, использующие шифрование обмена. Несколько более защищенный вариант, чем предыдущий, — оплата с помощью кредитной карты, с передачей по Интернет всей информации с помощью безопасных или защищенных протоколов сеанса связи (шифрования). Хотя перехватить информацию во время транзакции практически невозможно, все же такая информация может быть похищена с сервера продавца. Существует и возможность подделки или подмены идентификатора, как продавцом, так и покупателем. Есть возможность у покупателя скачать по кредитной карте информацию, а затем отказаться от оплаты, поскольку отсутствует подпись.
- Системы с использование удостоверений. Еще один вариант использования кредитной карты в Интернет, гораздо более надёжный – это применение специальных защищённых протоколов обмена информации с использованием удостоверяющих клиента и продавца цифровых сертификатов и цифровой подписи, исключающих отказ от выполнения условий соглашения (оплаты, передачи товара, информации или оказания услуг) и “подмену” идентификатора клиента.
- Клиринговые системы Интернет. Основная идея клиринговых систем Интернет состоит в том, что клиент не должен каждый раз при покупке раскрывать свои персональные и банковские данные продавцу. Вместо этого он лишь сообщает магазину (работающему в такой системе) свой идентификатор или своё имя в этой системе, а магазин запрашивает систему и получает подтверждение или опровержение оплаты. Фактически система гарантирует оплату магазину, а клиент передает свои данные один раз с помощью хорошо защищённых протоколов или, вообще минуя Интернет (например, почтой), в систему, где они надёжно защищаются. Деньги депонируются в системе любым доступным клиенту образом. Если есть кредитная карта, то возможность расплачиваться таким способом клиент получает практически сразу после регистрации, если нет – то придётся подождать, пока деньги (переводом или по чеку) реально дойдут. Система, кроме этого, эмитирует цифровые сертификаты, подтверждающие идентификатор (т.е. удостоверяю-щие) клиента и продавца, а протокол обмена клиента с магазином использует эти сертификаты и цифровую подпись.
- Цифровые наличные (PC – вариант). Это революционный вид расчетов в Интернет. Цифровые наличные (грубо) – это очень большие числа или файлы, которые и играют роль купюр и монет. В отличие от всех вышеперечисленных систем, эти файлы и есть сами деньги, а не записи о них. В это трудно поверить, но это так. Современные методы криптографии и, прежде всего, алгоритмы слепой подписи, недавно разработанные, обеспечивают их надежную работу. Затраты на функционирование такой системы значительно меньше затрат на все прочие. К тому же отсутствие кредитной карты в схемах расчетов (а значит, и значительных затрат на оплату транзакций процессинговым компаниям) позволяет применять их для операций в самом нижнем ценовом диапазоне – меньше одного доллара (такие маленькие платежи называются микроплатежами). По общему мнению, именно микроплатежи могут обеспечить основной оборот продаж информации в Интернет. Кроме всего, цифровые наличные могут обеспечить полную анонимность, так как не несут никакой информации о клиенте, их потратившем. Вариантом цифровых наличных может быть цифровой чек.
- Цифровые наличные (вариант smart – карт). Вершиной технологической мысли в области цифровых денег являются системы цифровых наличных, основанные на использовании технологии smart – карт. Наличные цифровые деньги на базе smart – карт не только могут обеспечить необходимый уровень конфиденциальности и анонимности, но и не требуют связи с центром для подтверждения оплаты. Кто – нибудь пробовал купить с помощью кредитной карты жевательную резинку? А с помощью smart – карт можно.
Как работают цифровые наличные?
Для того чтобы понять, как работают цифровые деньги нам необходимо иметь элементарные знания в области современной криптографии. Поэтому мы рассмотрим принципы формирования цифровой подписи, которая используется для создания сертификатов и подписи транзакций. Для этого мы, прежде всего, ознакомимся с принципами криптографии с открытыми ключами.
Криптография с открытыми ключами.
Криптоалгоритмы с открытыми ключами известны также, как асимметричные криптоалгоритмы [3]. Эти алгоритмы используют два ключа: один ключ используется для шифрования сообщения, а другой для его дешифрования. Ключи так математически связаны, что данные, зашифрованные одним, могут быть расшифрованы только другим (ему парным). Каждый пользователь имеет два ключа: открытый ключ и секретный ключ. Все пользователи помещают свои открытые ключи в открытый справочник. Поскольку открытый и секретный ключ связаны математически друг с другом, любой пользователь, зашифровав открытым ключом, сообщение может быть уверен, что расшифровать его, сможет только обладатель секретного (парного ему) ключа. Здесь предполагается, что секретные ключи пользователей хранятся надежно и процесс их генерации выполняет каждый пользователь самостоятельно.
Хорошо известной системой с открытыми ключами является система RSA (авторы Rivest, Shamir и Adleman). Рассмотрим процесс обмена секретными сообщениями между пользователями A и B, использующими систему с открытыми ключами. Прежде всего, оба пользователя создают свою пару ключей:
— открытый ключ A
— секретный ключ A
и
— открытый ключ B
— секретный ключ B
Открытые ключи и помещаются в открытый справочник. Далее, если A желает передать секретное сообщение M пользователю B он находит его открытый ключ в справочнике и применяет его к тексту M. Поскольку, ключи по сути своей представляют собой некоторую функцию, то мы можем записать
,
где Y — результирующее зашифрованное сообщение M. Оно отправляется пользователю B. Для дешифрации (получения исходного сообщения M) пользователь применяет свой секретный ключ к сообщению Y:
Пользователь B для передачи секретного сообщения M пользователю A поступает аналогично, но для шифрования использует открытый ключ пользователя A — .
Система RSA.
Криптосистема RSA представляет собой блочный шифр, в котором открытый текст и шифртекст представляют собой целые числа от 0 до N-1 при некотором N. В основе системы RSA лежит функция возведения в степень в модульной арифметике, причем арифметика выполняется над составными числами.
Зная открытый текст N, M и показатель степени , можно вычислить . Функция возведения в степень является односторонней функцией с точки зрения извлечения, как корней, так и логарифмов. При некоторых значениях N, M и обратить эту функцию может оказаться очень сложно.
В системе RSA используется тот факт, что нахождение больших простых чисел (например, 200-значных) не требует сложных вычислений, а вот разложение произведения двух таких чисел оказывается вычислительно невозможным. Для того чтобы создать свой секретный и открытый ключи, пользователь A по случайному закону выбирает два больших простых числа и , перемножив которые, он получает двухсоставной модуль . В качестве своего открытого ключа он выбирает модуль и специально выбранный показатель степени , а в качестве своего секретного ключа — числа и .
Любой человек, знающий , способен выполнить процедуру зашифрования, основанную на возведении в степень по модулю . Но лишь только пользователь A, которому известны числа и , способен выполнить обратную процедуру, т.е. расшифрование.
Используя числа и , пользователь A может вычислить значение функции Эйлера , показывающее количество положительных целых чисел от 1 до , которые взаимно просты с . При
.
Величина играет большую роль в теореме Эйлера, которая говорит, что если наибольший общий делитель НОД, то
или в несколько более общей форме
.
Зная , пользователь A может вычислить такое число , что
или, что тоже самое,
e x d = k x φ (N) + 1.
Если криптограмму возвести в степень , то в результате получится открытый текст M, так как
.
Цифровая подпись на основе алгоритма RSA.
Пусть пользователи A и B обладают своими RSA ключами — и соответственно, причем ключи D являются секретными, а ключи E — открытыми. Если A желает отправить подписанное сообщение M пользователю B он выполняет следующие действия:
1) вычисляет дайджест сообщения с помощью одной из хеш-функций (например MD5)
h=MD5(M)
2) с помощью своего секретного ключа вычисляет значение
3) далее он вычисляет с помощью открытого ключа пользователя B
Полученное значение S является цифровой подписью документа M и передается вместе с ним пользователю B.
Для проверки подписи пользователь B выполняет следующие действия:
1) аналогично, как и пользователь A вычисляет дайджест сообщения с помощью одной из хеш-функций (например MD5)
h=MD5(M)
2) с помощью своего секретного ключа вычисляет
3) с помощью открытого ключа пользователя A вычисляет
4) сравнивает значения h и h’ ; если они совпадают, то подпись принимается (считается подлинной); иначе подпись отвергается.
Не трудно видеть, что данная схема позволяет защищаться от нескольких видов нарушений.
Пользователь A не может отказаться от своего сообщения, если он признает, что секретный ключ известен только ему.
Нарушитель без знания секретного ключа не может ни сформировать, ни сделать осмысленное изменение сообщения, передаваемого по линии связи.
Данная схема позволяет также при решении многих конфликтных ситуаций обходится без посредников.
Пример платежной системы в Интернет.
Для примера рассмотрим принцип работы платёжной системы в Интернет, которая носит название ecash.
Каждый пользователь, использующий ecash, имеет счет ecash в цифровом банке Интернет. Используя этот счет, клиент может снимать и вносить деньги. Ecash – это монетарная система, и это означает, что цифровые деньги создаются с помощью цифровых подписей, которые представляют определённый фиксированный объем денег. Такие цифровые подписи мы будем называть монетами.
Когда производится съем денег в ecash компьютер пользователя вычисляет необходимое количество цифровых монет и их номиналы для запрошенной суммы. Далее для монет создаются случайные серийные номера, на которые ставиться слепая подпись. Результат этих вычислений отсылается в цифровой банк.
Банк зашифровывает, скрепленные слепой подписью числа своим секретным ключом (подписывает их), и в то же время производит дебетование счета клиента на соответствующую сумму. Аутентифицированные монеты отсылаются обратно пользователю, который снимает слепую подпись, введенную ранее. Серийные номера совместно с их подписями теперь являются цифровыми монетами; их номинал гарантируется банком.
Монеты могут хранится на локальном компьютере пользователя. Теперь, когда он желает произвести платёж, его компьютер отбирает соответствующие монеты для покрытия необходимой суммы. Эти монеты отсылаются продавцу, а он в свою очередь отсылает их в цифровой банк. Банк проверяет достоверность этих монет и не были ли они потрачены раньше. Счет продавца кредитуется на соответствующую сумму. Каждая монета используется только один раз. Если пользователю необходимы новые монеты, то он их должен снова запросить в банке.
Ссылки
[1] А. Демидов, Основные виды платежных систем Internet. Мир Internet, №6(9) июнь 1997, ст. 30.
[2] П. Ефимов, Смарт — технологии в Интернет: ближайшая перспектива. Банковские технологии, июнь 1997, ст. 108.
[3] W.Diffie and M.E.Hellman, «New directions in cryptography,» IEEE Trans. Informat. Theory, vol. 1 T-22, pp.644-654, Nov. 1976.
[4] В. Олейник, «К вопросу о криптостойкости смарт-технологий», Банки и Финансы, Инф. аген.: «ИНФОТАГ», №12 (20), декабрь 1996, с.79-83.