Начальное рукопожатие между контроллером NFC и считывателем POS

У меня есть несколько вопросов, когда читатель инициирует транзакцию с платежным приложением, эмулирующим NFC, с использованием HCE.

  1. Отправляет ли считыватель команду PPSE, как в обычной инфраструктуре бесконтактных карт?

  2. Отвечает ли хост-контроллер на команду PPSE списком AID из зарегистрированных AID, перечисленных в таблице маршрутизации?

Значит, после того, как считыватель выберет AID, хост-контроллер направит к нужному сервису HCE?

Пожалуйста, исправьте мое понимание приведенной выше концепции.


person user3841190    schedule 05.10.2014    source источник


Ответы (1)


Терминал для платежных карт EMV не различает пластиковые карты, карты на основе защищенных элементов или карты, эмулированные HCE. Во всех случаях он будет говорить по одному и тому же протоколу. На самом деле «протоколыs», поскольку EMV имеет несколько разных вариантов ядра, которые используют (немного) разные протоколы с карточными приложениями. Но эта дифференциация основана на вариантах приложений и брендах (например, MasterCard EMV, MasterCard MagStripe, Visa и т. д.), а не на форм-факторе/оборудовании «смарт-карты».

Таким образом, бесконтактный считыватель EMV выберет PPSE для любого типа карты (пластиковая, SE, HCE и т. д.), чтобы определить фактическое платежное приложение.

Android не интерпретирует команду выбора PPSE и, следовательно, не формирует и не отправляет список доступных платежных приложений. Обратите внимание, что платежные приложения HCE выбираются пользователем через пользовательский интерфейс настроек, и одновременно может быть активным/доступным только одно платежное приложение.

Обработка PPSE остается за приложениями. Таким образом, обычно платежное приложение HCE, основанное на стандартах EMV, регистрируется как для платежного приложения AID, так и для имени PPSE DF. Обратите внимание, что с точки зрения протокола нет никакой разницы между именем DF и AID, поэтому вы можете зарегистрировать его в XML-файле службы APDU хоста с фильтром AID для имени DF («2PAY.SYS.DDF01») в его Шестнадцатеричное представление ASCII 325041592E5359532E4444463031:

<aid-filter android:name="325041592E5359532E4444463031" />

Следовательно, ваш хост-сервис APDU должен будет обработать команду выбора PPSE и ответить на нее FCI, который содержит список платежных приложений EMV в своем дискреционном шаблоне данных.

person Michael Roland    schedule 09.10.2014
comment
Спасибо, Майкл. Информация, представленная выше, очень полезна. Я не понимаю только эту часть. Будут ли услуги HCE между считывателем и платежным приложением устанавливаться только после того, как читатель выберет конкретное право AID? Пожалуйста, поправьте меня, если я ошибаюсь - person user3841190; 20.10.2014
comment
@user3841190 user3841190 Верно, связь будет (может!) направляться в ваше приложение (служба HCE) только в том случае, если устройство получило AID для определения, к какому приложению следует направлять. - person Michael Roland; 21.10.2014
comment
Откуда ответ Select PPSE поступает к считывателю? со списком всех AID, зарегистрированных на устройстве? - person user3841190; 23.10.2014
comment
Ваша служба HCE. Вы читали мой ответ: Следовательно, ваш хост-сервис APDU должен будет обработать команду выбора PPSE и ответить на нее FCI, который содержит список платежных приложений EMV в своем дискреционном шаблоне данных? Следовательно, ваш хост-сервис APDU должен будет обработать команду выбора PPSE и ответить на нее FCI, который содержит список платежных приложений EMV в своем дискреционном шаблоне данных. - person Michael Roland; 23.10.2014
comment
Спасибо, Михаил, за терпение в ответ, очень признателен. Получил это сейчас. - person user3841190; 03.11.2014