MIFARE DESFire card or tag settings
A list of all valid configuration settings which relate to extracting secure data from DESFire cards or tags for the config.txt file. You may also need to use some of the general Card or tag settings alongside these.
DESFire cards may contain a number of applications, identified by an application ID. Each application may contain a number of data files, each identified by a file number, which may be individually protected. The VTAP reader supports a number of formats to read, decode or output the secure data. The format might be HID 10301 26‑bit or HID 10301 37‑bit. Reading data, from a DESFire card which contains secured data, therefore includes uploading the app key file, and providing information about the application ID and the key number to be used for authentication, along with the file number and the crypto algorithm for decoding each file and bit format.
To read DESFire cards will require setting NFCType4=D, uploading a suitable appkey#.txt files with the relevant application keys, and using all of these settings prefixed DESFire.... Only DESFire cards which are unformatted or Key-ID 26-bit HID 10301 data are currently supported.
Note: In these settings # is a number from 1 to 6, showing which settings form a group for reading each of 1 to 6 values from separate files and or applications on a DESFire card or tag. If you use multiple DESFire#... settings the values read will be output together, spaced by the DESFireSeparator string. The lowest numbered DESFire read will be first in the output string, then continuing in ascending numeric order. (For Wiegand data multiple reads are not supported, so only the lowest numbered DESFire#... settings will be used.) If no number is used the setting will be treated as set 1.
Some cards or passes can be set up so that each one carries a different key, although all are derived from the same master key. This is a feature of DESFire EV1 and EV2 cards, MIFARE2Go passes, Apple Wallet Access passes and others. One form of 'key diversification' scheme to support this is NXP AN10922. If your DESFire cards are using NXP AN10922 key diversification, you will need settings that are enabled by DESFire#Diversification=1. You will need to upload a Privacy key identified in DESFire#PrivacyKeySlot, and set a Privacy key number DESFire#PrivacyKeyNum, together with uploading System Identifier information (up to 16 bytes of data, saved as if it was another key) identified by DESFire#SysIDKeySlot. This is in addition to the usual settings needed to decode secured data in an encrypted application.
For examples refer to
Settings below:
DESFireAppID | DESFireCrypto
Hex number identifying your DESFire application
Identifies the cryptographic method used for DESFire cards or tags
Enables/disables DESFire key diversification settings.
Number identifying the file within your DESFire application to read
Number identifying the application key needed to read your DESFire file
Identifies which uploaded appkey#.txt file contains the key for accessing the DESFire file
Number identifying the Privacy key within the DESFire application that is used to restrict access to the real UID, when a random UID is used to protect the card identity. Needed when key diversification is in use.
Identifies which key slot, filled by an uploaded appkey#.txt file, contains the Privacy key for accessing the UID. Needed when key diversification is in use.
Identifies which bit format is used to store the data.
The number of bytes of data to read from DESFire cards, distinct from TagReadLength which applies to other cards and tags.
Identifies which key slot, filled by an uploaded appkey#.txt file, contains the System Identifier information. Needed when key diversification is in use.
Defines the length of the System Identifier key (number of bytes), when key diversification is in use. Optional when key diversification is in use.