【问题标题】:Initial handshake between NFC controller and POS readerNFC 控制器和 POS 阅读器之间的初始握手
【发布时间】:2014-10-05 22:52:44
【问题描述】:

当阅读器使用 HCE 通过 NFC 模拟支付应用程序发起交易时,我有几个问题

  1. 读卡器是否像普通的非接触式卡基础设施一样发送 PPSE 命令?

  2. 主机控制器是否使用路由表中列出的已注册 AID 中的 AID 列表响应 PPSE 命令?

那么读卡器选择AID后,主机控制器会指向正确的HCE服务吗?

请纠正我对上述概念的理解。

【问题讨论】:

    标签: android nfc apdu hce emv


    【解决方案1】:

    EMV 支付卡终端区分塑料卡、基于安全元件的卡或 HCE 模拟卡。在所有情况下,它都会使用相同的协议。实际上,作为 EMV 的“protocols”有几个不同的内核变体,它们与卡应用程序使用(略微)不同的协议。但这种差异化是基于应用程序变体和品牌(例如 MasterCard EMV、MasterCard MagStripe、Visa 等),而不是基于外形尺寸/“智能卡”硬件。

    因此,非接触式 EMV 阅读器将为任何类型的卡(塑料、SE、HCE 等)选择 PPSE 以检测实际的支付应用程序。

    Android 不会解释 PPSE 选择命令,因此,它不会生成或发送可用支付应用程序的列表。请注意,HCE 支付应用程序由用户通过设置 UI 选择,一次只能激活/访问一个支付应用程序。

    由应用程序来处理 PPSE。因此,通常,基于 EMV 标准的 HCE 支付应用程序会同时注册支付应用程序 AID 和 PPSE DF 名称。请注意,从协议的角度来看,DF 名称和 AID 之间没有区别,因此您可以在主机 APDU 服务 XML 文件中注册它,并在其ASCII 十六进制表示325041592E5359532E4444463031:

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

    因此,您的主机 APDU 服务将需要处理 PPSE 选择命令,并以 FCI 对其进行响应,该 FCI 在其任意数据模板中包含 EMV 支付应用程序列表。

    【讨论】:

    • 谢谢迈克尔。上面提供的信息非常有用。我不理解只有这一部分。读卡器和支付应用程序之间的HCE服务是否只有在读卡器选择了特定的AID权限后才能建立?如果我错了,请纠正我
    • @user3841190 是的,如果设备收到 AID 以确定要路由到哪个应用程序,通信将(可以!)仅路由到您的应用程序(HCE 服务)。
    • 现在,Select PPSE 响应从哪里发送到阅读器?包含注册到设备的所有 AID 的列表?
    • 您的 HCE 服务。您是否阅读了我的回答,“因此,您的主机 APDU 服务将需要处理 PPSE 选择命令,并使用 FCI 来响应它,该 FCI 在其任意数据模板中包含 EMV 支付应用程序列表”?因此,您的主机 APDU 服务将需要处理 PPSE 选择命令,并以 FCI 对其进行响应,该 FCI 在其任意数据模板中包含 EMV 支付应用程序列表。
    • 感谢 Micheal 的耐心回复,非常感谢。现在明白了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-27
    • 1970-01-01
    相关资源
    最近更新 更多