Host Card Emulation (HCE)
Host Card Emulation (HCE) — технология Android, эмулирующая бесконтактную банковскую карту программно, без аппаратного Secure Element: приложение само отвечает на APDU-команды терминала.
Что такое Host Card Emulation
Host Card Emulation (HCE) — технология Android, позволяющая смартфону эмулировать бесконтактную платёжную карту программно, без аппаратного чипа Secure Element. Терминал «думает», что общается с картой стандарта ISO/IEC 14443, а отвечает ему обычное приложение. Google представила HCE в Android 4.4 KitKat в 2013 году — раньше эмуляция требовала Secure Element, доступ к которому контролировали производитель телефона и оператор связи.
Как работает HCE
Когда телефон подносят к терминалу, NFC-контроллер принимает команды APDU (Application Protocol Data Unit) — те же, что терминал читает у пластиковой карты. В HCE он направляет их прямо в приложение через сервис Android (HostApduService), и ответ формирует само приложение. Реальный номер карты (PAN) на устройстве не хранится: работает токенизация — карта заменяется токеном с ограниченным сроком, а ключи подгружаются из облака эмитента.
Где применяется HCE
На HCE построены почти все программные кошельки бесконтактной оплаты: Google Pay, российские Mir Pay и СБПэй. В отличие от NFC-меток, пассивно хранящих данные, телефон здесь активно ведёт диалог с терминалом по протоколу карты. Пропуска и транспортные карты на базе MIFARE так эмулировать сложнее — у них проприетарные протоколы, а не банковский APDU. Тот же принцип виртуализации носителя лежит и в основе QR-оплаты.
Частые вопросы
Работает ли HCE на iPhone?
Нет, HCE — механизм Android. Apple не даёт сторонним приложениям прямого доступа к NFC для эмуляции карт: платежи на iPhone идут через Apple Pay и аппаратный Secure Element. Поэтому Mir Pay существует только в версии для Android.
Безопасен ли HCE без Secure Element?
Да, за счёт токенизации. Реальный номер карты на устройстве не лежит — вместо него токен с ограниченным сроком и привязкой к конкретному телефону, перехваченный токен бесполезен вне сессии. Дополнительно платёж защищает отпечаток, PIN или разблокировка экрана.
Нужен ли интернет для оплаты через HCE?
Периодически — да. Токены и ключи подгружаются из облака эмитента заранее и кэшируются на несколько операций, поэтому одна-две оплаты пройдут офлайн. Но пул токенов конечен: без сети он исчерпается, и приложение попросит обновить данные.
Чем HCE отличается от Secure Element?
Secure Element — физический защищённый чип, где карта хранится аппаратно, а доступ к нему контролирует производитель устройства. HCE — программная эмуляция средствами ОС, без такого чипа. SE надёжнее на уровне «железа», но HCE гибче: банк выпускает карту сам.