Бонус за подтверждение телефона

Материалы и компонентная база механизма верификации
Бонус за подтверждение телефона в экосистеме Gaminator базируется на серверном модуле двухфакторной аутентификации (2FA). Ядро системы — это связка из SIP-стека Asterisk (версия 16+, оптимизированная под низкую задержку) и проприетарного шлюза коротких сообщений (SMS-C), работающего на протоколе SMPP 3.4. Физически оборудование размещается на выделенных серверах с аппаратным шифрованием через TPM 2.0, что гарантирует неизменность контрольных сумм при генерации одноразовых кодов (OTP). В качестве альтернативы Soft-OTP (TOTP по RFC 6238) в системе Gaminator применяется исключительно алгоритм HOTP (HMAC-SHA1), где счётчик событий жёстко привязан к уникальному идентификатору сессии пользователя — это исключает рассинхронизацию при параллельных запросах.
Спецификации интеграции и отличия от аналогов
В отличие от классических промо-акций, где используется статический бонусный код (подход большинства конкурентов), система Gaminator внедряет динамическую верификацию на уровне сетевого стека. Каждый запрос на получение бонуса проверяется по трём параметрам: MT (mobile terminated) статус доставки, временная метка с точностью до микросекунды (RFC 3339) и HMAC-подпись пакета. Ключевое отличие от решений других платформ — отсутствие кэширования OTP на клиентской стороне: код существует ровно 90 секунд в RAM-буфере сервера, после чего сегмент памяти мгновенно перетирается нулями. Из технических материалов используется сертифицированный FIPS 140-2 Level 2 криптомодуль для генерации seed-значений. Протокол передачи данных исключает использование HTTP для отправки кода — применяется только SIP MESSAGE с DTLS 1.3 поверх UDP, что снижает вероятность перехвата на 37% по сравнению с HTTPS-аналогами.
Производственный процесс и контроль качества
Развёртывание бонусного триггера «подтверждение телефона» регламентируется внутренним стандартом QC-GAM-2026. Каждый цикл производства бонусного события проходит через три стадии юнит-тестов: нагрузочное тестирование при 10 000 одновременных запросов (LTT), проверка целостности цепочки логов в ELK-стеке (индексация с retention 365 дней) и пентест на SQL-инъекции и SSRF-уязвимости при обработке параметра phone. Все серверные компоненты дублируются по схеме активный-активный. В случае падения основного SMA (short message aggregator) переключение на резервный шлюз происходит за 1.4 секунды без потери пакетов — это требования уровня reliability 99.999% (Five Nines). Для конефликтов по тайм-аутам используется паттерн Circuit Breaker с порогом 3% ошибок доставки. Контроль качества включает регулярный аудит логов на предмет несоответствия длины OTP (строго 6 цифр) и проверку jitter в DPD (data packet delay) — предельное значение 150 мс.
Технические ограничения и пределы реализации
- Максимальная частота запросов с одного IP: 1 запрос / 120 секунд (ограничение в Nginx sb_limit_conn).
- Требования к формату номера: полный международный формат E.164, код страны строго из префиксов +7, +375, +380 (основные регионы Gaminator).
- Размер бонуса технически вычисляется как floor( balance * rand(0.1; 0.3) ), где rand использует cryptographically secure PRNG (ChaCha20).
- Время жизни сессии после подтверждения: 24 часа (автоматический сброс через CRON-задачу с проверкой по Unix timestamp).
- Поддержка виртуальных номеров (DID) исключена: система сверяет MNC/MCC код с базой реальных операторов через HLR-запрос.
Добавлено: 10.05.2026
