Безопасность электронной коммерции

Широкое внедрение Интернета не могло не отразиться на развитии электронного бизнеса.

Одним из видов электронного бизнеса считается электронная коммерция. В соответствии с документами ООН, бизнес признается электронным, если хотя бы две его составляющие из четырех (производство товара или услуги, маркетинг, доставка и расчеты) осуществляются с помощью Интернета. Поэтому в такой интерпретации обычно полагают, что покупка относится к электронной коммерции, если, как минимум, маркетинг (организация спроса) и расчеты производятся средствами Интернета. Более узкая трактовка понятия "электронная коммерция" характеризует системы безналичных расчетов на основе пластиковых карт.

Ключевым вопросом для внедрения электронной коммерции является безопасность.

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

Приведем классификацию возможных типов мошенничества в электронной коммерции:

Протокол SSL

Протокол SSL (Secure Socket Layer) был разработан американской компанией Netscape Communications. SSL обеспечивает защиту данных между сервисными протоколами (такими как HTTP, NNTP, FTP и т.д.) и транспортными протоколами (TCP/IP) с помощью современной криптографии в соединениях "точка-точка". Ранее можно было без особых технических ухищрений просматривать данные, которыми обмениваются между собой клиенты и серверы. Был даже придуман специальный термин для этого - "sniffer".

Протокол SSL предназначен для решения традиционных задач обеспечения защиты информационного взаимодействия:

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

Конфиденциальность информации, передаваемой по установленному защищенному соединению, обеспечивается путем шифрования потока данных на сформированном общем ключе с использованием симметричных криптографических алгоритмов (например, RC4_128, RC4_40, RC2_128, RC2_40, DES40 и др.). Контроль целостности передаваемых блоков данных производится за счет использования так называемых кодов аутентификации сообщений (Message Autentification Code, или MAC), вычисляемых с помощью хэш-функций (например MD5).

Протокол SSL включает два этапа взаимодействия сторон защищаемого соединения:

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

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

Наиболее распространенным пакетом программ для поддержки SSL является SSLeay. Он содержит исходный код на C, который может быть встроен в такие приложения, как Telnet и FTP.

В SSL используется криптография с открытым (публичным) ключом, также известная как асимметричная криптография. Она использует два ключа: один - для шифрования, другой - для расшифровывания сообщения. Два ключа математически связаны таким образом, что данные, зашифрованные с использованием одного ключа, могут быть расшифрованы только с использованием другого, парного первому. Каждый пользователь имеет два ключа - открытый и секретный (приватный). Пользователь делает доступным открытый ключ любому корреспонденту сети. Пользователь и любой корреспондент, имеющий открытый ключ, могут быть уверены, что данные, зашифрованные с помощью открытого ключа, могут быть расшифрованы только с использованием секретного ключа.

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

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

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

Сертификат "подписывается" приватным ключом человека (или организации), который выпускает сертификаты. Организации, которые производят подобные операции называются Certificate authority (CA). Если в стандартном Web-браузере, который поддерживает SSL, зайти в раздел security, то там можно увидеть список известных организаций, которые "подписывают" сертификаты. Технически создать свою собственную CA достаточно просто, но также необходимо уладить юридическую сторону дела, и с этим могут возникнуть серьезные проблемы.

SSL на сегодня является наиболее распространенным протоколом, используемым при построении систем электронной коммерции. С его помощью осуществляется 99% всех транзакций. Широкое распространение SSL объясняется в первую очередь тем, что он является составной частью всех браузеров и Web-серверов. Другое достоинство SSL - простота протокола и высокая скорость реализации транзакции.

В то же время, SSL обладает рядом существенных недостатков:

Протокол SET

Другой протокол безопасных транзакций в Интернете - SET (Security Electronics Transaction). SET основан на использовании цифровых сертификатов по стандарту Х.509.

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

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

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

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

В связи с перечисленными выше проблемами компании VISA и MasterCard вместе с другими компаниями, занимающимися техническими вопросами (например IBM, которая является ключевым разработчиком в развитии протокола SET), определили спецификацию и набор протоколов стандарта SET. Эта открытая спецификация очень быстро стала де-факто стандартом для электронной коммерции. В этой спецификации шифрование информации обеспечивает ее конфиденциальность. Цифровая подпись и сертификаты обеспечивают идентификацию и аутентификацию (проверку подлинности) участников транзакций. Цифровая подпись также используется для обеспечения целостности данных. Открытый набор протоколов используется для обеспечения взаимодействия между реализациями разных производителей.

SET обеспечивает следующие специальные требования защиты операций электронной коммерции:

Основное преимущество SET перед многими существующими системами обеспечения информационной безопасности заключается в использовании цифровых сертификатов (стандарт X.509, версия 3), которые ассоциируют держателя карточки, продавца и банк продавца с рядом банковских учреждений платежных систем VISA и MasterCard.

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

Кстати, совместный проект, реализованный компаниями IBM, Chase Manhattan Bank USA N.A., First Data Corporation, GlobeSet, MasterCard и Wal-Mart позволяет владельцам карточек Wal-Mart MasterCard, выпущенных банком Chase, приобретать товары на сайте Wal-Mart Online, который является одним из крупнейших узлов электронной коммерции США.

Рассмотрим более детально процесс взаимодействия участников платежной операции в соответствии со спецификацией SET, представленный на рисунке с сайта компании IBM:

Схема

На рисунке:

Взаимоотношения участников операции показаны на рисунке непрерывными линиями (взаимодействия описанные стандартом или протоколом SET) и пунктирными линиями (некоторые возможные операции).

Динамика взаимоотношений и информационных потоков в соответствии со спецификацией стандарта SET включает следующие действия :

  1. Участники запрашивают и получают сертификаты от сертифицирующей организации.
  2. Владелец пластиковой карточки просматривает электронный каталог, выбирает товары и посылает заказ продавцу.
  3. Продавец предъявляет свой сертификат владельцу карточки в качестве удостоверения.
  4. Владелец карточки предъявляет свой сертификат продавцу.
  5. Продавец запрашивает у платежного шлюза выполнение операции проверки. Шлюз сверяет предоставленную информацию с информацией банка, выпустившего электронную карточку.
  6. После проверки платежный шлюз возвращает результаты продавцу.
  7. Некоторое время спустя, продавец требует у платежного шлюза выполнить одну или более финансовых операций. Шлюз посылает запрос на перевод определенной суммы из банка покупателя в банк продавца.

Представленная схема взаимодействия подкрепляется в части информационной безопасности спецификацией Chip Electronic Commerce, созданной для использования смарт-карточек стандарта EMV в Интернете (www.emvco.com). Ее разработали Europay, MasterCard и VISA. Сочетание стандарта на микропроцессор EMV и протокола SET дает беспрецедентный уровень безопасности на всех этапах транзакции.

Компания "Росбизнесконсалтинг" 20 июня 2000 г. поместила на своем сайте сообщение о том, что одна из крупнейших мировых платежных систем VISA обнародовала 19 июня 2000 г. свои инициативы в области безопасности электронной коммерции. По словам представителей системы, эти шаги призваны сделать покупки в Интернете безопаснее для покупателей и продавцов. VISA полагает, что внедрение новых инициатив позволит сократить количество споров по транзакциям в Интернете на 50%. Инициатива состоит из двух основных частей. Первая часть - это Программа аутентификации платежей (Payment Authentication Program), которая разработана для снижения риска неавторизованного использования счета держателя карточки и улучшения сервиса для покупателей и продавцов в Интернете. Вторая - это Глобальная программа защиты данных (Global Data Security Program), цель которой - создать стандарты безопасности для компаний электронной коммерции по защите данных о карточках и их держателях.

Сравнительные характеристики протоколов SSL и SET

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

Итак, рассмотрим важнейшую функцию аутентификации (проверки подлинности) в виртуальном мире, где отсутствуют привычные физические контакты. SSL обеспечивает только двухточечное взаимодействие. Мы помним, что, в процесс транзакции кредитной карточки вовлечены, по крайней мере, четыре стороны: потребитель, продавец, банк-эмитент и банк-получатель. SET требует аутентификации от всех участвующих в транзакции сторон.

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

Следует добавить, что, используя SSL, потребители подвергаются риску раскрытия реквизитов своих пластиковых карточек продавцу.

Внедрение и эксплуатация SET осуществляется много лет в нескольких десятках проектов во всем мире. Например, первая транзакция SET была проведена 30-го декабря 1996 в PBS (Датский банк) в совместном проекте IBM и MasterCard. Аналогичная работа проведена в 1997 г. в крупнейшем японском банке Fuji Bank, где пришлось адаптировать протокол к специфическому японскому законодательству. За прошедшее время подобные внедренческие проекты позволили отработать функции протокола и соответствующую документацию.

Кстати, IBM имеет полный набор продуктов, который охватывает все ключевые аспекты комплексного использования SET в целом и обеспечивает развитую инфраструктуру:

SET функционирует на разных вычислительных платформах таких компаний, как IBM, Hewlett Packard, Sun Microsystems и Microsoft.

В свою очередь SSL используется в основном в Web-приложениях и для защиты коммуникаций в Интернете. Существует также свободно распространяемая версия SSL, называемая SSLeay. Она содержит исходный код на C, который может быть встроен в такие приложения, как Telnet и FTP. Благодаря этим качествам SSL получил широкое распространение в корпоративных интранет-сетях и в системах с небольшим количеством пользователей.

Несмотря на технологическое совершенство протокола SET, его использование в мире весьма ограничено. Тому имеется множество причин, решающей среди которых является высокая стоимость внедрения системы электронной коммерции на базе протокола SET (стоимость SET-решения колеблется от $600 до 1500 тыс.).

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

Эксперты и разработчики протокола SET ошиблись, предсказывая быстрое и повсеместное внедрение этого стандарта. Более того, ведутся настойчивые разговоры о том, что протокол SET уже является вчерашним днем и его шансы на выживание ничтожны.

Такие разговоры начались еще летом 2000г., когда VISA International сделала заявление, в соответствии с которым протокол 3D SET (разновидность SET) становится стандартом для стран Евросоюза, Латинской Америки и некоторых других европейских стран, включая Россию. В то же время на самом крупном американском рынке в качестве стандарта был провозглашен протокол 3D SSL (другое название протокола - 3D Payer).

Глава российского представительства Visa Int. Лу Наумовский согласен с тем, что SET не нашел спроса:

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

В мае 2001 г. были опубликованы спецификации на стандарт 3D Secure, претендующий на роль глобального стандарта аутентификации в платежной системе Visa. По решению Европейского союза в июле 2002 г. все интернет-магазины получили идентификацию на уровне этого протокола. Следовательно, банк-эквайрер таких интернет-магазинов должен иметь возможность предоставить им этот протокол. В случае отсутствия 3D Secure всю ответственность при спорных трансакциях несет он сам. Если он использует 3D Secure, а банк-эмитент нет, то ответственность берет на себя последний.

Принцип работы 3D Secure в том, что есть три различных домена - банка-эмитента, интернет-магазина и Visa, через домен которой идет сообщение между покупателем, продавцом и банками. Очень важно, что все сообщения идут через интернет. При этом Visa обеспечивает конфиденциальность информации. После того как покупатель нажимает на интернет-странице на лозунг Verified by Visa и вводит свой пароль, эта информация идет к банку-эмитенту и происходит идентификация. Банк-эмитент через домен Visa отправляет запрос в интернет-магазин, после чего этот магазин идентифицируется своим банком-эквайрером. Таким образом, данные держателя карты известны только банку-эмитенту. В то же время владелец карты уверен в том, что данный магазин имеет Verified by Visa, то есть сертифицирован Visa через банк-эквайрер. В том случае, если банк-эмитент не получит от домена Visa подтверждения, что магазин имеет Verified by Visa, транзакция не произойдет.

Конечно, владелец карты может сделать покупки и в других, не имеющих статуса Verified by Visa, интернет-магазинах. Тогда ответственность по спорным сделкам несет банк-эмитент, и он должен будет предупреждать своих клиентов об этом.

Литература:
Описание протокола HTTPS (SSL)

Оглавление


© Колесников Дмитрий Геннадьевич Rambler's Top100 Учебник по СайтоСтроению

У нас разработка сайтов под ключ Киев СНГ