Как часто вы используете бумажные деньги и монеты, чтобы оплатить товары и услуги? Прогресс дошел до такого уровня, что появилась бесконтактная оплата не только банковскими картами, но и телефонами. Прикладывая устройство к терминалу, произносится короткий сигнал, а затем появляется картинка об успешной оплате. Если бы человек из прошлого века увидел такой процесс, то сразу бы стал глаголить о чудесах. И ведь частично он окажется прав, так как за таким простым действием скрывается целая многоуровневая система, в которой одновременно работают радиосвязь на сверхмалой дистанции, защищенные чипы, токенизация платежных данных, криптография и проверка операции банком.
Cвязь на очень коротком расстоянии
Основа бесконтактной оплаты - технология NFC (Near Field Communication). Это разновидность ближней беспроводной связи, рассчитанная на работу буквально на расстоянии двух сантиметров. Такой принцип не только удобен, но и сам по себе снижает риск случайного или незаметного считывания.
Самая интересная часть начинается не в момент касания, а еще раньше - когда пользователь добавляет карту в смартфон. Чтобы развеять все опасения надо сказать сразу – информация о ней не расходится по всей системе. Вместо этого платежная инфраструктура создает специальный цифровой заменитель - платежный токен. EMVCo, организация, которая поддерживает глобальные спецификации платежных технологий, прямо описывает этот процесс как замену PAN, то есть основного номера карты, на уникальное альтернативное значение, пригодное для работы в существующей платежной системе.
У Apple эта логика описана особенно наглядно: после одобрения карты банк или платежная сеть создает номер учетной записи устройства, специфичный для данного устройства и передает его в защищенный элемент устройства. Иными словами, в телефоне хранится не обычный номер карты в привычном виде, а специальный идентификатор, предназначенный именно для работы через кошелек устройства.
Что происходит в момент оплаты
Когда вы подносите смартфон к терминалу, NFC лишь открывает канал связи. Дальше в дело вступает защищенная платежная логика. После подтверждения личности - например, Face ID, Touch ID, кодом или другим способом аутентификации - устройство отправляет терминалу токенизированные данные вместе с динамическим кодом безопасности для конкретной операции. Apple отдельно указывает, что защищенный элемент передает номер учетной записи устройства и динамический код безопасности, специфичный для транзакции, а настоящий номер карты ни устройство, ни компания не отправляют продавцу.
Это значит, что каждая покупка формируется как отдельное подтверждаемое событие. Банк, эмитент карты или платежная сеть могут проверить, что динамический код действительно относится к данному устройству и данной операции. Даже если злоумышленник где-то увидит сам токен, без корректного механизма подтверждения и без привязки к конкретному сценарию оплаты этого будет недостаточно.
Почему украденный токен не равен украденной карте
В классической карте самым ценным для мошенника является номер PAN. Именно поэтому утечка карточных данных так опасна. Логика токенизации меняет ситуацию: вместо самого ценного реквизита в платежной цепочке используется его заменитель, причем EMVCo подчеркивает, что такой токен может быть ограничен по устройству, продавцу или сценарию использования. Иначе говоря, смысл токена в том, что он полезен только в строго заданных условиях.
Поэтому бесконтактная оплата смартфоном часто безопаснее, чем кажется. Магазин не получает ваш исходный номер карты, а платежная сеть и банк видят не просто факт касания терминала, а набор проверяемых признаков, например, какой токен используется, для какой операции, с каким динамическим кодом и прошло ли подтверждение владельцем устройства.
Где внутри телефона все это хранится
Во многих сценариях критически важные платежные данные размещаются в Secure Element - отдельном защищенном компоненте, изолированном от обычной части операционной системы. Apple прямо пишет, что номер учетной записи устройства хранится именно там. Android также объясняет, что на многих устройствах эмуляция платежной карты может опираться на защищенный элемент, отдельный чип устройства.
При этом в мире Android существует и другой подход - host-based card emulation (эмуляция карты на основе хоста) или HCE. В таком случае данные для взаимодействия с NFC-ридером могут обрабатываться не выделенным защищенным элементом, а основной системой устройства. Google описывает HCE как механизм, при котором Android-приложение может эмулировать карту и напрямую общаться с NFC-ридером через хост-процессор. Для пользователя разница почти незаметна, но с инженерной точки зрения это два разных способа организовать одну и ту же повседневную функцию.
Почему оплата занимает секунду, хотя внутри так много этапов
Парадокс бесконтактной оплаты в том, что она кажется мгновенной именно потому, что большая часть сложности спрятана заранее: карта уже оцифрована, токен уже выпущен, защищенные ключи уже записаны, а терминалы и платежные сети давно умеют работать с этой инфраструктурой. EMVCo отдельно отмечает, что токенизация встроена в существующую платежную экосистему и совместима с действующей инфраструктурой. За счет этого для покупателя все выглядит как одно короткое движение, хотя на самом деле за ним стоит заранее подготовленная цепочка доверия.
Бесконтактная оплата смартфоном - хороший пример технологии, которая выглядит слишком простой для своей настоящей сложности. Одно касание терминала объединяет сразу несколько уровней: ближнюю радиосвязь, токенизацию вместо реального номера карты, защищенное хранение платежных данных, аутентификацию владельца и банковскую проверку динамических параметров операции. Именно поэтому современный телефон в момент оплаты работает не просто как «карта без пластика», а как маленький криптографический узел у вас в кармане.
Список источников
1. Android Developers. Host-based card emulation overview
2. Apple Platform Security. Apple Pay security overview
3. Apple Support. Apple Pay security and privacy overview