Read data when key diversification is used

In Read secured data from DESFire cards or tags a single app key was used together with the card UID, application and file identifiers to select and decode the secured data in a particular file.

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. Your VTAP reader can decode data from cards or passes which have unique keys, set up in accordance with NXP AN10922 ("Symmetric Key Diversifications" Application Note v2.2 from NXP B.V. 2 July 2019).

If the card or pass UID is also hidden, you will need to provide an additional Privacy key, and Privacy key number, to authenticate in order to read the real UID. This is used together with System Identifier information (up to 16 bytes of data, saved as if it was another key) and the master key, to derive the card's unique read key. This is in addition to the usual settings needed to decode secured data in an encrypted application, described in Read secured data from DESFire cards and tags.

Extra configuration to support key diversification