Перейти к содержанию
STONS

Безопасность

Как защищены деньги и ключи

Приватные ключи не лежат на машине, доступной из интернета: подписывает отдельный сервер, который не слушает ни одного порта.

  • Ваш серверСоздаёт счета с ключом API и получает подписанные вебхуки.
  • Платёжный серверAPI и сканер блокчейна. Только публичные ключи: выводит адреса, но подписать ничего не может.
  • Сервер подписиХранит приватные ключи. Не слушает ни одного порта и сам открывает каждое соединение.
  • БлокчейнЗдесь платят покупатели, и сюда уходят подписанные транзакции.
  • Холодное хранилищеСюда переносятся принятые средства. Его ключи офлайн, у сервиса их нет.

Ключи

  • К серверу подписи нельзя подключиться: каждое соединение он открывает сам.
  • На платёжном сервере — только расширенные публичные ключи (xpub): из них выводятся адреса, приватных ключей там нет.
  • У горячего кошелька для выплат и у хранилища разные ключи.
  • Принятые средства переносятся в холодное хранилище, ключей от которого у сервиса нет.

Куда уходят принятые средства

  • Платёж приходит на адрес, который выдал сервис, и учитывается на балансе проекта.
  • Куда переносятся принятые средства, задано в конфигурации сервера подписи: задание говорит только, откуда, какой актив и сколько.
  • Баланс не хранится числом: он всегда считается по неизменяемому журналу двойной записи.

Выплаты

  • Выплаты — с отдельного горячего кошелька и только на адреса из вайтлиста; адрес сверяется дважды: в API и на сервере подписи.
  • Баланс горячего кошелька ограничен сверху и пополняется вручную из холодного хранилища: это потолок потерь, если сервер подписи скомпрометируют.
  • Вайтлист ведёт оператор, и добавление адреса подписывается его ключом офлайн: ни API, ни кабинет добавить адрес не могут.
  • Новый адрес вайтлиста можно использовать только после задержки, по умолчанию 24 часа.
  • Адрес, у которого первые 4 и последние 4 символа совпадают с уже внесённым, блокируется до подтверждения с показом обоих адресов целиком.
  • Выплата сверх лимитов не отклоняется, а ждёт решения человека.
Подробнее: Выплаты

Адреса

  • Адрес для оплаты показывается целиком и нигде не сокращается.
  • Злоумышленники рассылают переводы с адресов с теми же первыми и последними символами, в расчёте, что человек сверит только их.
  • QR-код содержит только адрес, поэтому сумма показывается и копируется отдельно.
Подробнее: Адреса

Учётные записи и ключи API

  • Приложение-аутентификатор обязательно. Запомненное устройство входит по PIN-коду 30 дней.
  • Ключ API показывается один раз, а сервис хранит только хэш его секрета.
  • Секрет вебхуков показывается один раз, при создании проекта.
  • Кабинет показывает только проекты своей учётной записи: владение проверяет само ядро, на каждом запросе.
Подробнее: Учётные записи и ключи API

Вебхуки и редиректы

  • Вебхуки подписаны HMAC-SHA256: проверьте подпись и возьмите состояние из API.
  • Событие пишется в той же транзакции базы, что и изменение, о котором оно сообщает, поэтому сбой до отправки его не теряет.
  • Страница оплаты возвращает покупателя на ваш сайт подписанным редиректом, а товар вы отдаёте по ответу API.
Подробнее: Вебхуки и редиректы

Заведите проект и готовьте интеграцию, пока его проверяют

Регистрация открытая, платежи — после проверки проекта.