Недавно мы приглашали владельцев HTC One принять участие в тестировании NFC платежей и теперь хотим поблагодарить всех, кто включился и поспособствовал развитию бесконтактных платежей в нашей стране. Сегодня приложение «Кошелек» уже стало доступно для всех владельцев HTC One и Philips Xenium W336 после обновления прошивки, а в ближайшее время им также смогут пользоваться обладатели HTC One Dual SIM, HTC One Max, HTC One SV, HTC Desire 500, HTC Desire 600 и Philips Xenium W8555.
В комментариях к предыдущему посту и хабродиалогах было много вопросов о том, как работает «Кошелек» и что нужно сделать, чтобы поместить в него банковскую карту или проездной билет, не снимая задней крышки телефона и не используя двухсторонний скотч. В данном посте я попробую ответить на эти вопросы и рассказать, как это работает.
Как устроены платежные карты
Платежная карта (смарт-карта) — это микропроцессор, помещенный в кусок пластика стандартизированного размера, который при контакте со считывателем получает достаточное для работы питание и запускает операционную систему с установленным в ней платежным приложением (чаще всего Java-applet в *nix-подобной операционной системе). Бесконтактные смарт-карты, которыми уже давно являются карты оплаты проезда в городском транспорте и стремительно становятся банковские карты (MasterCard PayPass, VISA PayWave), работают по тому же принципу, только питание получают от электромагнитного поля считывателя на кассе или турникете. Все бесконтактные банковские карты и подавляющее большинство транспортных объединяет стандарт ISO 14443.
Банк или транспортная компания закупают «болванки» карт и записывают на них свое приложение с «платежными данными» клиента. Этот процесс, называемый персонализацией, осуществляется в так называемых персобюро, которые могут быть как внутренними подразделениями поставщиков услуг, так и отдельными компаниями на рынке. В процессе персонализации данные на карте зашифровываются и закрываются ключами, что делает невозможным их изменение. Более того, архитектура современных смарт-карт позволяет на аппаратном уровне различать их состояние до и после персонализации, что полностью исключает возможность изменения (подделки), например, ваших платежных данных после того, как карта выпущена.

Эволюция карт от магнитной полосы (MagStripe) до смарт-карт с чипом (EMV) и бесконтактным интерфейсом (RFID) привела к тому, что форм-фактор карты перестал иметь значение. Это дает возможность использовать в качестве «носителя» карты любой объект: пластиковую карту, часы, браслет, стикер, брелок и, конечно же, смартфон.
Как устроены NFC-телефоны
NFC — это всего лишь технология беспроводной передачи данных. Такая же, как Bluetooth или WiFi, только работает на небольшом расстоянии и не очень высокой частоте (13,56 MHz), что является ее преимуществом, так как исключает вероятность «случайного» соединения.
В то же время NFC — это расширение существующего стандарта бесконтактных смарт-карт ISO 14443, который, как мы уже отметили, используется в современных банковских картах, пропусках в офис и на парковку, проездных билетах в метро, «Тройках» и «Подорожниках». Другими словами, стандарт NFC наследует весь стандарт ISO 14443, за счет чего реализуется 100% совместимость NFC-смартфонов, бесконтактных карт и существующей инфраструктуры приема.
В NFC-совместимом телефоне, чтобы он был полноценным NFC-устройством, кроме NFC-антенны и NFC-контроллера должен быть так называемый Secure Element — отдельный микропроцессор, подобный тому, что находится в пластиковых картах. Он и будет отвечать за безопасное хранение и выполнение платежных приложений (например, MasterCard Mobile PayPass). Secure Element может быть встроенным (установленным на материнской плате телефона) или находиться на отделяемом модуле: UICC SIM-карте или SD карте памяти.
Запись платежной карты в телефон
Если в телефоне с поддержкой NFC находится такой же микропроцессор, как и в пластиковых картах, вывод напрашивается сам собой — в телефон можно записывать такие же платежные приложения и прикосновением телефона к считывателю осуществлять такие же бесконтактные платежи.
Первую попытку поместить карту в телефон в РФ осуществили сотовые операторы, например, «МТС» и банк «Русский Стандарт», «Мегафон» и транспортная карта в г. Екатеринбург, «Билайн» и транспортная карта в г. Казань и т.п. Для этого им потребовалось закупить партию специальных UICC SIM-карт с Secure Element, договориться с банком или транспортной компанией о предварительной записи туда платежного или транспортного приложения, отвезти SIM-карты в персобюро для осуществления привычного в отрасли процесса «контактной персонализации», а потом обменивать старые SIM-карты абонентов на новые в центрах обслуживания.

Да, поместить карту в телефон таким образом можно, и это работает. Но что делать, если вам нужен другой банк? Или транспортная компания в другом городе? А может, в двух городах? SIM-карте придется как следует попутешествовать по всем инстанциям перед попаданием в ваши руки, а сотовому оператору — договориться со всеми этими компаниями. При этом для перевыпуска банковской карты, например, по причине окончания срока действия, операцию придется повторить.
Удаленная персонализация и платформа TSM
К счастью, в отличие от пластиковой карточки, телефон является интерактивным устройством, которое всегда на связи (будь то Wi-Fi или сотовая сеть), а значит записывать в него карточки можно, во-первых, удаленно, а во-вторых, только тех поставщиков услуг, которые нужны именно вам. Для осуществления этой функции была сформулирована роль TSM (Trusted Service Manager) — доверенного посредника, объединяющего, с одной стороны, поставщиков услуг (банки, транспорт и т.д.), а с другой — чипы Secure Element во всех их формах. Именно такую платформу TSM мы разработали в компании i-Free и сертифицировали на соответствие всем необходимым стандартам.

Основные функции TSM:
- Агрегация различных поставщиков услуг. Банк или другой поставщик услуг подключается к TSM по стандартному протоколу и получает доступ ко множеству Secure Element, т.е. получает возможность выпускать карты для множества пользователей. При этом ему не нужно договариваться отдельно с каждым сотовым оператором или с каждым производителем телефонов. Эту часть TSM называют SP TSM (Service Provider TSM).
- Агрегация различных Secure Element. Владелец Secure Element (сотовый оператор или производитель телефонов) подключается к TSM по стандартному протоколу и получает доступ ко множеству поставщиков услуг, т.е. получает возможность предоставить своим пользователям множество сервисов. При этом ему не нужно договариваться отдельно с каждым сервис-провайдером, не нужно учитывать особенности каждого сервиса, аппаратных и системных возможностей разных Secure Element. Эту часть TSM называют SEI TSM (Secure Element Issuer TSM).
Как работает платформа TSM
Платформа TSM обеспечивает удаленное управление чипами Secure Element в телефонах пользователей через безопасный канал связи. По указанию поставщика услуги TSM записывает (или удаляет, например, в случае утери смартфона) персонализационные данные карты в Secure Element телефона, используя сам телефон исключительно как модем. Кроме того, платформа позволяет сервис-провайдерам удаленно «заглянуть» в данные выпущенных ими карт, например, для проведения аудита или отображения на экране телефона актуального баланса по картам оплаты проезда или картам лояльности (если остаток хранится на карте).

Ключи от Secure Element хранятся на узкоспециализированных серверах HSM (Hardware Security Module), являющихся неотъемлемой частью платформы TSM. Без участия последнего получить доступ к чипу невозможно — точно по такому принципу работает индустрия пластиковых карт, только ключи находятся в ведении банка или транспортной компании, выпустившей карту.
Какой именно картой оплачивать покупку, выбирает пользователь через приложение «Кошелек», которое отображает выпущенные и доступные для выпуска карты, а также принимает заявки на выпуск новых карт. Заявка отправляется к поставщику услуги, который вместо записи платежных данных на пластиковую карту, передает эти данные через TSM в Secure Element телефона.
Пользовательское приложение
Приложение «Кошелек» работает в операционной системе телефона, которая по определению не является безопасной, и, соответственно, «Кошелек» не несет в себе никаких функций, связанных с безопасностью. Основная роль приложения, кроме демонстрации выпущенных и доступных к выпуску карт, заключается в обеспечении канала связи между Secure Element и TSM, а также предоставлении пользователю интерактивных интерфейсов к приложениям (картам), загруженным в Secure Element.
В большинстве случаев, если приложение «Кошелек» использует встроенный в телефоны Secure Element, то зачастую нет смысла выкладывать его в Google.Play, так как партнерство с производителями телефонов обеспечивает важное преимущество: производитель предустанавливает пользовательское приложение в телефон вместе с прошивкой, его не нужно продвигать, не нужно скачивать или устанавливать — оно уже в телефоне — такое же родное, как «Калькулятор».
Любая карта в любом телефоне
Для превращения телефона в банковскую карту TSM должен получить доступ к Secure Element либо от производителя этого телефона, либо от владельца SIM-карты (сотового оператора). Так как платежные карты в телефон не переносятся и не «привязываются» (иначе они будут считаться «дубликатами»), а выпускаются заново, то для выпуска в телефон банковской карты какого-либо банка этот банк должен подключиться к TSM.
Таким образом, любую карту в любой телефон выпустить пока не получится, но движение в этом направлении уже идет, и всем участникам рынка очевидно, что это закономерный эволюционный шаг. В этом заинтересованы и производители телефонов (новая функциональность, которая покруче лишнего мегапикселя в камере), и сотовые операторы (примерно по той же причине), и поставщики услуг (новая аудитория и канал продаж с интерактивным взаимодействием), и пользователи (уставшие от множества различных пластиковых карточек).
Сегодня в «Кошельке» можно выпустить банковскую карту «ТКС Банка», до конца года будет доступна также оплата проезда в транспорте: в качестве пилотной зоны стартуют города Вологда и Чебоксары. В следующем году доступных для выпуска карт станет значительно больше. Бесконтактных вам впечатлений!
Послесловие
Многие процессы (как технологические, так и бизнес), описанные в данном посте, сильно упрощены для облегчения понимания всей картины. Возможно, в некотором смысле данный текст даже больше подойдет журналу «Крестьянка», чем Хабру, однако такого вводного материала не хватало бы для дальнейших публикаций, касающихся платежных карт в телефоне. Основываясь на ваших вопросах и комментариях будем постепенно раскрывать отдельные части этой большой и, надеемся, интересной темы.
Автор: konsav