What MiFare Cards Can You Emulate On Android Phones
Please Help!
I was hoping someone could help me understand the whole idea behind Host Card Emulation on Android.
I am working on a project at University where the idea was to provide access to RFID enabled access gates via NFC on smartphone. I have been researching for the last 2 weeks and there is a lot of information out there and Im struggling to make sense of it. Here is my understanding so far.
RFID has three categories:
NFC technology in smartphones communicates at a frequency 13.56Mhz.
For an RFID reader and NFC smartphone to communicate with each other two conditions have to be met:
There is a whole bunch of protocols out there and right now NFC Forum are trying to drive the standardization of a select few protocols namely:
Now what I want to do is Emulate a Mifare card on an Android device. There are 4 families of Mifare cards/chips all of which communicate at 13.56MHz so we can tick that off:
Classic Family
DESFire Family
Ultralight Family
Ultralight C: ISO/14443-A 1-3 compliant
Ultralight EV 1: ISO/14443-A 1-3 compliant
Ultralight Nano: ISO/14443-A 1-3 compliant
Plus Family
Lastly!
The NFC chip in android phones versions 4.4 and above supports ISO/14443 parts 1 to 4. ie the chip is compliant with all four parts . Some of the Mifare families above are only compliant up to parts 3???
The link below shows the NFC protocol stack I am looking at. At the top of the stack it says ISO/7816-4 which I don't really understand: https://developer.android.com/guide/topics/connectivity/nfc/hce.html
From what I understand through research I would only be able to emulate the DESfire family because:
These cards are compliant with ISO/14443 Parts 1 to 4 ie (all 4 parts of the protocol) so:
My question:
Is it possible to emulate any of these cards using Androids Host Card Emulation? For HCE to work this is what I think. I might be wrong:
The Mifare card that the phone is trying to emulate has to comply with all 4 parts of the ISO/14443 1 to 4 just the same as the phone . So because the phone has the same architecture as the card(because the card is compliant with all 4 parts ) it can pretty much pretend to a reader that its a card.
Now that the phone is pretending to be a card the next step is to get the RFID reader communicate with the phone! And this is the exact same procedure:
Aside: The company that provides my university with smart cards to access the library actually provide MiFare Classic EV1 4k cards and the reader in the gates communicate with it. Does this mean the reader is only compliant to parts 1 to 3?
I really just want to know if it's at all possible to get an android phone to emulate any of these cards and communicate with a reader? And what exactly do I need to do to make this happen. I only need to be able to do it with one of these cards to have a project/starting point
So for MiFare cards that are only compliant with parts 1 to 3, is there any way I can make it work at a software level?
If it is not possible to do this then can I at least read data from passive RFID tag with an android phone that I can then do something with ie if I wrote an application that took the data from the tag and done something with it.
I also read something that stated only android phones with NXP hardware can read MiFare classic cards and now most new android phones use Broadcom chips incase that sparks any thought.
Any clarification would be really appreciated.
链接地址: http://www.djcxy.com/p/88616.html上一篇: 与非话题交谈