您可以在 Android 手机上模拟哪些 MiFare 卡

Chr*_*ris 5 android protocols rfid nfc hce

请帮忙!

我希望有人能帮助我理解 Android 上主机卡模拟背后的整个想法。

我正在大学开展一个项目,该项目的想法是通过智能手机上的 NFC 提供对启用 RFID 的门禁的访问。过去 2 周我一直在研究,那里有很多信息,我正在努力理解它。这是我到目前为止的理解。

RFID分为三类:

  1. 低频:125kHz
  2. 高频:13.56MHz
  3. 超高频:860~960MHz

智能手机中的 NFC 技术以 13.56Mhz 的频率进行通信。

RFID 阅读器和 NFC 智能手机要相互通信,必须满足两个条件:

  1. 他们必须以相同的频率(13.56MHz)进行通信
  2. 他们必须遵守相同的协议

有一大堆协议,现在 NFC 论坛正试图推动一些协议的标准化,即:

  1. ISO/14443 A 类和 B 类第 1-4 部分
  2. ISO/IEC 18092
  3. JIS X6319-4

现在我想做的是在 Android 设备上模拟 Mifare 卡。有 4 个 Mifare 卡/芯片系列,它们的通信频率均为 13.56MHz,因此我们可以勾选:

经典家庭

  1. MiFare Classic:符合 ISO/14443-A 1-3
  2. MiFare Classic:EV1:符合 ISO/14443 1-3

DESFire 家族

  1. MiFare DESFire EV 1:符合 ISO/14443-A 1-4
  2. MiFare DESFire EV 2:符合 ISO/14443-A 1-4

超轻系列

  1. Ultralight C:符合 ISO/14443-A 1-3

  2. 超轻型 EV 1:符合 ISO/14443-A 1-3

  3. 超轻纳米:符合 ISO/14443-A 1-3

加家庭

  1. 加:符合 ISO/14443-A
  2. Plus SE: 符合 ISO/14443-3A

最后!

安卓手机 4.4 及以上版本的 NFC 芯片支持 ISO/14443 第 1 至4 部分。即芯片符合所有四个部分。上面的一些 Mifare 系列仅符合第 3 部分???

下面的链接显示了我正在查看的 NFC 协议栈。在堆栈的顶部它说 ISO/7816-4 我不太明白:https : //developer.android.com/guide/topics/connectivity/nfc/hce.html

根据我通过研究了解到的情况,我只能模仿 DESfire 系列,因为:

这些卡符合 ISO/14443 第 1 部分至第 4 部分,即(协议的所有 4 个部分),因此:

  1. 第 1 部分:卡的物理硬件与手机相同
  2. 第 2 部分:卡的射频与手机相同
  3. 第3部分:卡的激活和防冲突程序与手机相同
  4. 第四部分:卡的传输层协议与电话相同

我的问题:

是否可以使用 Android 主机卡模拟来模拟这些卡中的任何一张?对于 HCE 来说,这就是我的想法。我可能错了:

的Mifare卡,手机正试图效仿必须遵守所有4个部分的ISO / 14443 1至4只像手机一样。因此,因为手机与卡具有相同的架构(因为卡符合所有 4 个部分),所以它几乎可以向读卡器假装它是卡。

既然手机伪装成卡片,下一步就是让 RFID 阅读器与手机通信!这是完全相同的过程:

  1. RFID 阅读器需要以 13.56MHz 进行通信
  2. 读者必须遵守 ISO/14443 第 1 至 4 部分的所有 4 部分

旁白:为我的大学提供智能卡以访问图书馆的公司实际上提供了 MiFare Classic EV1 4k 卡,并且门口的读卡器可以与之通信。这是否意味着阅读器仅符合第 1 至第 3 部分?

我真的只是想知道是否有可能让 Android 手机模拟这些卡中的任何一张并与读卡器通信?我到底需要做什么才能做到这一点。我只需要能够使用其中一张卡来完成项目/起点

因此,对于仅符合第 1 至第 3 部分的 MiFare 卡,有什么方法可以使其在软件级别工作?

如果无法做到这一点,那么我至少可以使用安卓手机从无源 RFID 标签中读取数据,然后我可以用它做一些事情,即,如果我编写了一个应用程序,从标签中获取数据并用它做一些事情。

我还读过一些内容,说明只有配备 NXP 硬件的安卓手机才能读取 MiFare 经典卡,现在大多数新的安卓手机都使用 Broadcom 芯片,以防引发任何想法。

任何澄清将不胜感激。