November 7th, 2013 by Elma Jane
Android 4.4 introduces an additional method of card emulation that does not involve a secure element, called host-based card emulation. This allows any Android application to emulate a card and talk directly to the NFC reader. This document describes how host-based card emulation (HCE) works on Android and how you can develop an app that emulates an NFC card using this technique.
Many Android-powered devices that offer NFC functionality already support NFC card emulation. In most cases, the card is emulated by a separate chip in the device, called a secure element. Many SIM cards provided by wireless carriers also contain a secure element.
Card Emulation with a Secure Element
The secure element itself performs the communication with the NFC terminal, and no Android application is involved in the transaction at all. After the transaction is complete, an Android application can query the secure element directly for the transaction status and notify the user.
When NFC card emulation is provided using a secure element, the card to be emulated is provisioned into the secure element on the device through an Android application. Then, when the user holds the device over an NFC terminal, the NFC controller in the device routes all data from the reader directly to the secure element.
Host-based Card Emulation
The NFC standards offer support for many different protocols, and there are different types of cards that can be emulated. When an NFC card is emulated using host-based card emulation, the data is routed to the host CPU on which Android applications are running directly, instead of routing the NFC protocol frames to a secure element.
Android 4.4 supports several protocols that are common in the market today. Many existing contactless cards are already based on these protocols, such as contactless payment cards. These protocols are also supported by many NFC readers in the market today, including Android NFC devices functioning as readers themselves. This allows you to build and deploy an end-to-end NFC solution around HCE using only Android-powered devices.
Posted in Electronic Payments, Mobile Payments, Near Field Communication, Smartphone Tagged with: 4.4, Android, app, card, cards, communication, contactless, controller, cpu, data, emulation, HCE, host, nfc, notify, payments, protocols, query, reader, routes, secure element, sim, status, terminal