Безопасность системы

Входной протокол "ETK.Pay" PaySystem Server (Протокол "ETK.Pay" v. 2), предназначенный для передачи информации о платежах от терминальных устройств (точек с кассиром) на сервер, использует в качестве транспорта своих сообщений протокол HTTP. С точки зрения безопасности транспорта протокол передает трафик в открытом виде, который может быть перехвачен злоумышленниками. Для обеспечения шифрования трафика предусмотрена возможность использования протокола HTTPS. Также существует возможность организации VPN-соединения между терминалом и сервером любыми доступными для этого программными средствами.

Процесс обмена
подписанными сообщениями


Процесс обмена подписанными сообщениями

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

На данный момент в системе "ETK.Pay" цифровая подпись реализована следующим образом:

  1. Вычисляется хеш тела данных по алгоритму md5;
  2. С помощью секретного ключа RSA (1024 бит) вычисляется цифровая подпись полученного хеша данных;
  3. К телу сообщения прикрепляется полученная цифровая подпись.

В момент прихода на сервер, перед тем как передать запрос на обработку системе, производится проверка подписи пакета данных. Сначала из пакета достается идентификатор точки, от имени которой был создан данный запрос. Из хранилища публичных ключей достается публичный ключ, принадлежащий этой точке, и производится проверка подписи. На данный момент система "ETK.Pay" использует для генерации хеша алгоритм MD5, а в дальнейшем возможен переход на SHA1.

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

Для организации механизма цифровой подписи сообщений нашей компанией была разработана собственная библиотека (cryptolib.dll). Она обладает функционалом, необходимым для работы системы, но не позволяет выполнить функции, которые могут скомпрометировать секретный ключ, такой как, например, механизм слепой подписи. Мы используем алгоритм RSA 1024 бит, который является некоммерческим и свободно распространяемым средством криптографической защиты и не требует определенных лицензий на его использование.

Более подробную информацию о решении проблем безопасности в системе "ETK.Pay" можно получить, ознакомившись с технической документацией, в которой данной проблематике посвящен отдельный документ.