NFC APDU READ Performance Tuning

I read several hundred bytes from a DESFire card using APDU commands.

The data application is authenticated, and the response is MAC'ed.

I present a series of READ_DATA (0xBD) commands, each of which extracts 54 bytes + MAC, increasing the read offset for each command.

Will this operation work much faster if I use a long READ with ADDITIONAL_FRAME (AF) instead of many consecutive readings?

I understand that simple AF is 1 byte versus 8 bytes for the full READ DATA command, thus reducing the number of bytes transmitted by ~ 10%. But using AF will provide additional performance benefits, for example, due to less processing needed for the card?

I ask about this since I get an effective bit rate of only ~ 220 kbps when the theoretical limit is 424 kbps. See my question about it here.

+2
source share
2 answers

I changed my readings to use EXTRA FRAME.

This reduced the total number of sent + bytes received from 1628 to 1549 bytes by 5%.

The time taken by tranciecve () decreased from 602 ms to 593 ms, a decrease of 1.5%.

The conclusion is that using AF will not give additional performance to others, which is reduced time for transmitted bytes.

, , , , , , trancieved, ReadFile .

, SelectApplication ReadRecord , , .

+1

( , ...)

(AF), :

  • 7 , , 4 MAC (, , )

  • , 54 , MAC 2 , MACed ( DES 8). "AF way" MAC, , .

  • . ( 100%, DESFire ISO 14443-4 FSD)

  • AF (?) (- AF-), , )

( ) , 9 . .

:

  • SELECT APPLICATION AUTHENTICATE . , , ""

  • " ", () ""

, , ... !

+1

Source: https://habr.com/ru/post/1616367/


All Articles