Android 上的 MIFARE Ultralight 仿真

Mar*_*ppo 5 android nfc mifare contactless-smartcard hce

我需要创建一个模拟 Mifare Ultralight 卡的简单 Android 应用程序。它应该仅在接收数据时在同一缓冲区上读取和写入时“发送”数据(从可编辑缓冲区获取)。

但我不知道如何模拟读卡器和模拟卡之间的这种通信。我已经阅读过有关 Android HCE 的内容,但我不知道如何实现 Mifare Ultralight 通信(ISO 14443 A 型)。

我还读过这篇这篇,当然我还读过有关Android HCE 的内容。

我真的不知道沟通必须如何实施。假设我已经从 Android 开发者网站(带有基本应用程序)注册并正确设置了 HCE 等 Android 服务,我可以在读取模拟器时首次发送数据。

但对于 MIFARE Ultralight 卡模拟:

1) 获得缓冲区后是否应该使用基本的 NFC 方法?

2)如何实现卡模拟器和读卡器之间的通信?

3)什么地方必须使用这些读写方法?

编辑:让我们想象一个 MIFARE 钱包......所以,就像我需要存储和获取卡数据一样。在 mifare4mobile 网站上,他们告诉我 SDK 是可用的,但任何人都知道如何以及在哪里。

谢谢你!

Mic*_*and 5

根本不可能在 Android HCE 上模拟 MIFARE Ultralight。Android HCE 仅允许在 ISO/IEC 14443-4 传输协议之上模拟基于 ISO/IEC 7816-4 APDU 的应用程序。

MIFARE Ultralight 仅使用较低的协议层。具体来说,Ultralight 通信协议直接位于 ISO/IEC 14443-3 Type A 中定义的帧之上,无需额外的传输协议。因此,无法在 Android 上使用 HCE 服务进行模拟。

这并不意味着硬件无法模拟 MIFARE Ultralight 协议。我已经验证至少 Broadcom NFC 控制器能够模拟该协议。然而,实现这一点需要对 NFC 堆栈进行相当广泛的修改,因此在未经修改的现成 Android 设备上是不可能的。

另请参阅使用 Android 4.4 模拟 Mifare 卡