Архитектура TOTP Service

Сервис CardsMobile TOTP предназначен для аутентификации мобильных карт лояльности, выпускаемых в мобильном приложении партнера на базе ОС Android / iOS.

Для аутентификации карты в системе эмитента используется механизм Time-Based One Time Password (TOTP): при предъявлении карты приложение формирует одноразовый временный пароль на основе номера карты. Временный пароль выводится на экран приложения в виде штрих-кода или текста, который считывается кассовым ПО и передается на сервер эмитента для аутентификации карты.

Решение использует клиент-серверную архитектуру. Клиентская и серверная части сервиса интегрируются партнером в соответствии с документацией CardsMobile Developer Zone:

Архитектура решения на базе сервиса CardsMobile TOTP Service

Mobile Application

Мобильное приложение партнера (Android / iOS).

  • Получает точное время от Time Service

  • Получает текущую ревизию конфигурации сервиса от Configuration Revision

  • Отображает на экране одноразовый пароль TOTP

CardsMobile TOTP Generator

Класс TotpCodeGenerator, реализующий генерацию одноразового пароля. Интегрируется партнером в мобильное приложение.

  • Формирует и передает мобильному приложению одноразовый пароль TOTP при предъявлении карты на кассе

  • Получает и обновляет конфигурацию сервиса

Proxy

Прокси-сервер, разворачиваемый партнером в зоне DMZ. Реализация — на усмотрение партнера, исходя из внутренних требований информационной безопасности.

CardsMobile TOTP Service

Серверный компонент сервиса (Java-приложение), поставляемый CardsMobile и развертываемый на хосте партнера.

  • Выполняет валидацию паролей TOTP

  • Синхронизирован с мобильным приложением через Time Service

Требования к развертыванию TOTP Service:

  • Java 8

  • СУБД PostgreSQL 9.3 (и выше)

Time Service

Сервис точного времени (компоненты решения должны использовать единое время, синхронизированное со службами точного времени). Реализация сервиса — на усмотрение партнера. В частности, это может быть простой сервис, получающий точное время от локального NTP-сервера.

  • Возвращает мобильному приложению текущее время в миллисекундах

Configuration Revision

Сервис, передающий по запросу номер ревизии конфигурации сервиса TOTP. Реализация сервиса — на усмотрение партнера.

  • Возвращает мобильному приложению текущий номер ревизии конфигурации сервиса