Что значит эмуляция карты
Что такое эмуляция карты NFC Android и как это работает
Когда я окунулся в километры описаний преобразования реальных банковских карт в виртуальный аналог, то понял, что просто перенести, даже в сжатом виде, в поле статьи эту информацию у меня не получится. Написано не для массового читателя, нашпиговано специальными терминами и имеет чересчур наукообразный вид. В статье пойдет речь об эмуляции карты NFC на Android. Поэтому — просто о сложном!
Что такое эмуляция карты
Имеется совершенно конкретная технология HCE (Host Card Emulation), которая позволяет воспроизвести дубликат NFC-карты, то есть бесконтактной по методу соединения с внешним миром. Естественно, понадобится некое программное обеспечение, с его помощью и произойдет второе рождение вашего «пластика». О чем речь?
Сюда попадают банковские карты, для оплаты проезда в общественном транспорте, пропуска на работу и еще целый отряд необходимых «электронных ключей» для повседневной жизни.
Есть два принципиальных подхода к процессу клонирования карт. Возможно хранить всю информацию о ней во встроенном элементе безопасности, файл данных в зашифрованном виде записывается в самом мобильном устройстве. Либо он переносится в облачное хранилище и защищен от постороннего доступа запароленным входом.
Во всей этой истории нас, в первую очередь, интересует банковская карта и связанное с ней понятие бесконтактного платежа.
Именно об этом пойдет речь в дальнейшем, остальные прикладные функции эмуляции носят эпизодический характер и применяются на практике пытливыми продвинутыми юзерами.
Нужно заметить, что работает связка NFC Android с помощью аккаунта от Google, предварительно заведенного вами, в случае установленной другой операционной системы (на ум приходит только продукция компании Apple) на мобильном устройстве, сделать из него двойник вашего платежного инструмента получится средствами самого телефона. Это значит, что в нем есть вмонтированный чип, в котором лежит буквально все, что касается вашего счета в банке и идентификационных данных.
Вообще, все устройства, имеющие собственный «банк данных», обладают одной очень привлекательной особенностью. Доступ к нему ограничен. Строго говоря, его нет даже у операционной системы девайса и извлечь что-либо, без вашей помощи, никому постороннему не удастся.
Кроме того, подобные устройства способны на проведение оплаты в бесконтактном режиме без помощи интернета. Все необходимое для транзакции уже есть под рукой.
Как это работает
До 2017 года был написан не один десяток статей на эту тему. С приходом новых приложений, таких как Google Pay, Samsung Pay и Apple Pay, страсти улеглись. Процесс виртуализации физического «пластика» заметно упростился и многие проблемы, связанные с этой процедурой, отпали сами собой. В марте прошлого года был запущен проект Android Pay (детище Google, впоследствии переработанное в современный вариант), детально описанный и донельзя конкретизированный. Изменения в алгоритме эмуляции с тех пор почти не произошли.
Вот как это работает сегодня.
Отдельно остановлюсь на процедуре «внесения» дубликата пластикового пропуска куда-либо, в этот разряд можно отнести все другие носители информации, не связанные с банками.
Пытливые китайские умы сделали процедуру переноса физического объекта в память смартфона максимально комфортной и несложной. Вам предстоит скачать NFC Card Emulator с Play Маркета и установить на устройство. Затем активировать NFC-чип (без него никуда), запустить приложение и поднести к задней крышке телефона то, что хотите продублировать. «Пластик» предстанет в виртуальном образе в самой программе, в дальнейшем на него нужно будет нажать и поднести к объекту взаимодействия.
Как удивятся охранники с вашей работы, когда турникет на проходной откроется путем приложения смартфона к нему. Бывшие менты из охраны не любят неожиданностей, и вцепятся в вас мертвой хваткой. Правда, ненадолго.
Что требуется для эмуляции
Уже упомянутый NFC Card Emulator и Root-права в вашем устройстве. Все дело в том, что для изменения настроек в NFC (без этого не обойтись) придется кое-что изменить в системных файлах. Что под силу только суперпользователю.
Именно здесь кроется подвох, о чем нельзя не упомянуть. Предыдущее описание производства виртуальной платежной карты возможно только на совершенно «чистом» телефоне. Что я имею в виду. У вас должна стоять официальная прошивка, Root-права должны отсутствовать.
Только в этом случае получится провести платеж. А значит, если хотите иметь у себя в устройстве буквально все, что должно вас огорчить. Придется что-то выбрать. Либо платите в магазине, либо ходите в бассейн по эмулированному пропуску. Так обстоят дела сегодня, возможно в будущем произойдут перемены к лучшему.
Безопасность
Недавно заглянул в свой старый Xiaomi MI3 и был немало удивлен. Устройство имеет собственный элемент безопасности! В меню настроек предлагается на выбор места хранения: встроенный или на сим-карте. Что касается последнего места, то оно не прижилось на практике, ввиду сложности реализации. На сегодняшний день распространен вариант облачного хранилища Google, счастливчики могут похвастать собственным специальным чипом.
Возможные проблемы
Из возможных ошибок упомяну одну, но наиболее «тяжелую» для пользователей. Несколько лет назад боролись с сообщением из операционной системы: «нет доступных элементов защиты. Эмуляция NFC-карты будет отключена». С появлением реально работающих инструментов переноса платежной карты в виртуальную область, эти ошибки пропали. Что говорит об уровне новейших разработок.
Эмуляция карты NFC Android в настоящее время не является утомительным или сложным занятием. По крайней мере, те, кто хочет воспользоваться бесконтактным способом оплаты покупок, без труда воспользуются максимально разжеванными, в картинках, этапами привязки карты в приложении, предварительно установленном на собственный телефон. Все это есть в интернете.
NFC Card Emulator Pro – принцип действия программы
Потребители знакомы с инновационной технологией NFC, в основе работы которой заложен принцип бесконтактного соединения посредством радиосигнала. Она позволяет дублировать платежную или проездную карту, другие пластиковые продукты, необходимые для повседневной деятельности, используя соответствующее программное обеспечение. Сегодня рассмотрим, в чем заключается принцип действия NFC Card Emulator Pro.
Что это такое?
Клонирование пластиковых карточек выполняется двумя способами.
Сохранение сведений возможно на обеспечивающем безопасность элементе встроенного типа, файл с зашифрованной в нем информацией записывается на сам мобильный телефон. Второй вариант – перенос сведений в хранилище «облако», защищенное от проникновения посторонних лиц специальным паролем.
Рассмотрим самый важный момент – эмуляцию платежной карточки и все, что связано с перечислениями денежных средств бесконтактным способом. Остальные функции эмулирования имеют эпизодические характеры, на практике применяются нечасто, так как пользуются ими только опытные юзеры.
Отметим, что функционирует связка НФС Андроид при помощи аккаунта Гугл, настроенного вами предварительно. Если ранее была загружена иная операционка на мобильном устройстве, то интегрировать гаджет в двойник платежной карточки возможно средствами самого устройства. Это означает, что в девайсе интегрирован микрочип, куда закладываются данные о ваших банковских счетах и личные сведения для идентификации.
Следует заметить, что в устройствах, обладающих собственным «банком данных», имеется одна отличительная особенность – ограничение к ним доступа. Проще говоря, он отсутствует даже в операционной системе, и без помощи пользователя никакую информацию извлечь не получится.
Помимо этого, такие устройства проводят перечисление денежных средств бесконтактным способом с помощью сети интернет. Все, что требуется для выполнения транзакции, находится с вами постоянно.
Принцип действия
До наступления 2017 года на эту тему велись жаркие споры, но после прихода приложений Гугл, Самсунг и Эпл Пей страсти утихли. Процесс эмуляции пластиковой карты через NFC существенно облегчился, и огромное количество проблем, связанных с подобной процедурой, отпало само по себе. Позднее был запущен новый проект Андроид Пей, расписанный и конкретизированный подробным образом. Алгоритм эмуляции с той поры практически не изменился.
Сегодня он функционирует следующим образом:
Отдельно следует обратить внимание на процесс внесения дубликата пропускного пластика, к этому можно причислить все прочие носители данных, не связанные с финансовыми учреждениями.
Китайские производители разработали процесс переноса конкретного объекта в хранилище мобильного устройства, сделав его максимально комфортным и легким. Необходимо скачать с Плей Маркет NFC Card Emulator, установив его на мобильный телефон. После этого активируется микрочип НФС, приложение, к задней панели подносится продукт, подлежащий дублированию. После таких действий пластик получает виртуальный образ в программном сервисе, в последующем на него остается нажать и приблизить к объекту взаимного действия.
При каких условиях работает?
Для этого потребуется NFC Card Emulator Pro, скачать который можно бесплатно, и root-права на ваше мобильное устройство. Проблема в том, что изменение настроек в НФС происходит за счет корректировки системных файлов, что сможет выполнить только опытный пользователь.
В этом и скрывается подвох, что обязательно необходимо знать. Описание процесса виртуализации банковской карточки возможно лишь в том случае, если ваш мобильный телефон совершенно «чистый». Это значит, что прошивка на нем официальная, а root-права отключены.
Лишь при таких условиях получается выполнить бесконтактную транзакцию.
Следовательно, если в своем мобильном телефоне потребитель пожелает иметь практически все опции, придется чем-то пожертвовать (отключить). Или вы сможете оплачивать товары и услуги, или пройдете через турникет бассейна по виртуальному пропуску. Есть надежда, что в будущем все изменится в лучшую сторону, и NFC Emulator расширит свои возможности.
Степень защиты
В некоторых моделях смартфонов имеется интегрированный элемент, обеспечивающий безопасность. Меню стандартных настроек предлагает сделать выбор в местах хранения информации, представляя вниманию потребителя встроенный элемент либо сим-карту. В отношении последнего варианта следует заметить, что на практике он себя не слишком зарекомендовал из-за определенных затруднений в реализации.
Сегодня большинство пользователей задействуют хранилище Гугл, некоторые потребители используют специальные чипы – NFC Card Emulator Pro 4 pda.
Вероятные ошибки
Их будет предостаточно, но рассказать следует об одной, считающейся наиболее «сложной» для рядового потребителя. Некоторое время назад шла борьба с уведомлением из операционки: «отсутствуют доступные элементы защиты. Эмуляция НФС-карты будет выключена». Как только появились реальные инструменты, обеспечивающие перенос банковской карточки в виртуальное состояние, подобные ошибки больше не высвечиваются, что еще раз подтверждает инновационный уровень разработок.
Эмуляция пластиковой карточки в Андроид не считается сегодня сложным либо утомительным процессом.
Все, кто пожелает использовать бесконтактный способ перечисления денежных средств, легко разберутся в приведенных инструкциях, установят и настроят необходимое приложение, привяжут к мобильному телефону необходимый пластиковый продукт, оформленный банком-партнером. В интернете несложно найти нужную информацию, помогающую выполнить все действия безошибочно.
Заключение
Из мобильных устройств, поддерживающих эмуляцию платежных карт, выделяют Xiaomi, Huawei, OnePlus, Сони, Самсунг различных модификаций. К этому списку добавьте смарт часы от компании Huawei.
Таким способом можно превратить в виртуальный продукт карты на 4, 7 или 10 bytes uid. Для поддержки рекомендуется использовать НФС-чипы NXP или Broadcom.
NFC: эмуляция банковской карты на смартфоне
Смартфон как инструмент бесконтактной оплаты
Как это работает?
У меня есть карта «Билайн» — обычная дебетовая MasterCard, которую можно получить бесплатно в любом салоне «Билайн». Ежегодная абонентская плата за обслуживание моей карты не взимается. Карта работает как обычный MC по всему миру, только при совершении покупок возвращается от 1,5% потраченной суммы на счет в виде бонусов. Накопленные бонусы могут быть использованы при оплате услуг мобильной связи, моего проводного интернета, разных товаров в партнёрских магазинах.
Эмуляция карты на смартфоне
По сути, технология HCE дает возможность эмулировать в телефоне бесконтактные smart-карты. В нашем случае виртуальная карта является дополнительной функцией физического носителя – пластиковой карты «Билайн». Владелец такой карты, являющийся одновременно владельцем смартфона на ОС Android KitKat, оснащенного NFC-модулем, устанавливает на него мобильное приложение карты «Билайн». При входе в мобильное приложение для активации функции бесконтактных платежей достаточно ввести ЕАN карты и свой пароль. Приложение проверяет наличие/доступность HCE на устройстве, и если все в порядке, пользователю предлагается подключить функционал.
Если пользователь подтверждает свое согласие на подключение сервиса, ответив на полученную sms вводом одноразового пароля, то производится эмиссия виртуальной карты – в мобильное приложение из процессингового центра загружаются данные, необходимые для совершения NFC-платежей. Собственно, на этом всё – телефон стал инструментом бесконтактной оплаты.
HCE (Host-based Card Emulation) – это технология, которая дает возможность писать софт, не требующий для исполнения выделенного криптопроцессора, чтобы обеспечить сеанс связи с платежным терминалом. Приложение исполняется на основном процессоре мобильного устройства, в окружении операционной системы телефона.
Что нужно для использования сервиса в России
Для того чтобы пользоваться сервисом бесконтактной оплаты, необходимо в любом офисе «Билайн» бесплатно получить предоплаченную карту «Билайн». Далее – скачать на Google Play мобильное приложение карты «Билайн» и активировать функцию бесконтактной оплаты. Аппаратные и программные ограничения: операционная система Android, версия не ниже 4.4, наличие в телефоне NFC-модуля.
Какие еще есть особенности?
Например, если у пользователя не один, а несколько телефонов на Android 4.4, то сервис бесконтактной оплаты, привязанный к его основной карте, может быть установлен на все устройства владельца этой карты. Это удобно, например, для использования сервиса семьей. При этом на одном телефоне может существовать только одна виртуальная карточка.
При оплате, когда телефон подносится к терминалу, на экране отображается сумма покупки и информация об успешности проведения платежа.
Оплата производится только при разблокированном экране, поэтому важно, чтобы телефон был защищен паролем. При этом само приложение может быть закрытым. При удалении приложения с телефона виртуальная карта блокируется. При восстановлении приложения происходит повторная эмуляция карты, поэтому придется проходить процесс настройки бесконтактной оплаты с нуля. Повторная активация услуги потребуется также, если в приложении отключить сервис бесконтактной оплаты. Однако удалять приложение или отключать сервис вовсе не обязательно – для временной блокировки можно использовать функцию «Приостановить бесконтактную оплату».
В чем профит?
NFC-транзакция – это мгновенная оплата. Даже для того чтобы расплатиться пластиковой картой, её для начала нужно извлечь из бумажника, а перед этим – бумажник из кармана или сумки. При расчете наличными добавляется момент пересчета, передачи денег, получения и проверки сдачи и т.д. Транзакции до 1000 рублей, совершенные при помощи NFC и HCE, даже не требуют ввода ПИН-кода, и расчет без всякого преувеличения происходит в один момент и в одно касание.
После совершения транзакции на телефон приходит sms-сообщение о прошедшей операции и об остатке на счете, т.е. вы всегда в курсе состояния своего электронного кошелька.
Кстати, интересная деталь – в приложении карты «Билайн» реализована технология единого ПИНа для нескольких карт, в данном случае – для основной карты «Билайн» и карты, эмулированной мобильным приложением. То есть и при расчете по пластиковой картой, и используя сервис бесконтактных платежей, вы вводите один и тот же пароль.
Сервис бесплатный, никаких комиссий за NFC-транзакции не взимаются.
Где можно платить?
Конечно, развитость инфраструктуры приема бесконтактных платежей зависит от конкретного региона, однако сегодня уже порядка 5% платежных терминалов уже оснащены функцией NFC. В масштабах всей России это, по экспертным оценкам, около 30 тысяч устройств. Лидеры рынка производства POS-терминалов – VenFone и Ingenico – уже не первый год оснащают свои устройства поддержкой NFC в качестве базовой стандартной функции.
При оплате следует ориентироваться на наличие на POS-терминале значка, обозначающего, что аппарат оснащен бесконтактным функционалом.
Если говорить о конкретных точках, то это сети, крупные магазины, фаст-фуды, заправки. McDonald’s, Starbucks, Subway, гипермаркеты «Ашан», О’КЕЙ, «Магнит», «Аэроэкспресс», крупные сети сотового ритиейла, магазины глобальных производителей косметики и парфюмерии, модные места проведения досуга.
Безопасность
Наиболее очевидное на сегодняшний день тонкое место технологии HCE – безопасность. Данные, необходимые и достаточные для осуществления NFC-платежей, хранятся непосредственно в памяти смартфона. Однако для мобильного приложения карты «Билайн» используется комплекс мер, которые сводят к минимуму вероятность взлома. Мы делали внутренний конкурс на взлом системы, с очень хорошим вознаграждением, анализ кода.
Разберем некоторые аспекты информационной безопасности технологии HCE, реализованные для мобильного приложения карты «Билайн».
Операции по заблокированному телефону невозможны. В этом смысле HCE-решение защищено лучше, чем обычная пластиковая карта с бесконтактным интерфейсом – чтобы совершить платежную операцию злоумышленник должен разблокировать телефон. В случае обычной карты – достаточно получить саму карту. При использовании мобильного приложения карты «Билайн» невозможен, например, сценарий, когда в метро в плотном потоке людей с виртуальной карты незаметно списывают деньги, прикладывая к карману ридер.
Продукт защищен от взлома и клонирования как на уровне самого приложения, так и на уровне процессинга. Все данные шифрованы, приложение само отслеживает попытки взлома и при обнаружении такой попытки зачищает все критичные данные. При этом приложение периодически сообщает процессингу свое состояние, при всех операциях хост проверяет ожидаемое состояние и сравнивает с фактически полученным. При несовпадении, что может быть вызвано попыткой клонирования, карта блокируется. Кроме того, в процессинговом центре настроены специальные правила эмитентского фрод-мониторинга, которые контролируют количество беспиновых операций и блокируют карту при обнаружении подозрительной активности.
Операции на сумму свыше 1000 рублей защищены онлайн пин-кодом, который вводится в пинпад терминала. Перехват пин-кода через взлом приложения невозможен – просто потому, что пин-код на телефоне никогда не вводится.
При утере телефона порядок действий практически ничем не отличается от стандартных мероприятий, выполняемых при утере обычной банковской карты: звонок в контакт-центр, блокировка карты «Билайн» по EAN, получение в салоне связи новой карты. На новую карту будут перенесены все остатки денежных средств, бонусы и так далее. При этом, естественно, номер карты поменяется, а у злоумышленника будет на руках телефон, в котором будет эмулирована старая карта, операции по которой совершить уже невозможно, поскольку она заблокирована.
Кстати, следует обратить еще на один нюанс, связанный с безопасностью технологии NFC в целом. Существует представление, что уязвимым является сам сеанс передачи данных от смартфона к POS-терминалу. На самом деле каждая транзакция защищена уникальной криптограммой, без которой авторизация невозможна. Из тех данных, которые передаются по радиоканалу, практически невозможно извлечь никакой информации, которая помогла бы злоумышленникам похитить средства со счета, подписав другие транзакции.
Будет ли работать этот сервис на платформе iOS?
Apple пошли по пути phone-based и используют встроенный Secure Element, куда никто, кроме Apple, карточные ключи загрузить не может. Поэтому единственный реалистичный в настоящее время вариант – это интеграция с новой технологией Visa Token Service (генерация временных ключей для оплаты), на основе которой Apple Pay, собственно, и работает.
Прогнозы
Можно прогнозировать, что рынок NFC-платежей в России переходит из стадии становления в фазу активного роста. Растет число телефонов, поддерживающих технологию NFC, появляются интеграционные проекты, реализуемые совместно вендорами, платежными системами и ритейлерами.
В I полугодии 2014 г. в России было реализовано 1,2 млн. смартфонов, поддерживающих технологию NFC. Это на 21% больше, чем за аналогичный период прошлого года. NFC-смартфоны составили 14% от всех продаж смартфонов в стране. Понятно, что бурный рост может быть обусловлен только удобством применения бесконтактных технологий, а массовость сервису может придать мощный драйвер. Такой, например, как бесконтактная оплата проезда в общественном транспорте, прежде всего в метрополитене.
Если же говорить о емкости рынка NFC-платежей в России, то эксперты называют цифру порядка 15 млрд. рублей (оценка агентства J’son & Partners).
Эмуляция банковской карты на телефоне
HCE (Host-based Card Emulation) – это технология, которая дает возможность писать софт, не требующий для исполнения выделенного криптопроцессора, чтобы обеспечить сеанс связи с платежным терминалом. Приложение исполняется на основном процессоре мобильного устройства, в окружении операционной системы телефона.
HCE для NFC имеет открытую архитектуру, что позволяет эмулировать не только банковские карты, но и карты программ лояльности, транспортные карты, пропуска и так далее. Технология позволяет заметно ускорить процесс внедрения платежных NFC-сервисов, потому что не нужно координировать и согласовывать действия с производителями телефонов, кроме того, решаются многие проблемы совместимости.
Мы сделали такой HC-эмулятор в своём приложении. До появления технологии HCE информацию для осуществления NFC-транзакций в мобильных устройствах можно было хранить тремя способами: либо на SIM-карте (принцип SIM centric NFC), либо в специальном элементе на телефоне (Embeded Secure Elements, eSE), либо на специальной MicroSD.
Как обстояли дела ранее?
У классических способов до HCE имеются существенные недостатки. При подходе SIM centric требуются специальные SIM-карты, которые значительно дороже стандартных карт, обязательна процедура посещения пользователем точки продаж для замены SIM-карты и т.д.
При eSE-подходе сложностей и ограничений ещё больше – моделей телефонов, имеющих специальный блок для хранения информации о карте, на рынке крайне мало, стоимость персонализации элемента в телефоне весьма высокая, появляется зависимость от производителя телефона и провайдера услуг персонализации «по воздуху» (Over-The-Air Service Provider). Эти ограничения, аппаратные и организационные барьеры до последнего времени не давали возможности сделать сервис бесконтактных платежей при помощи мобильных устройств массовым.
Раньше, чтобы запустить сервис NFC-платежей, его провайдеру нужно было договариваться с вендором о получении ключей для записи на телефон платежных данных. Некоторые производители телефонов предоставляли собственный облачный сервис, с которым провайдеру платежного сервиса необходимо было интегрироваться, передавать ему платежные данные для дальнейшей заливки этих данных в телефон. По пути «закрытой» технологии сейчас пошел и Apple – для работы платежного приложения используется криптопроцессор, ключи есть только у производителя аппарата, и только он может загружать платежные данные.
Для пользователей основным неудобством этих hard подходов является привязка системы безопасности к аппаратным средствам а, следовательно, неизбежная необходимость смены SIM-карты или даже телефона для подключения сервиса NFC-платежей.
Google: мы пойдем другим путем
Другой подход избрали в Google, рассудив, что зависимость от вендоров (производителей телефонов и Secure Elements) радикально снижает адаптивность технологии и препятствует массовому тиражированию платежных сервисов. Рассудив так, Google реализовала подход, при котором NFC-контроллер напрямую связан с основным процессором, непосредственно обеспечивающим работу платежного приложения, хранение данных, подпись транзакций и т.д. А информационная безопасность обеспечивается программными средствами.
В декабре 2013 года Google выпустила версию Android 4.4 KitKat, в которой была реализована возможность взаимодействия NFC-контроллера не только с SE, но и с обычным приложением в телефоне. Проще говоря, отпала необходимость промышленной прогрузки информации в специальные устройства, стало достаточно просто установить на смартфон платежное приложение, работающее по технологии HCE.
Как это работает?
У нас есть карта «Билайн» — обычная дебетовая MasterCard, которую можно получить бесплатно в любом салоне «Билайн». Ежегодная абонентская плата за обслуживание нашей карты не взимается. Карта работает как обычный MC по всему миру, только при совершении покупок возвращается от 1,5% потраченной суммы на счет в виде бонусов. Накопленные бонусы могут быть использованы при оплате услуг мобильной связи, нашего проводного интернета, разных товаров в наших и партнёрских магазинах.
Карта эмулируется на телефоне.
По сути, технология HCE дает возможность эмулировать в телефоне бесконтактные smart-карты. В нашем случае виртуальная карта является дополнительной функцией физического носителя – пластиковой карты «Билайн». Владелец такой карты, являющийся одновременно владельцем телефона на платформе Android KitKat, оснащенного NFC-модулем, устанавливает на него мобильное приложение карты «Билайн». При входе в мобильное приложение для активации функции бесконтактных платежей достаточно ввести ЕАN карты и свой пароль. Приложение проверяет наличие/доступность HCE на устройстве, и если все ок, пользователю предлагается подключить функционал.
Если пользователь подтверждает свое согласие на подключение сервиса, ответив на полученную sms вводом одноразового пароля, то производится эмиссия виртуальной карты – в мобильное приложение из процессингового центра загружаются данные, необходимые для совершения NFC-платежей. Собственно, на этом всё – телефон стал инструментом бесконтактной оплаты.
На телефоне HCE функционирует как фоновый сервис, что позволяет использовать HCE, не запуская приложение для этого взаимодействия. При взаимодействии с терминалом Android’у необходимо выбрать приложение, которому отправить данные для обработки. Такой выбор делается на базе Application ID (AID), который содержит до 16 байт информации, и известен для популярных платежных систем, таких как Visa или MasterCard. Приложение может обрабатывать несколько различных AID, которые объединяются в группу. Каждая группа может быть связана с определенной категорией. В настоящий момент определено две категории: CATEGORY_PAYMENT (для приложений оплаты) и CATEGORY_OTHER (для остальных). В телефоне может быть установлено несколько приложений для одного и того же AID, для разных категорий может быть применена разная политика выбора приложения, для платежных приложений определяется одно активное приложение по умолчанию.
Для реализации HCE нам было необходимо расширить сервис HostApduService и реализовать методы: processCommandApdu() – вызывается, когда приложение взаимодействует с терминалом и onDeactivated() – если связь с терминалом потеряна, или другой NFC-ридер пытается установить соединение. Данный сервис декларируется в манифесте приложения и должен содержать intent-фильтр для SERVICE_INTERFACE, доступ android.permission.BIND_NFC_SERVICE и метаданные, определяющие, какие AID обрабатывают наш сервис. Также тут мы можем определить, требуется ли разблокировка устройства для совершения оплаты с его помощью. Разрешение BIND_NFC_SERVICE гарантирует, что все взаимодействия с NFC-модулем будут осуществляться через операционную систему Android. А безопасность хранимых данных базируется на стандартной системе «песочницы» для приложения.
Схема взаимодействия элементов в процессе бесконтактной оплаты по технологии HCE
Элементами системы являются:
NFC-контроллер – передает команды от терминала платежному приложению.
Мобильная платформа – серверная часть мобильного банка, включающая функции управления платежным приложением.
Хост эмитента – процессинговый центр эмитента, который для обслуживания мобильного приложения умеет взаимодействовать с мобильной платформой.
Хост эквайера – процессинговый центр эквайера.
При совершении бесконтактной оплаты терминал взаимодействует с NFC-контроллером телефона по протоколу ISO 14443 (APDU T=CL).
NFC-контроллер взаимодействует с Платежным приложением по внутреннему протоколу, специфицированному в Android 4.4 и выше.
Платежное приложение получает от терминала ключевые данные транзакции (сумма, валюта, время операции, свойства терминала и т.д.), проводит проверку возможности совершения операции и в случае успеха генерирует уникальную криптограмму (ARQC) на уникальном секретном ключе Платежного приложения. Данные, на которых рассчитывается криптограмма, включают случайное число.
В зависимости от суммы и свойств терминала у клиента может быть запрошен пин-код, который вводится клиентом на терминале (или пин-паде).
Терминал на хост эквайра формирует авторизационный запрос, который включает ARQC и шифрованный пин-код, если он был введен клиентом.
Далее с хоста эквайера авторизационный запрос через платежную систему маршрутизируется на хост эмитента, где принимается решение об одобрении или отказе авторизации.
Проверки на хосте эмитента включают:
1. Проверку криптограммы (ARQC).
2. Проверку пин-кода (если он был введен клиентом).
3. Проверку правил обслуживания карты.
4. Проверку лимитов карты и счета.
5. Проверку анти-фродовых правил, включая специфические правила для бесконтактной оплаты телефоном.
В результате обработки авторизации на хосте эмитента формируется ответ, который по обратной цепочке доставляется в терминал.
Что нужно для использования сервиса в России
Для того чтобы пользоваться сервисом бесконтактной оплаты, необходимо в любом офисе «Билайн» бесплатно получить предоплаченную карту «Билайн». Далее – скачать на Google Play мобильное приложение карты «Билайн» и активировать функцию бесконтактной оплаты. Аппаратные и программные ограничения: операционная система Android, версия не ниже 4.4, наличие в телефоне NFC-модуля.
Какие еще есть особенности?
Например, если у пользователя не один, а несколько телефонов на Android 4.4, то сервис бесконтактной оплаты, привязанный к его основной карте, может быть установлен на все устройства владельца этой карты. Это удобно, например, для использования сервиса семьей. При этом на одном телефоне может существовать только одна виртуальная карточка.
При оплате, когда телефон подносится к терминалу, на экране отображается сумма покупки и информация об успешности проведения платежа.
Оплата производится только при разблокированном экране, поэтому важно, чтобы телефон был защищен паролем. При этом само приложение может быть закрытым. При удалении приложения с телефона виртуальная карта блокируется. При восстановлении приложения происходит повторная эмуляция карты, поэтому придется проходить процесс настройки бесконтактной оплаты с нуля. Повторная активация услуги потребуется также, если в приложении отключить сервис бесконтактной оплаты. Однако удалять приложение или отключать сервис вовсе не обязательно – для временной блокировки можно использовать функцию «Приостановить бесконтактную оплату».
Активность сервиса бесконтактной оплаты подтверждается оранжевым цветом соответствующей иконки
В чем профит?
Далее. NFC-транзакция – это мгновенная оплата. Даже для того чтобы расплатиться пластиковой карточкой, её для начала нужно извлечь из бумажника, а перед этим – бумажник из кармана или сумки. При расчете наличными добавляется момент пересчета, передачи денег, получения и проверки сдачи и т.д. Транзакции до 1000 рублей, совершенные при помощи NFC и HCE, даже не требуют ввода ПИН-кода, и расчет без всякого преувеличения происходит в один момент и в одно касание.
После совершения транзакции на телефон приходит sms-сообщение о прошедшей операции и об остатке на счете, т.е. вы всегда в курсе состояния своего электронного кошелька.
Кстати, интересная деталь – в приложении карты «Билайн» реализована технология единого ПИНа для нескольких карт, в данном случае – для основной карты «Билайн» и карты, эмулированной мобильным приложением. То есть и при расчете по пластиковой картой, и используя сервис бесконтактных платежей, вы вводите один и тот же пароль.
Сервис бесплатный, никаких комиссий за NFC-транзакции не взимаются.
Где можно платить?
Конечно, развитость инфраструктуры приема бесконтактных платежей зависит от конкретного региона, однако сегодня уже порядка 5% платежных терминалов уже оснащены функцией NFC. В масштабах всей России это, по экспертным оценкам, около 30 тысяч устройств. Лидеры рынка производства POS-терминалов – VenFone и Ingenico – уже не первый год оснащают свои устройства поддержкой NFC в качестве базовой стандартной функции.
При оплате следует ориентироваться на наличие на POS-терминале значка, обозначающего, что аппарат оснащен бесконтактным функционалом.
Если говорить о конкретных точках, то это сети, крупные магазины, фаст-фуды, заправки. McDonald’s, Starbucks, Subway, гипермаркеты «Ашан», О’КЕЙ, «Магнит», «Аэроэкспресс», крупные сети сотового ритиейла, магазины глобальных производителей косметики и парфюмерии, модные места проведения досуга.
Безопасность
Наиболее очевидное на сегодняшний день тонкое место технологии HCE – безопасность. Данные, необходимые и достаточные для осуществления NFC-платежей, хранятся непосредственно в памяти смартфона. Однако для мобильного приложения карты «Билайн» используется комплекс мер, которые сводят к минимуму вероятность взлома. Мы делали внутренний конкурс на взлом системы, с очень хорошим вознаграждением, анализ кода.
Разберем некоторые аспекты информационной безопасности технологии HCE, реализованные для мобильного приложения карты «Билайн».
Операции по заблокированному телефону невозможны. В этом смысле HCE-решение защищено лучше, чем обычная пластиковая карта с бесконтактным интерфейсом – чтобы совершить платежную операцию злоумышленник должен разблокировать телефон. В случае обычной карты – достаточно получить саму карту. При использовании мобильного приложения карты «Билайн» невозможен, например, сценарий, когда в метро в плотном потоке людей с виртуальной карты незаметно списывают деньги, прикладывая к карману ридер.
Продукт защищен от взлома и клонирования как на уровне самого приложения, так и на уровне процессинга. Все данные шифрованы, приложение само отслеживает попытки взлома и при обнаружении такой попытки зачищает все критичные данные. При этом приложение периодически сообщает процессингу свое состояние, при всех операциях хост проверяет ожидаемое состояние и сравнивает с фактически полученным. При несовпадении, что может быть вызвано попыткой клонирования, карта блокируется. Кроме того, в процессинговом центре настроены специальные правила эмитентского фрод-мониторинга, которые контролируют количество беспиновых операций и блокируют карту при обнаружении подозрительной активности.
Операции на сумму свыше 1000 рублей защищены онлайн пин-кодом, который вводится в пинпад терминала. Перехват пин-кода через взлом приложения невозможен – просто потому, что пин-код на телефоне никогда не вводится.
При утере телефона порядок действий практически ничем не отличается от стандартных мероприятий, выполняемых при утере обычной банковской карты: звонок в контакт-центр, блокировка карты «Билайн» по EAN, получение в салоне связи новой карты. На новую карту будут перенесены все остатки денежных средств, бонусы и так далее. При этом, естественно, номер карты поменяется, а у злоумышленника будет на руках телефон, в котором будет эмулирована старая карта, операции по которой совершить уже невозможно, поскольку она заблокирована.
Кстати, следует обратить еще на один нюанс, связанный с безопасностью технологии NFC в целом. Существует представление, что уязвимым является сам сеанс передачи данных от смартфона к POS-терминалу. На самом деле каждая транзакция защищена уникальной криптограммой, без которой авторизация невозможна. Из тех данных, которые передаются по радиоканалу, практически невозможно извлечь никакой информации, которая помогла бы злоумышленникам похитить средства со счета, подписав другие транзакции.
Будет ли работать этот сервис на платформе iOS?
Apple пошли по пути phone-based и используют встроенный Secure Element, куда никто, кроме Apple, карточные ключи загрузить не может. Поэтому единственный реалистичный в настоящее время вариант – это интеграция с новой технологией Visa Token Service (генерация временных ключей для оплаты), на основе которой Apple Pay, собственно, и работает.
Прогнозы
Можно прогнозировать, что рынок NFC-платежей в России переходит из стадии становления в фазу активного роста. Растет число телефонов, поддерживающих технологию NFC, появляются интеграционные проекты, реализуемые совместно вендорами, платежными системами и ритейлерами.
В I полугодии 2014 г. в России было реализовано 1,2 млн. смартфонов, поддерживающих технологию NFC. Это на 21% больше, чем за аналогичный период прошлого года. NFC-смартфоны составили 14% от всех продаж смартфонов в стране. Понятно, что бурный рост может быть обусловлен только удобством применения бесконтактных технологий, а массовость сервису может придать мощный драйвер. Такой, например, как бесконтактная оплата проезда в общественном транспорте, прежде всего в метрополитене.
Если же говорить о емкости рынка NFC-платежей в России, то эксперты называют цифру порядка 15 млрд. рублей (оценка агентства J’son & Partners).