安卓应用程序模拟物理RFID卡

27

一个Android应用程序是否能够将预先存储的RFID卡片ID发送给NFC读卡器?目的是使用Android设备代替物理RFID卡来启用房间进入权限。 在阅读关于NFC / RFID和卡模拟的其他讨论串之后,我得出结论,目前在Android上尚不可用,但我仍然有点困惑,是否适用于这种特殊情况。应用程序不能简单地在NDEF消息或APDU命令中发送卡片ID,还是我完全在做梦?


请看我对这个问题的回答,它可能会帮助您审查一个解决方案。 - BrOSs
幸运的是,现在有所改变 :) 如果您的目标是4.4+,您可能会对此感兴趣:https://developer.android.com/guide/topics/connectivity/nfc/hce.html - async
2个回答

13

严格来说,为了实现你想要的功能,您不需要卡模拟技术。您只需要向门锁发送一个可以验证的令牌即可。

您可以通过Android Beam将NDEF消息推送到兼容设备上来完成此操作,SNEP是您要寻找的协议。

我更喜欢的解决方案是使门锁设备模拟标签。然后,您可以让您的Android应用程序为该标签注册侦听器(甚至无需运行)。当检测到标签时,该应用将启动并使用Android SDK中的标签写入NFC函数将安全令牌发送到锁上。

保护您的令牌是另一回事。


这是我心中的想法。我会检查所使用的阅读器是否兼容。不过,我认为这个解决方案需要一些软件在读卡器端来解码NDEF消息,并将其“解释”为实际的物理卡片,我说得对吗? - user1860579
是的,大多数门禁控制系统都遵循Wiegand协议。Duali制造的读卡器兼容该协议。 - jim

1

安卓视图:

简而言之:这是不可能的。

详细来说:

从硬件和软件角度来看,这是可能的。NFC芯片完全能够模拟大多数(但不是全部)标准标签。实现此功能的功能甚至已经内置在较低级别的软件中,但未向应用程序公开。

为什么:模拟标签是整个移动支付基础设施的基础。允许同时进行两个相同类型的卡模拟对于大多数NFC芯片来说是不可能的,并且还会关闭移动支付,因为移动支付读卡器只接受一个标签(出于安全原因)。

对于基于RIM的黑莓手机来说情况有所不同,它们允许卡模拟(甚至具有此功能),但据我所知目前没有进行任何移动支付。


1
正如Conor所说,我其实不确定它是否真的需要卡模拟,因为物理卡ID嵌入在应用程序中,而不是安全元件或其他任何地方。 - user1860579

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