Oscar Castiblanco
Oscar Castiblanco

Reputation: 1646

What kind of block format is the Desfire authentication message?

After selection of the card and RATS, i want to start the authentication.

In the mifare documentation is described that an 0A 00 should be sent. This data is supposed to be ISO14443-4. I have to frame it to fit ISO14443-3.

The Block format goes like that

PCB|CID|INF|EDC

In the PCB I am supposed to say if it is an I-block, R-block or S-block.

I saw an example in this thread where he sent something like that:

90 0A 00 00 01 00 00

Where is it documented this frame, it looks like none of the blocks described in ISO14443-4

Upvotes: 0

Views: 1903

Answers (2)

Trung
Trung

Reputation: 1655

  • The Block format PCB|CID|INF|EDC with I-block, R-block or S-block you described is actually ISO 7816-3 T=1 frame (not ISO 14443 frame, not ISO 7816-4 APDU). This is low-level ISO 7816 that implemented in driver level.

  • The thread you mentioned uses 7816 APDU.

  • 1st "to card" is actually 7816 APDU: CLA=90 INS=0A P1=00 P2=00 LC=01 Data=00 Le=00
  • 2nd "to card" is another APDU: CLA=90 INS=AF P1=00 P2=00 Lc=10 Data=43 9D 17 8E 9A 5F BA 70 8D 23 57 10 C9 32 D5 17 Le=00.

  • Depending on the version of Mifare DESFire, you can use native, native-wrapped or ISO 7816-4 command set styles.

  • 7816 wraps Mifare native command as follow: 90 [mifare native ins] 00 00 Lc [data] 00

  • From the 2 commands above, native commands are 0x0A (Authenticate) & 0xAF (More data).

  • You can't get the mifare native command set documentation freely. You need to sign an NDA. However, take a look at this doc to see learn more: http://www.nxp.com/documents/application_note/AN11004.pdf

  • Another resource: http://ridrix.wordpress.com/2009/09/19/mifare-desfire-communication-example/

Upvotes: 3

NFC guy
NFC guy

Reputation: 10228

This is not a ISO 14443 frame; it is an ISO 7816-4 APDU.

Upvotes: 2

Related Questions