Topic: concept about card emulation
Currenly, I am using acr122U(initiator) + blackberry bold 9900(target) to do card simulation, and my target is to let blackberry simulate the mifare 1K.
Regarding to card emulation, I have the following questions
a. For mifare card emulation, is there necessary a secure element, say a "mifare card" inside the device? Can we just simulate the transaction of mifare commands through APDU. For example:
ACR122U-> APDU command (read value block 0x5: FF B1 00 05 00)->ISO 14443 frame (encapsulate the APDU) -> device -> software on device handled the APDU, and return the simulated result
b. Currenty, I can let my blackberry enter into card emulation ISO144434-A, and recognized as "mifare 1k" (modified the history byte to be as same as a real mifare card). Based on my assumption, when I send command, which is not a real APDU (0x11, 0x12, 0x13, 0x14), the software inside the phone "can" recevice my command and processs it. Also, the reader can get the dummy response
c. But if I send a real mifare APDU command (FF B1 00 05 00), the card reader always return 0x63 0x00, and my software inside the phone never receivced the command sequence from the reader.
ACR122U-> APDU command (read value block 0x5: FF B1 00 05 00)->ISO 14443 frame (encapsulate the APDU) -> device ---X--> software on device handled the APDU, and return the simulated result
Is there anything wrong with my concept ? or there must be a really mifare card inside the device, and let NFC controller route the real mifare APDU command to the secure element. Due to blackberry didn't provide a sign key for NFC secure element APIs. I just can let the phone simulate as a pure ISO14443-A type device.