DESFire EV1卡仿真

时间:2015-04-09 07:59:29

标签: android nfc mifare hce contactless-smartcard

我需要在Android设备上模拟DESFire EV1卡。但是,我对如何在HCE中使用Mifare SDK(精简版或高级版)感到困惑。

这甚至可能吗?我需要启动这个项目,我有很多关于如何在DESFire卡中存储和加密数据的研究,但我最终得知我需要在HCE上使用Mifare SDK。

3 个答案:

答案 0 :(得分:8)

首先,您无法使用MIFARE SDK模拟卡片。 MIFARE SDK仅提供读者端功能。

其次,您无法使用Android HCE模拟MIFARE DESFire(EV1)卡的全部功能。但是,您可以模拟部分MIFARE DESFire协议(更具体地说,您只能模拟ISO / IEC 7816-4成帧(ISO命令集或包装的本机命令集),并且只有在ISO SELECT by AID命令之前)。如果这足够取决于系统读者方的要求。

  • 如果您的阅读器仅支持DESFire本机命令集:您无法使用Android HCE模拟相应的卡。
  • 如果您的阅读器使用包装的本机命令集但未使用ISO SELECT(通过AID)命令启动通信:您无法使用Android HCE模拟相应的卡。
  • 如果您的阅读器使用包装的本机命令集并开始与ISO SELECT(通过AID)命令进行通信(MIFARE DESFire的AID为D2760000850100):您可以为DESFire AID注册您的HCE服务在选择此AID后,将能够接收所有包装的本机命令。
  • 如果您的阅读器使用ISO命令集但第一个命令不是ISO SELECT(通过AID)命令:您无法使用Android HCE模拟相应的卡。
  • 如果您的阅读器使用ISO命令集并开始使用ISO SELECT(通过AID)命令(对于MIFARE DESFire AID或(对于DESFire EV1)与DESFire应用程序之一的ISO AID进行通信):您可以为DESFire AID(或特定应用程序的AID)注册您的HCE服务,并且能够在选择此AID后接收所有ISO命令。

请注意,如果您模拟MIFARE DESFire卡,可能会出现许可问题。

答案 1 :(得分:3)

MIFARE Classic无法在HCE中模拟,因为它直接在ISO 14443-3之上运行。 HCE模拟更高层,ISO 14443-4。 但那是实现MIFARE DESFire的层,所以可以这样做。我自己没有这样做,但我知道至少有一家公司已经完成了它,可能还有几家。

答案 2 :(得分:0)

我认为Mifare SDK是:

http://www.mifare.net/en/products/mifare-sdk/

如果是,那么通过简单搜索“Mifare SDK HCE”,我发现: http://www.mifare.net/en/micommunity/forum/mifare-and-nfc-reader-ics/can-nfc-phones-operate-rfid-tag-mifare-classic/ 在这个帖子中,Mifare的家伙说:

  

不幸的是,MIFARE SDK不支持HCE。

相关问题