I’m trying to understand the security of a contactless smartcard system, used for access control and payment. The card is a Mifare DESFire EV1 implementing ISO 14443 (see the this documentation collection).
I’ve read about side channel attacks targeted on extracting the private key from the smartcard (see Side-Channel Analysis of Cryptographic RFIDs with Analog Demodulation). They were successful but appear to be quite difficult to perform.
As I understand the authentication process of such cards, the reader and the card must both prove their knowledge of the secret key by a challenge-response procedure (the protocol is not public but has been reverse engineered in the paper Cloning Cryptographic RFID Cards for 25$ in chapter 3.2.). So all the reading devices must know the secret key, too. But there can be many readers from many vendors (e.g. coffee machines, small USB readers at cash registers, access control panels…), do all of them really have the secret key? Is there a standard on how the key has to be stored? It may be possible in some cases that the cards are authenticated over the network but I know that some of the devices work offline.
I’d expect them to be a quite promising attack vector, as coffee machine vendors generally don’t care much about security. Are there any papers describing a successful attack? Or is there just a similar chip in any of these readers where the key is stored in the same way?
Continue reading Do readers for the "Mifare DESFire EV1" smartcard really need to know the card’s secret key in order to authenticate the card?→