Как работают мобильные кошельки на примере приложения «Mir Pay»
Как известно, в 2015 году мы запустили в эксплуатацию платежную систему «Мир», и карты «Мир» в России принимаются повсеместно. Это, конечно, очень здорово, но сейчас набирает популярность использование мобильных кошельков для оплаты покупок. Согласно статистике, в 2019 году 19% всех операций составляют платежи при помощи смартфона. В 2017 году их было всего 3%. В 2018 году собственное платёжное приложение Mir Pay представила и платежная система «Мир». Mir Pay написан на Kotlin, может работать на телефонах с поддержкой NFC и операционной системой Android 6.0 и выше.

Меня зовут Богданов Валерий, я являюсь руководителем группы тестирования в команде мобильных платежей департамента информационных технологий НСПК, и я расскажу о том, как работают мобильные кошельки на примере нашего приложения Mir Pay.
Сначала рассмотрим, как работает оплата с использованием пластиковой карты. В классическом случае карта выдается держателю банком-эмитентом. При этом карта в защищенной области памяти хранит общий с эмитентом ключ MK-AC (Application Cryptogram Master Key). Во время совершения оплаты (при online-операции) карта генерирует на основе MK-AC сессионный ключ SK-AC (Application Cryptogram Session Key) и на нем, с использованием данных карты и данных об операции, полученных с терминала, генерирует криптограмму ARQC (Authorization Request Cryptogram). В основе генерации криптограммы лежит алгоритм 3DES (Triple DES). В общем случае данные по операции поступают от карты к терминалу, далее на хост банка-эквайрера (т.е. обслуживающего торговую точку), затем к платежной системе и на самом последнем этапе к банку-эмитенту (т.е. выдавшему карту) для авторизации.

Эмитент проверяет криптограмму, сгенерировав ее сам на основе данных об операции, пришедших вместе с ARQC и сравнив ее со значением из полученных данных. Банк-эмитент может одобрить или отклонить операцию по результатам анализа карточных данных, криптограммы, установленных лимитов, оценки рисков, а также других параметров.
А теперь рассмотрим, чем отличается оплата с помощью мобильного кошелька. Здесь банк-эмитент ничего держателю кошелька не выдает (кроме карты, конечно, но она непосредственного участия в оплате не принимает), вместо этого держатель карты вносит ее данные в кошелек, и она в нем «появляется», точнее не она, а специальный токен-профайл, сгенерированный на базе этой карты. Уже сейчас понятно, что организовать оплату, как в классическом случае не получится, так как в телефоне отсутствуют карточные данные и ключ эмитента MK-AC – вместо них используется токен-профайл и его специальные ключи. Перед тем как разбираться с оплатой, давайте поймем, что происходит, когда карта «добавляется» в мобильный кошелек.

Держатель карты вводит данные в приложение (1), которое передает их в зашифрованном виде (об этом чуть позже) через хосты поставщика услуг мобильного кошелька (WSP — Wallet Service Provider) в платежную систему. В случае с Mir Pay поставщиком услуг кошелька является НСПК, поэтому данные сразу попадают в платежную систему (2). Далее обработка происходит на платформе мобильных платежей (ПМП). ПМП расшифровывает данные, по номеру карты определяет, каким эмитентом она была выдана, и запрашивает у него подтверждение на возможность добавления карты в кошелек (3). В случае положительного ответа (4) для данной карты происходит процедура генерации токен-профайла (5) и отправка его на телефон (6). Таким образом, вместо карточных данных на мобильном устройстве будет храниться токен-профайл, привязанный к данной карте и данному устройству. Отметим, что преобразование токен-профайла в исходные карточные данные вне платформы мобильных платежей невозможно. После сохранения токен-профайла на устройстве пользователя Mir Pay запрашивает у ПМП (7) пачку одноразовых ключей, которые будут использоваться приложением при совершении покупки в качестве сессионных ключей, аналогичных упомянутым выше SK-AC. Как видно из названия, одноразовый ключ не может быть применен более одного раза, поэтому в процессе использования приложение Mir Pay периодически подгружает из ПМП новые порции ключей. На этом добавление карты в приложение завершается.
Теперь рассмотрим, как изменился процесс оплаты по сравнению с оплатой по пластиковой карте.

Первый этап почти такой же, только вместо данных карты используются данные токен-профайла, а криптограмма ARQC генерируется на одноразовом ключе, полученном от ПМП в качестве сессионного SK-AC. Еще одно отличие Mir Pay от пластиковых карт состоит в том, что при генерации криптограммы вместо 3DES используется более современный симметричный алгоритм блочного шифрования AES (Advanced Encryption Standard).
Далее, данные об операции так же проходят через терминал, хост банка-эквайрера и попадают в платежную систему. По номеру токена (из токен-профайла) платежная система определяет, что имеет дело не с обычной картой, а именно с токеном, и направляет операцию в ПМП для проверки криптограммы и так называемой детокенизации – превращения токена обратно в данные реальной карты. Да, криптограмма теперь проверяется не эмитентом, а ПМП, так как именно в недрах платформы генерируются те самые одноразовые ключи и токен-профайл. Далее операция с уже карточными данными направляются банку-эмитенту на авторизацию. На обратном пути – обратное преобразование.
В Mir Pay используется схема с одноразовыми ключами, но существует и другой подход – хранение одного ключа на устройстве. Такой подход требует наличия элемента безопасности на устройстве и некоторые кошельки могут его применять с учетом того, что на определенных устройствах такой элемент безопасности присутствует. В нашем случае, учитывая огромное многообразие телефонов с ОС Android это просто не достижимо. Данная специфика и объясняет выбранную схему.
Рассматривая процесс токенизации, описанный выше, можно заметить один тонкий момент: при оплате кошельком используются данные токен-профайла, однако при добавлении карты ее данные отправляются на хосты платежной системы, а эти данные являются строго конфиденциальными. Для защиты карточных данных в Mir Pay предусмотрена многоступенчатая система защиты. При запуске автоматически включается механизм контроля целостности приложения и проверки окружения, не допускающий использование подложного приложения, модифицированного посторонними лицами. В случае обнаружения существенного риска, приложение сообщает об этом пользователю и автоматически удаляет все хранимые токен-профайлы. Дополнительно результаты данных проверок анализируются еще и на стороне ПМП.
Для обмена конфиденциальными данными ПМП и Mir Pay генерируют ключевые пары и обмениваются публичными компонентами. В силу того, что мы не можем на 100% доверять встроенному хранилищу ключей, была разработана схема с хранением разных ключевых компонент в разных местах: как в ключевом хранилище, так и в оперативной памяти. То есть для инициирования мошеннической операции необходимо, во-первых, извлечь криптограммы всех этих ключей, а во-вторых их нужно еще и расшифровать! Но это не так-то просто и не особо эффективно, поскольку для проведения операций используются строго одноразовые ключи. И только после того, как Mir Pay и ПМП обменялись публичными ключами, то есть фактически создали защищенный канал, допускается передача чувствительных данных, которые шифруются крипто-стойкими алгоритмами. По этому механизму на устройство пользователя доставляются и токен-профайл, и одноразовые ключи для проведения операций, и данные по уже совершенным операциям.
Как видно из этого описания, безопасность платежей на базе мобильных кошельков не только сохраняется на уровне пластиковых карт, а в некоторых случаях даже его превосходит! Приложение Mir Pay соответствует международным и отечественным требованиям к безопасности и позволяет держателям карт «Мир» использовать мобильный телефон для оплаты, не опасаясь утечки личных данных.
На текущий момент разработка Mir Pay продолжается – выпустив в сжатые сроки первые версии, мы уже внедряем новые разработки в приложение, не забывая улучшать то, что уже сделано.
Ряд моментов требует развития, — нужно учитывать вышедшие недавно и планируемые к выпуску модели смартфонов, лишенные гуглосервисов, — перейти на российские аналоги или разработать собственное решение.
Mir Pay: как оплачивать покупки телефоном и на каких смартфонах работает

После ухода из России платежных систем Visa и MasterCard для россиян стала недоступна бесконтактная оплата с помощью Apple Pay и Google Pay — двух самых популярных способов оплаты телефоном. Хотя национальная платежная система «Мир» выпустила свой аналог еще в 2019 году, популярность сервис получил только теперь.
Рассказываем, работает ли Mir Pay без подключения к интернету, можно ли пользоваться приложением за границей и на какие устройства его можно загрузить.
Что такое Mir Pay
Mir Pay — это приложение для бесконтактной оплаты покупок телефоном. После февральских событий Apple Pay и Google Pay перестали работать с картами российских банков, поэтому аналогичный сервис платежной системы «Мир» стал одним из немногих способов сохранить привычный способ оплаты телефоном. Правда, только на смартфонах, поддерживающих технологию NFC, и с операционной системой Android версии выше 6.0. Для айфонов замены для россиян не появится из-за особенностей операционной системы Apple.
К Mir Pay можно привязать только карты платежной системы «Мир», в том числе кобейджинговые (например, армянскую ArCa плюс «Мир»), а также транспортные карты — петербургский «Подорожник», московскую «Тройку» и другие.
Оплачивать покупки с помощью Mir Pay безопасно. Во-первых, разработчик сервиса обслуживает и саму платежную систему «Мир», поэтому все банковские данные остаются в пределах одной системы. Реквизиты карты не хранятся на телефоне. Вместо использования номера карты приложение формирует специальный цифровой код — токен. Также приложение просит установить дополнительный барьер — вход по отпечатку пальца или отдельному паролю.
Как установить и начать пользоваться Mir Pay
Смартфоны на Android
Чтобы начать пользоваться приложением, вам понадобится не больше 10 минут, а весь процесс можно разделить на несколько простых шагов:
- Установка. Чтобы скачать и начать оплачивать покупки с помощью Mir Pay на смартфонах с Android, зайдите в каталог приложений Google Play и в поиске найдите Mir Pay.
- Привязка карты. После того как приложение загрузится на телефон, нужно отсканировать любую карту с «Миром» либо ввести ее реквизиты вручную.
- Согласие и активация. Приложение попросит согласиться с правилами пользования, далее нужно активировать карту через банк — ввести код из пуш-уведомления или СМС от банка. Вводите код, это безопасно.
Mir Pay для смартфонов Huawei
Устройства хоть и работают на Android с фирменной оболочкой от производителя, каталог приложений Google Play на этих смартфонах недоступен, поэтому у Huawei свой маркет — AppGallery. Там же в поиске нужно найти Mir Pay и установить приложение. Далее алгоритм тот же — отсканировать карту либо ввести ее реквизиты, дать согласие на правила пользования сервисом.
Доступен ли Mir Pay на айфонах?
Как происходит процесс оплаты
Чтобы оплатить покупки с помощью Mir Pay, нужно разблокировать телефон либо войти в приложение и, выбрав нужную карту, поднести устройство к терминалу оплаты. Если оплата прошла успешно, на экране появится зеленая галочка и характерный звук. В случае ошибки телефон завибрирует, а на экране вы увидите красный знак. Пароль вводить на терминале, как правило, не требуется независимо от суммы покупки.
Оплата телефоном возможна из-за встроенного в телефон специального модуля — чипа NFC. Он же установлен на других устройствах и банковских картах, которые поддерживают бесконтактную оплату. Технология срабатывает, когда два устройства находятся на расстоянии не более 10 см друг от друга. Чип передает платежные данные пользователя в зашифрованном виде от приложения Mir Pay, которое в свою очередь через платежную систему «Мир» взаимодействует с продавцом при проведении трансакции.
Можно ли оплачивать Mir Pay, если нет доступа к интернету?
Можно ли снять наличные, используя Mir Pay
Да. Бесконтактно снимать наличные можно в банкоматах с функцией NFC. Приведем пример с картой банка «Тинькофф»: приложите смартфон к сканеру банкомата, разблокируйте гаджет, введите ПИН-код от карты, выберите функцию «Снять наличные».
Банки-участники, которые поддерживают Mir Pay
Привязать к Mir Pay можно карты всех лицензированных регулятором российских банков. Проверить свою финансовую организацию можно на сайте приложения в поиске по названию банка.
Оформить карту с платежной системой «Мир» можно в финансовом маркетплейсе Банки.ру. Мастер подбора карт поможет найти нужное предложение с выгодными условиями обслуживания и высоким кэшбэком.
Где принимают оплату с помощью Mir Pay
Оплату с помощью Mir Pay принимают в любых терминалах, где принимают бесконтактные карты «Мир». Сейчас в списке больше 40 банков, в том числе крупные банки: Сбер, «Тинькофф», Почта Банк, ВТБ, Альфа-Банк и другие.
Почему может не проходить оплата через Mir Pay
Если при оплате возникает ошибка, это значит, что терминал не принимает бесконтактную оплату платежной системы «Мир». На экране телефона появится ошибка. Также это может быть техническим сбоем — приложение активно развивается, но ошибок избежать пока не получается. В этом случае попробуйте перезагрузить телефон, а если есть больше времени — удалите приложение и загрузите его снова. Чтобы избежать такой ситуации, обновляйте Mir Pay на смартфоне каждый раз, когда разработчики выпускают новую версию.
Можно ли использовать Mir Pay за границей?
До февральских событий картой «Мир» можно было платить в терминалах банков 11 стран, но вначале банки Турции, а позже и финансовые учреждения стран СНГ перестали работать с российской платежной системой. Все из-за угроз вторичных санкций со стороны США и ЕС. Сейчас карты российской платежной системы принимают в следующих странах:
- Абхазия
- Армения
- Белоруссия
- Вьетнам
- Казахстан
- Киргизия
- Куба
- Южная Осетия
Актуальное обновление материала о платежной системе «Мир» за пределами России — здесь.
Часто задаваемые вопросы
Поддерживает ли Mir Pay карты платежных системы MasterCard и Visa?
Нет. Во-первых, это приложение исключительно для платежной системы «Мир». Во-вторых, MasterCard и Visa больше не работают в России, поэтому выпущенные российскими банками карты этих платежных систем нельзя привязать ни к Apple Pay, ни к Google Pay, ни к Samsung Pay.
Можно ли привязать несколько карт «Мир» к Mir Pay?
Ограничений по числу подключаемых карт у приложения нет.
Работает ли Mir Pay в Крыму?
В Крыму Mir Pay работает со всеми устройствами, которые принимают бесконтактную оплату.
Можно ли оплачивать метро через Mir Pay?
Да, это возможно. Причем оплачивать можно не только метро, но и любой общественный транспорт, где есть валидаторы, которые принимают банковские карты. Никаких дополнительных действий не нужно — телефон просто прикладывается к считывающему устройству.