DESFire EV1 card emulation

只愿长相守 提交于 2019-11-29 00:15:41

First of all, you cannot use the MIFARE SDK to emulate cards. The MIFARE SDK provides reader-side functionality only.

Second, you cannot emulate the whole functionality of MIFARE DESFire (EV1) cards using Android HCE. However, you can emulate parts of the MIFARE DESFire protocols (more specifically, you can only emulate ISO/IEC 7816-4 framing (either ISO command set or wrapped native command set) and only if preceded by an ISO SELECT by AID command). If that's sufficient depends on the requirements of the reader side of your system.

  • If your reader only supports the DESFire native command set: You cannot emulate a corresponding card using Android HCE.
  • If your reader uses the wrapped native command set but does not start the communication with an ISO SELECT (by AID) command: You cannot emulate a corresponding card using Android HCE.
  • If your reader uses the wrapped native command set and starts the communication with an ISO SELECT (by AID) command (the AID of MIFARE DESFire is D2760000850100): You can register your HCE service for the DESFire AID and will be able to receive all wrapped native commands after this AID has been selected.
  • If your reader uses the ISO command set but the first command is not an ISO SELECT (by AID) command: You cannot emulate a corresponding card using Android HCE.
  • If your reader uses the ISO command set and starts the communication with an ISO SELECT (by AID) command (either for the MIFARE DESFire AID or (with DESFire EV1) for the ISO AID of one of the DESFire applications): You can register your HCE service for the DESFire AID (or the AID of the specific application) and will be able to receive all ISO commands after this AID has been selected.

Note that there may be licensing issues if you emulate MIFARE DESFire cards.

MIFARE Classic cannot be emulated in HCE because it works directly on top of ISO 14443-3. HCE emulates the higher layer, ISO 14443-4. But that's the layer where MIFARE DESFire is implemented, so yes it can be done. I have not done it myself but I know at least one company that has made it work, and probably there are several.

I think Mifare SDK is :

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

If yes then with a simple search "Mifare SDK HCE", I found : http://www.mifare.net/en/micommunity/forum/mifare-and-nfc-reader-ics/can-nfc-phones-operate-rfid-tag-mifare-classic/ And in this thread, Mifare guy said:

Unfortunately the MIFARE SDK does not support HCE.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!