Основная схема проверки аутентичности обновлений

При отправке уведомлений о событиях в Header запроса к серверу магазина, отправляемого сервером PayQR, добавляется PQRSecretKey, в которое прописывается кодовая фраза PayQR, указанная в личном кабинете магазина. В ответах магазина на эти запросы в Header должно быть добавлено поле PQRSecretKey с кодовой фразой магазина, указанной в личном кабинете магазина. Данные фразы генерируются автоматически, также есть возможность перегенерировать их.

Для обеспечения безопасности обмена данными между PayQR и получателем денежных средств по умолчанию платежный сервис PayQR использует входящий секретный ключ (SecretKeyIn) для направления какой-либо информации от PayQR в сторону получателя денежных средств и исходящий секретный ключ (SecretKeyOut) для направления какой-либо информации от получателя денежных средств в сторону PayQR.

Данная схема позволяет аутентифицировать отправителя сообщения и проверить аутентичность получателя сообщения, но не гарантирует целостность и аутентичность содержания запроса и ответа. Данная схема обеспечивает безопасность с применением протокола https.

Усиленная схема проверки аутентичности обновлений

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

Шаги по усилению схемы безопасности обмена данными через API PayQR:

  1. Получатель денежных средств в своем личном кабинете PayQR в разделе «Магазины» в настройках соответствующего магазина переходит на вкладку «Взаимодействие» и раскрывает группу настроек «Модернизировать схему аутентификациии шифрования (только для опытных)». Получатель денежных средств следует подсказкам личного кабинета PayQR и активирует усиленную схему безопасности на основе алгоритмов AES и RSA."
  2. С помощью любого программного обеспечения по генерации открытого и закрытого ключей по алгоритму RSA (например, PuTTYgen) получатель денежных средств генерирует свою пару RSA-ключей с длиной 2048 bit и загружает файл своего открытого ключа RSA на соответствующей странице личного кабинета PayQR. Данный RSA-ключ будет применяться PayQR в направляемых получателю денежных средств запросах.
  3. На той же странице личного кабинета PayQR получатель денежных средств скачивает открытый RSA-ключ с длиной 2048bit, принадлежащий PayQR, чтобы использовать его в своих запросах в сторону PayQR.
  4. Теперь вместо параметра PQRSecretKey в Header запросов между PayQR и получателем денежных средств будет использоваться параметр PQRCrypt, в значении которого будет содержаться зашифрованный открытым RSA-ключом той или иной стороны AES-ключ, которым зашифровано само тело того или иного запроса. денежных средств временно работает и с дефолтной схемой безопасности PayQR, основанной на двух секретных ключах, и со схемой AES+RSA, то в течение этого периода в Header запросов будет использоваться и параметр PQRSecretKey, и параметр PQRCrypt одновременно,и будет достаточно корректного значения только в одном из этих двух параметров (в любом).

Получатель денежных средств реализует работу с алгоритмами AES-256 и RSA-2048 по принципам, описанным выше, и модернизирует обработчик уведомлений от PayQR для поддержки обновленного механизма обработки запросов в обе стороны.

PayQR обращает внимание получателя денежных средств, что реализация данной специальной возможности платежного сервиса PayQR требует определенных навыков в работе с криптографическими системами. Любая ошибка в использовании алгоритмов AESили RSA, которая может возникнуть как на этапе первичной реализации схемы, так и при последующей поддержки взаимодействия между PayQR и получателем денежных средств, может привести к невозможности осуществления покупок/платежей пользователями PayQR, что негативно отразится на экономических показателях получателя денежных средств. При возникновении любых вопросов по усилению схемы безопасности в обмене данными через API PayQR получатель денежных средств обращается за консультациями на api@payqr.ru.