【发布时间】:2014-12-10 08:49:08
【问题描述】:
Mifare Classic 是最常用的卡,我不明白为什么 HCE(基于主机的卡仿真)只支持 ISO 14443-4,而不支持 Mifare Classic 类型。
因为恩智浦阻止他们使用他们的专有协议和算法? 还是因为他们没有在 Android 操作系统级别实现 Mifare Classic?
我们将不胜感激。
【问题讨论】:
标签: android nfc mifare hce contactless-smartcard
Mifare Classic 是最常用的卡,我不明白为什么 HCE(基于主机的卡仿真)只支持 ISO 14443-4,而不支持 Mifare Classic 类型。
因为恩智浦阻止他们使用他们的专有协议和算法? 还是因为他们没有在 Android 操作系统级别实现 Mifare Classic?
我们将不胜感激。
【问题讨论】:
标签: android nfc mifare hce contactless-smartcard
简答:因为 Google 决定仅支持 ISO/IEC 7816-4 而不是 ISO-DEP (ISO/IEC 14443-4)。
猜测关于为什么他们会这样决定:
首先,基于 ISO-DEP 的 ISO/IEC 7816-4 是高级协议层,可用于通过 NCI(NFC 控制器接口)将通信路由到应用处理器。路由较低的协议层是可能的(阅读:“NCI 协议支持这一点”),尽管 NFC 控制器甚至不需要支持较低层通信的路由。
基于 ISO-DEP 的 ISO/IEC 7816-4 允许基于每个应用程序进行路由。 IE。阅读器选择特定的应用程序,然后,NFC 控制器才决定将通信传递给安全元件还是应用程序处理器。应用程序处理器可以执行类似的路由机制来将通信路由到特定应用程序(这就是现在在 Android 上所做的)。
使用较低的协议层(例如 ISO/IEC 14443-3),无法进行每个应用程序的路由。相反,该级别的所有通信都将路由到安全元件或应用处理器。如果路由到应用处理器,则操作系统无法在多个应用程序之间进行选择。相反,只能为该类型的通信注册一个应用程序。但是,考虑到 Android 等平台的应用程序开发人员众多,只允许一个应用程序会相当抑制开发。
MIFARE Classic 是 NXP 的专有技术。我不希望他们许可 MIFARE Classic 协议/标签平台的纯软件实现(在应用处理器/Android 系统上)。
MIFARE Classic 使用非标准帧进行身份验证命令,因此可能难以通过 NCI 帧 RF 接口进行仿真(尽管我对该协议不够熟悉,无法确认是否存在阻止MF Classic 仿真)。
【讨论】: