What The Access Bits In The MIFARE Classic Card Mean

image-20200119110122728 Source: http://cache.nxp.com/documents/data_sheet/MF1S50YYX_V1.pdf


Example: SwissPass AC are set to 7F 07 88 00 for all sectors.

As bits:

hexbinary
7F0b01111111
070b00000111
880b10001000

The subscripts in the following table stand for which block they regard.

C from byte6value
1
0
0
0
0
0
0
0
C from the first half of byte8value
1
0
0
0

The other bits are redundant.

Sorted by blocks, we get this:

Block
0001
1000
2000
3 (sector trailer)011

image-20200119113547603

Manufacturer block: the read-only condition is not affected by the access bits setting!

So for the first sector, block 0 is read-only. For the other sectors, it can be read by both keys and not written to, but it can be decremented.

Blocks 1 and 2 can be read to and written to with both keys.

The sector trailer (block 3) has its own table:

image-20200119114234068

So the keyA can be written by keyB. KeyB can also be written by keyB.

Reading the keys is officially not possible, but there are attacks available for that.

The Access Conditions can be read with both keys but can be modified only with keyB.