Отзывы

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

Luba Hornung,
ICL Systems, IT manager
www.iclsystems.com

Avactis Shopping Cart – Payment Modules

Avactis Shopping Cart – Payments Modules – набор модулей предназначенных для проведения платежей кредитными картами в платформе создания интернет магазинов Avactis. Эти модули обеспечивают взаимодействие интернет магазинов с платежными шлюзами. Проект разрабатывался в соответствии с современными требованиями безопасности и соответствует стандарту защиты информации в индустрии платежных карт PCI DSS, разработанный международными платежными системами Visa и Master Card.

Заказчики:
Pentasoft Ltd.

Отрасль:
Web, Online store, eCommerce solutions.

ПРОБЛЕМА:

Удобство использования и обширная функциональность имеет первостепенное значение для любой программной системы. В соответствии с современными представлениями интернет магазин должен позволять пользователем производить оплату товаров различным способами. Оплата кредитными картами является наиболее удобной для достаточно большого количества пользователей. Payments Modules – проект, целью которой является обеспечение возможности оплаты кредитными картами в интернет магазинах на платформе Avactis.

РЕШЕНИЕ:

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

Общее описание:
Payments Modules предназначены для обеспечения возможности оплаты кредитными картами посетителями интернет магазинов Avactis. Для решения этой задачи было организовано взаимодействие с платежными шлюзами. Наибольшее значение при этом имеет безопасность персональной информации пользователя.

Все модули можно разделить на три группы: Direct, Redirect и Offline модули работы с кредитными картами.

Direct и Redirect модули выполняют прямое взаимодействие с платежным шлюзом во время создания заказа и не сохраняют никакой персональной информации о плательщике в базе данных. Вся информация передается к платежному шлюзу по защищенному каналу (HTTPS).

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

Direct модули выполняют сбор персональной информации плательщика на сайте магазина. На последнем шаге процесса оформления покупки (checkout process), когда собрана вся информация для совершения платежа, такой модуль выполняет фоновый HTTPS запрос на сервер платежного шлюза. В ответе сервера находится информация о проведенной транзакции.

Вся собранная Direct модулем информация шифруется алгоритмом Blowfish и хранится в сессии пользователя. Секретный ключ генерируется случайным образом для каждого пользователя и хранится только в GET параметрах HTTPS запроса. Таким образом обеспечивается физическое разделение зашифрованных данных и секретного ключа.

Offline credit card processing модуль не взаимодействует ни с одним платежным шлюзом, а только сохраняет информацию о плательщике в базе данных для последующей обработки. Информация сохраняется в зашифрованном виде. Используется алгоритм асинхронного шифрования RSA 512 (или 1024). Для просмотра данных кредитной карты пользователю необходимо каждый раз загружать свой закрытый ключ с персонального компьютера. Закрытый ключ генерируется системой Avactis во время активации Offline credit card processing модуля и сохраняется только на персональном компьютере пользователя. Таким образом, никто, включая разработчиков Avactis, не сможет увидеть информацию о кредитной карте пользователя. Даже если кто-то получит доступ к базе данных, ему потребуются годы для расшифровки данных.

Avactis Payments Modules спроектированы в полном соответствии со стандартом защиты информации в индустрии платежных карт PCI DSS. (Существует шесть категорий соответствия стандарту PCI).

Для обеспечения безопасности нами были разработаны следующие решения:

  • Для обеспечения сетевой безопасности на Avactis серверах установлено проверенное временем программное обеспечение: Cent OS, Plesk, Advanced Policy Firewall, Rootkit Hunter. Выполняется постоянный контроль и мониторинг состояния серверов.
  • Персональная информация владельцев кредитных карт шифруются алгоритмом RSA. Закрытый ключ хранится только у администратора магазина на локальном PC. Для временного хранения информация шифруются алгоритмом Blowfish. Секретный ключ передается только через GET параметры HTTPS запроса.
  • Для просмотра информации о кредитных картах, администратор должен каждый раз загружать закрытый ключ со своего персонального компьютера. После загрузки ключа, данные расшифровываются, отображаются на странице, ключ удаляется (т.е. нигде на сервере не сохраняется). Вся эта операция выполнятся по протоколу HTTPS, что исключает перехват данных.
  • Все операции по расшифровке персональной информации владельца карты записываются в журнал приложения. Администратор всегда может видеть отчет о фактах просмотра персональной информации.

Платформа:
Web
Avactis Shopping Cart

Основные используемые технологии и библиотеки:
PHP, MySQL, Apache, curl, openssl, gmp.