maxieds / ChameleonMiniDESFireStack

🦎Mifare DESFire emulation support for the ChameleonMini (RevG) firmware. ☮✌️🇺🇦🇺🇸
Other
20 stars 3 forks source link

Firmware currently stuck in the anti collision loop #2

Closed maxieds closed 4 years ago

maxieds commented 4 years ago

Cross-listing from the original post:

If the problems are in the anti collision loop, this means it is stuck in the 14443A -3 protocol. https://www.nxp.com/docs/en/application-note/AN10834.pdf So a Omnikey reader ( CCID ) wil not even get the ATR ?

@lvandenb Can you elaborate a little more to help me figure out how to get through the anti collision loop? When I was testing the stock Chameleon MifareClassic and MFU configurations also wouldn't work with the target USB stick I initially bought for testing. Is this possibly something that could be a problem with the codec-related code in the firmware (not supporting the latest, greatest ISO-4 standard)? For example, I remember reading something like there being a parity setting to add support for the newer ISO standard in the libnfc docs. This would be something that gets appended by the codec mod/demod code, correct, not from within the DESFire emulation part of the code? Any help here is much appreciated.

FYI, I'm still working with the same Identive SCM SCL3711 USB stick that is compatible with libnfc right now.

maxieds commented 4 years ago

I have a good update: The DESFire emulation in the current firmware is functional with a sane KAOS RevG device. For some reason, maybe RF interference the always-on BT connection on a different device blocked transmission of bits while in the anti-collision loop. It works well now:

$ nfc-anticol
NFC reader: SCM Micro / SCL3711-NFC&RW opened

Sent bits:     26 (7 bits)
Received bits: 44  03  
Sent bits:     93  20  
Received bits: 88  6d  50  74  c1  
Sent bits:     93  70  88  6d  50  74  c1  40  d8  
Sent bits:     50  00  57  cd  

Found tag with
 UID: 886d5074
ATQA: 0344
 SAK: 88

The next plan of attack is to test the rest of the device functionality starting with AES authenticate commands. Then I have some more implementation work to do and test. Then we shall post asking for eager users to help with a more detailed testing procedure elsewhere. 😀

lvandenb commented 4 years ago

Great! I could have a try from end of this week, if there is access to the repo ? I'm using omnikey readers with built in 14443a protocol handling. So my experience is in the next layer using Native + AES security.

maxieds commented 4 years ago

I have resolved this issue. Also, native instructions without an initial anti collision loop is working well. Closing this historical first issue. 😃