Mifare Classic Protocol

gianbo85 at libero.it gianbo85 at libero.it
Thu Oct 30 23:04:48 UTC 2008


Hello everybody,
I am an electronic engineering student and I am trying to work 
with Mifare Classic cards. In the previous email i was asking about building 
the OpenPCD device now I'll some problems with the protocol itself.

I know 
about the following security systems on Mifare Classic:

-transport key
-
Encrypted communication
-KEY A + KEY B for every sector
-Mutual challenge 
between card and reader using random numbers and hidden algorythm

but i still 
can't understand how they work all together and which ones of them are managed 
by the RC632 itself.

This is what I understood:

-the card is put in the 
magnetic field of the reader
-the card sends its UID to the reader for 
anticollision
-the reader sends to the card the transport key (that should 
always be FF FF FF FF or something like this)
-the card sends the first 
challenge and the reader computes the reply and sends it back
-the reader sends 
a challenge and the card computes the reply and sends it back
-Now they are 
ready to communicate (read/write)
-the reader selects the sector it wants to 
work with and then sends Key A and/or B to get the privileges for that sector


Is this right???? From what I understand the NXP RC632 takes care of everything 
from the encryption to the challenges. The only thing that limits the user are 
keys A and B that are different for every card and must be known.

Any help is 
more than welcomed :-)

Gianluca



More information about the openpcd-devel mailing list