С момента выхода операционной системы Google Android версии 4.4 разработчики могут обращаться к интерфейсу NFC напрямую. Благодаря этому стало возможно эмулировать работу карты в платежном приложении. Официально технология называется Host Card Emulation (HCE).
Mobile Network
Operator
SP TSM
Visa Mobile Provisioning Solutions
Interconnectivity Service
Visa Mobile Provisioning Solutions
End-to-End Provisioning
Service
SP TSM
Issuer
Visa Mobile
Contactless Gateway
VisaNet
С точки зрения платежной системы, взаимодействие участников не отличается от обычной оплаты по карте. POS-терминал подключен к хосту процессинговой системы банка-эквайрера и формирует запросы на авторизацию транзакций оплаты. Процессинговая система банка-эквайрера направляет запросы на авторизацию в платежную систему Visa, которая маршрутизирует запросы на процессинговую систему банка-эмитента. Полученный ответ по цепочке возвращается на терминал.
Взаимодействие банка-эмитента со смартфоном построено интереснее, остановимся на нем подробнее.
Пользователь ставит на свой смартфон программу Visa QIWI Wallet. При первом запуске программа привязывается к смартфону с помощью сеансового пароля, отправляемого пользователю по SMS.
Далее пользователь должен создать пароль для доступа к платежному приложению. Этот пароль проверяется онлайн на сервере банка-эмитента, поэтому нужен доступ в сеть Интернет.
Канал между смартфоном и сервером банка-эмитента защищен. В системе используется технология SSL-pinning. Это означает, что SSL-сертификат, используемый на сервере, внедрен непосредственно в приложение Visa QIWI Wallet. Стандартное хранилище сертификатов Android не используется, поэтому риск подмены сертификата существенно снижается. Кроме того данные, передаваемые в приложение, шифруются ключом, загружаемым с сервера.
По защищенному каналу связи между процессинговой системой банка-эмитента и телефоном в приложение загружаются детали банковской карты Visa. Если в телефоне есть чип NFC и режим HCE поддерживается, то дополнительно в приложение загружается ключ, которым будет подписана криптограмма транзакции (TC). Принятый ключ, так же как и детали карты, хранятся в защищенном хранилище в памяти смартфона. В целях безопасности ключ периодически меняется. Для оплаты товара доступ в Интернет не требуется, приложение Visa QIWI Wallet может даже не быть запущено, надо только разблокировать экран. Если сумма покупки не превышает 1 тыс. рублей, то срабатывает сервис VEPS и дополнительная аутентификация клиента не требуется.
Если сумма покупки больше порога и экран был разблокирован клиентом, то терминал попросит подписать чек транзакции (аутентификация по подписи). Факт разблокировки подтверждает владение телефоном. Признак CDCVM (Consumer Device CVM) будет передан на терминал.
Если сумма покупки больше порога и на смартфоне не включена блокировка экрана, то приложение может запросить дополнительное подтверждение от клиента с помощью пароля доступа. Здесь потребуется выход в Интернет.
Взаимодействие с терминалом производится согласно описанной выше схеме qVSDC. В отличие от аппаратной реализации на чипе, все вычисления, а также генерация криптограммы TC выполняется программно.
Подробнее о технологии можно почитать здесь.