Introducing the new FunkyGate-IP NFC

SpringCard‘s technical team is proud to announce the launch of a new generation of contactless readers for high-end access control applications, the FunkyGate NFC family.

Using the same shell as previous generation’s FunkyGate-DW (Dataclock, Wiegand and RS485 interfaces) and FunkyGate-SU (RS232 and USB interfaces), the FunkyGate NFC family introduces a brand-new member, the FunkyGate-IP NFC.

As the name suggests, the FunkyGate-IP NFC brings the power of TCP/IP up to the door or gate. A standard RJ45 plug connects the reader to any Ethernet LAN (10 or 100 Mbps). More than that, the FunkyGate-IP+POE NFC reader is powered directly by the network (Power Over Ethernet), thus removing the need for the classical 12V power cable.

The FunkyGate-IP+POE eases the job of wiring the building to before installing the access control system. With only a single Cat5e right to the door, the reader is operational as soon as it is plugged to the network.

The FunkyGate-IP+POE eases the job of wiring the building before installing the access control system. With only a single Cat5e right to the door, the reader is operational as soon as it is plugged to the network.

The FunkyGate-IP NFC and FunkyGate-IP+POE NFC readers take full benefit of SpringCard‘s know-how in all the various 13.56MHz protocols, and pave the way for a easier and wider use of NFC mobile phones in access control and identification applications.

SpringCard MultiConf is a new, versatile, configuration application for all SpringCard products. Define the FunkyGate-IP NFC's configuration, write this configuration into a Master Card, apply this Card to all the readers you want to configure, and voila!

SpringCard MultiConf is a new, versatile, configuration application for all SpringCard products. Define the FunkyGate-IP NFC’s configuration, write this configuration into a Master Card, apply this Card to all the readers you want to configure, and voila!

Thanks to the 4 card processing templates -a concept shared with the Prox’N’Roll RFID Scanner and among all SpringCard standalone readers-, the FunkyGate-IP NFC is able to fetch virtually any data from current contactless cards and RFID tags.

The ‘NFC’ in the product’s name denotes the exclusive ability to support new reading schemes based on NFC Forum’s concepts :

  • Read an NDEF record stored on a NFC Tag and retrieve its data,
  • Receive an NDEF message from a mobile phone, using NFC Peer-to-peer technology (SNEP over LLCP, Push mode : PUT request from smartphone to reader),
  • Get data from a card-emulation application, possibly running on an Android system thanks to the HCE (Host Card Emulation) feature.
Thanks to Android's 4.4 HCE mode, the FunkyGate-IP is able to get an identifier or perform a transaction over the NFC smartphone, even in screen-off mode. (this is also an unusual selfie)

Thanks to Android’s 4.4 HCE mode, the FunkyGate-IP is able to get an identifier or perform a transaction over the NFC smartphone, even in screen-off mode.
(this is also an unusual selfie)

When it comes to communication with the access control system (embedded control unit or computer running an access control server application), FunkyGate-IP NFC provides an efficient, low-overhead, fully secured communication protocol using TCP sockets and AES cipher for authentication, integrity and confidentiality.

An SDK will be released soon, together with a demo of an access control server application running on a small Linux system, typically a Raspberry Pi.

The reader also embeds a tiny HTTP server that makes it possible to develop a client application in no-time using high-level languages. A simple REST API exposes the reader’s behaviour (basically controlling the LEDs and buzzer) and the card/tag numbers to the outer world.

An example setup of using the FunkyGate-IP in the cloud: the reader provides data using a REST API (HTTP request, JSON content). The demo application runs in the browser (JavaScript).

An example setup of using the FunkyGate-IP in the cloud: the reader provides data using a REST API (HTTP request, JSON content). The demo application runs in the browser (JavaScript).
(click the image to enlarge)

FunkyGate-IP NFC HTTP access (REST) demo-page

Using the FunkyGate-IP NFC through HTTP: a demo-page showing how to use the REST API from a JavaScript application (if you have a FunkyGate-IP, use the demo at www.springcard.com/goto/iwm2/

First batches of FunkyGate-IP NFC (and FunkyGate-IP+POE NFC) are already shipping to our early-adopters. Don’t hesitate to contact us for a demo or to evaluate the product.

New documents and the SDK will be published on our web site in the oncoming weeks. In a second step, the E663, which is the core the FunkyGate-IP NFC is built on, will be offered to developers and integrators as a versatile Ethernet-based RFID/NFC OEM module. Stay tuned !

The FunkyGate-IP is built upon the new SpringCard E663 core. Supporting Ethernet and TCP/IP, this OEM RFID/NFC module could be the basis of new generation solutions that closes the gap between contactless smartcard technologies and today's cloud architectures.

The FunkyGate-IP is built upon the new SpringCard E663 core. Supporting Ethernet and TCP/IP, this OEM RFID/NFC module could be the basis of new generation solutions that closes the gap between contactless smartcard technologies and today’s cloud architectures.

.

Mifare Plus in a nutshell

Following the breakdown of Mifare Classic security, NXP has released a new generation of contactless cards to fill the gap, the Mifare Plus. To ease the migration of the existing applications, this new chip keeps the memory model of the Mifare Classic : the card is structured as an array of 16-byte blocks, and the blocks are grouped into sectors of 4 or 16 blocks. The security (authentication and access control) is done on a per-sector basis. The two benefits of Mifare Plus are its new security scheme (EAL 4+ certified), based on state-of-art AES cipher with 128-bit keys, and its optional Random-ID for ISO 14443-3 anti-collision, useful to address card-holder-privacy concerns.

Type X or type S

Mifare Plus comes in two types.

Mifare Plus X is the full-featured product, allowing end-to-end AES-ciphered communication and a so-called ‘Proximity Check’ feature that makes it possible to prevent relay attacks, by measuring precisely the time elapsed between reader’s commands and card’s answers.

The command set of Mifare Plus X includes a function to select one-out-of-many Mifare Plus ‘Virtual Cards’ that could be emulated by a single NFC device.

Mifare Plus S is a lightweight version of the product, optimized to be a cost-effective drop-in replacement for Mifare Classic. It doesn’t support the ‘Proximity Check’ and has only limited support for the ‘Virtual Card’ scheme. More than that, it doesn’t support the Security Level 2 (see below).

Security Levels

The Mifare Plus has four different modes of operation, known as ‘Security Level’ 0, 1, 2 and 3. The Security Level is a static parameter of the card, the reader application can’t decide to operate the card arbitrary at one security level or at the other, it must operate the card given the card’ Security Level . Using a specific AES-secured exchange, the application may switch the card from one Security Level to a higher one, but this operation is not reversible (it is impossible to go from one Security Level to a lower one).

Security Level 0 is the out-of-factory configuration. In this mode, the card is not secured at all, and even not usable to store data.  Before all, the AES keys to be used all among the card’s life-cycle must be loaded, and the card must be switched to a higher Security Level. Pay attention that all the AES keys are transmitted in plaintext, so it is very important to do this personalization step in a trusted environment.

In Security Level 1, the Mifare Plus emulates a plain-old Mifare Classic. This gives the opportunity to replace existing Mifare Classic cards without the need to replace the readers or the handler applications. But as the card keeps on using the broken CRYPTO1 cipher, the security of the system is not better…  Yet an optional AES-based 3-pass authentication makes it possible to check whether the card is a real card and not an emulator, but per-se it doesn’t protect the data from unauthorized reading or modification.

In Security Level 2, the Mifare Plus uses the CRYPTO1 stream cipher just as Mifare Classic, but instead of using static 6-byte Mifare keys, the keys are generated dynamically by an AES-based 3-pass authentication. This is said to combine the security of AES with ‘the speed of CRYPTO1’. Anyway, in a typical architecture, the CRYPTO1 is implemented in the reader (by the NXP RC chipset actually) where AES is implemented in software on a very fast host computer. The gain in speed of ciphering remains small towards the overall bandwidth of the card-to-application channel; it may even be not significant enough to balance the added exchanges (loading of the CRYTO1 key into the reader after every AES authentication).  Also, the Mifare Plus S doesn’t support the Security Level 2.

In Security Level 3, the Mifare Plus doesn’t use CRYPTO1 anymore, but only AES. The new features (optional Random-ID, Virtual Card, Proximity Check) are available only at this Level.

Note that in Level 0 as in Level 3, communication is standard-compliant (ISO 14443-4 “T=CL”) where Security Levels  1 and 2 uses legacy Mifare frames (ISO 14443-3 type A).

Compliance between SpringCard contactless readers and Mifare Plus

Whatever the Security Level, all SpringCard contactless readers are fully able to communicate with the Mifare Plus chips (anti-collision loop and retrieval of UID, ISO 14443-3 A or ISO 14443-B communication protocols).

In Security Level 1 and 2, as the Mifare Plus’ UID is 7-byte long where the UID of a Mifare Classic is only 4-byte long, an upgrade had to be written in the CRYPTO1 authentication algorithm. This is available in firmware version 1.51 and newer. Earlier versions must be upgraded to be able to read and write data on a Mifare Plus at Level 1 or Level 2.

Using the card in Security Level 1 means only calling some functions embedded in the reader (Mifare Classic function set), but the other Security Levels  involve a new function set (AES authentication, ciphering and MACing, read and write commands on top of T=CL) that has to be implemented in the host computer. This requires a major redesign of the host applications. If the host is a microcontroller with limited resources, adding support for Mifare Plus could be difficult or even impossible without changing the hardware.

SpringCard APIs for Mifare Plus

As is has already been done for Desfire and Mifare UltraLight C, SpringCard has developed a convenient software library to ease the development of applications using Mifare Plus cards. This library is available as both as source code and as binary in the latest SDKs (PC/SC and SpringProx Legacy), together with a small sample software that shows how to personalize the card in Level 0, to change the Security Level (0 to 1, 1 to 2 or 3, 2 to 3) and to operate the card in Security Level 3, including

  • AES authentication (and generation of the session keys for ciphering and MACing)
  • Read and write functions with various options
  • Virtual Card feature

When the card is at Security Level 1, the existing samples for Mifare Classic could be used unchanged. The Security Level 2 is not implemented, as it isn’t available in Mifare Plus S that is expected to be the most frequently chosen one.

Documentation of the API is available online :

Choosing between Mifare Plus, Desfire EV1 or Mifare UltraLight C

The NXP Mifare family has now 3 contactless smartcards using ‘modern’ cryptography schemes for improved security.

Desfire EV1 is a full-featured microcontroller-based card, featuring 3DES and AES cryptography, a structured memory model (files within directories), and partially compliant with smartcard-standards (ISO 7816-4). Available capacities are 2KB, 4KB or 8KB.

Mifare UltraLight C is a low-cost wired-logic card with only 140 bytes of memory (the typical target is the market of disposable contactless tickets). A single 3DES key makes it possible to ensure that the card is genuine.

Just in-between, the Mifare Plus has a flat memory model (blocks) but with a good isolation between sectors,  2KB or 4KB of storage, and AES cryptography. The key advantage is the memory mapping that is the same as Mifare Classic, so existing applications that store data in the cards may be upgraded without major changes in their logic (yet changes in the security scheme and in the command set are not trivial…). But on the other hand, if the only need is to have a serial number or to store a small amount of data, Mifare UltraLight C does the job perfectly and is cheaper. As for Desfire EV1, its compliance to 7816-4 standard is the key in interoperable schemes (including future uses of NFC phones to emulate contactless cards), where the two other products remain totally proprietary.

Mifare UltraLight C : low-cost yet high security

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).

A Mifare Ultralight C embedded in a wristband, used for ticketing and pre-payment during the Gala ECE event.

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.