安卓HCE为何不支持Mifare Classic类型?

7
Mifare Classic是最常用的卡片之一,但我不明白为什么HCE(基于主机的卡模拟)只支持ISO 14443-4,而不支持Mifare Classic类型。
这是因为NXP阻止了使用其专有协议和算法吗? 还是因为他们没有在Android OS层面实现Mifare Classic?
非常感谢您的任何评论。
1个回答

14
< p >简短回答:因为谷歌决定仅支持ISO/IEC 7816-4而不是ISO/IEC 14443-4。

关于他们为什么要做出这样的决定,有以下一些推测:

  • 首先,ISO/IEC 7816-4比ISO/IEC 14443-4更高的协议层可以用于通过NCI(NFC控制器接口)将通信路由到应用处理器。尽管NCI协议支持更低层次通信的路由,但NFC控制器甚至没有必要支持低层次通信的路由。

  • ISO/IEC 7816-4 over ISO-DEP允许按应用程序选择路由。也就是说,读卡器选择特定应用程序,然后NFC控制器才决定是否将通信传递到安全元件或应用处理器。应用处理器可以执行类似的路由机制,将通信路由到特定应用程序(这就是现在在Android上所做的)。

  • 使用更低层次的协议(例如ISO/IEC 14443-3),无法进行按应用程序选择路由。相反,在该级别上的所有通信都将被路由到安全元件或应用处理器。如果路由到应用处理器,则操作系统无法在多个应用程序之间进行选择。相反,只能为该类型的通信注册一个应用程序。然而,考虑到像Android这样的平台上有众多的应用程序开发人员,仅允许单个应用程序会相当抑制开发。

  • MIFARE Classic是NXP的专有技术。我不认为他们会授权纯软件实现(在应用处理器/Android系统)的MIFARE Classic协议/标签平台。

  • MIFARE Classic使用非标准帧身份验证命令,因此可能难以通过NCI Frame RF接口模拟(尽管我对该协议的熟悉程度还不足以确认是否存在实际限制阻止MF经典仿真)。


现在手机上是否可以模拟Mifare Classic卡?假设手机具有安全元件,并且一些支付应用程序也支持使用NFC进行支付,以替代实体卡。 此外,苹果已经展示了使用手机的NFC开启门锁甚至汽车的功能。这是可能的吗?如果是,您能否提供相关信息的指引?谢谢。 - Calvin
我正在寻求为我的一个客户实施类似的东西。https://www.youtube.com/watch?v=ISxnUqb5_8Y&t=65s - Calvin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接