Mifare emulation

Burak Ilgıcıoğlu
Contactless World
Published in
2 min readApr 1, 2011

Mifare is definitely the most used contactless chip in the world. I’ve already covered main topics on Mifare on my previous posts. You can find it everywhere; it has been used billions of times, hacked, cloned and it is still the most popular chip in the world.

If any software product has this much of popularity in its class, the need for running it on different platforms is a must. That is what NXP did years ago. Now almost all dual interface chips -including SIM cards- have the option for running mifare as an emulation.

What is mifare emulation? Mifare emulation is actually an application running on the chip operating system. It emulates the mifare classic operating system by providing the exact same hardware and software functionality. Once it has been installed, it responds exactly like a native mifare chip to the readers transmitting mifare commands. Dual interface chips have the contact interface and mifare emulation automatically utilizes this interface. This brings the ability to personalize the mifare emulation applet over the contact interface, which is simply impossible on a native mifare chip.

It is of course very useful to have the mifare functionality on other platforms, but it has some drawbacks as well:

  • First, it has the exact same security problem with the native mifare. But this is something you must have considered while using mifare classic, so it can be skipped.
  • Mifare emulation applet is generally slower than native mifare chip while responding the mifare commands. You need to consider this if you must use native mifare chips and mifare emulation at the same time.
  • You may have to re-configure the readers if they are set to work only with native mifare classic chips.

Another tip is that some vendor’s implementation does not allow to read the Mifare UID from contact interface. This is a great barrier for personalization where you will need the UID for key diversification.

Mifare emulation applets provide an API for accessing the mifare blocks over the contact interface during run time. This way, you get the chance to update the data stored in the mifare blocks during another contact transaction.

DesFire has also been implemented as an emulation and Mifare Plus is also announced to be released next in 2011/2012.

--

--