NXP (formerly Philips SemiConductors) Mifare UltraLight chip (MF0ICU1) is a inexpensive contactless memory, widely used to make disposable transport tickets or other low-cost identification tags. As MF0ICU1 lacks of authentication or even password protection schemes, the reading application has to way to determine whether the serial number and the data come from a genuine card, or from a a spy/replay device emulating it (read this article for a few details).
The new Mifare UltraLight C chip (MF0ICU2), while remaining compatible with MF0ICU1, now provides a strong mutual-authentication algorithm, based on the standard 3DES (Triple-DES) algorithm. This allows to make sure the card in front of a reader is genuine (the application and the card share the same secret key).
Gala ECE is a successful example of the Mifare UltraLight C's use for ticketing and payment. To prevent the risk of theft in this sort of giant night-club, the bars were not allowed to accept bills or coins ; wristbands had to be credited at a few kiosks, and then used as electronic purses. When it comes to money, security is a major concern. The organisators wanted a secure purse solution yet remaining compliant with low-cost tags, and SpringCard successfully help them to specify and develop the it on top of Mifare UltraLight C.
Here's a few hints :
- Thanks to a 3DES-based key diversification algorithm, each card has its own secret key (the secret key of the card is computed from a 'root' key and the ID of the card). Doing so, if one key gets corrupted, the whole system remains safe. Only the 'root' key is critical,
- Confidence is based on the dynamic mutual-authentication (based on 3DES). This removes the need to digitally sign (or MAC) the data stored in the card, so the whole memory remains usable to store informations (including a small transaction log),
- Selective locking and protection of different blocks in card's memory allow a fast reading yet ensure that no writing could be made without prior authentication,
- As the card doesn't feature a true anti-tearing system, we choose to read-back the data after writing, but thanks to the fast USB link between the computer and the Prox'N'Roll, the added time is not noticeable for the consumer.
This experience has shown how easy it is to implement quickly a large scale ticketing and pre-payment system, in the same price range as 'conventional' memory cards (Mifare, Mifare UltraLight, or their equivalent in ISO 14443-B), but with a very good security level -that was before achievable only using more expensive smart cards.