Features

Quick access: Reader , card emulation , peer-to-peer , smartcard chipset support , connection handover

 

Overview

Open NFC interfaces can be classified at different levels, from very high-level interfaces that greatly simplify the usual tasks of NFC applications, to very low-level interfaces that allow fine tuning of NFC hardware parameters for example. The list below highlights some of the functionalities of the Open NFC stack. Please refer to the API Specification for the complete list of functionalities.

High-level interfaces

NDEF Messages:
These functions allow easy handling (parsing and building) of the message format defined by the NFC Forum.
Bluetooth and WiFi pairing:
implements the support of connection handover in just a few lines of code
Read / Write to any tag:
Easy and transparent access to tags of different technologies is possible.
P2P:
Peer-to-peer functions allow easy exchange of information in different modes over the LLCP exchange format defined by the NFC Forum.
Virtual Tags:
This feature greatly simplifies the task of emulating an NFC Tag

Intermediate-level interfaces

Card Emulation:
This allows fine control over the events and data exchanged when the NFC device is behaving like a tag.
Protocol-level data exchanges (“raw”):
This enables the application to fully specify the data exchanged with the cards, while taking care of some specificities like management of the checksums.

Low-level interfaces

NFC Controller:
gives direct (but filtered) access to the NFC Controller hardware to retrieve or set some internal parameters, including RF control, power modes, etc.
Security Stack:
provides a secured framework to limit access to some AIDs on Secure Elements (SecuRead, UICC, …) to identified applications only.
Secure Elements:
gives access to a secure element through a special pipe.

Back to top

 

Protocols and tags support in Reader mode

Please note that support of some tags and protocols may be limited depending on the underlying NFC hardware.

Open NFC provides a unified API to access all cards compliant with NFC Tags containing NDEF messages as defined by the NFC Forum. The API gives easy access to parsing (reading) and building (writing / emulating) NDEF messages and records.

Open NFC supports communication with the following cards, through dedicated API functions (see the documentation page for more information). Identification of the card type and low-level data exchanges are always supported on the following cards, higher functions may be unavailable when proprietary cryptography scheme is required:

The Open NFC stack supports the following standards, including API to directly exchange data at this level:

This list is growing with each new version of Open NFC, you can check the release notes to get the latest information.

Back to top

 

Protocols and tags support in Card Emulation mode

Open NFC enables an NFC device to appear as a card to another NFC device: this is the Card Emulation mode. The Card Emulation feature currently supports emulating ISO 14443 4-A and ISO 14443 4-B cards.

In addition, the Virtual Tag functions allow an easy implementation of a complete card in just a few lines of code.

It is also possible via Open NFC to configure the NFC controller to use a secure element (UICC or eSE) to answer to card emulation commands for specific protocols — for example, using an applet on the UICC to answer to ISO 14443 4-A requests, and an applet on the eSE to answer to ISO 14443 4-B requests. This support depends of course on the underlying NFC controller capabilities.

Back to top

 

Protocols support in Peer-to-Peer mode

Open NFC follows the specifications of ISO 18092/ECMA 340/NFCIP-1 and the specification of the NFC Forum for the Peer-to-Peer (P2P) communication, i.e. P2P connections are supported in Type F and optionally Type A protocols.

Both connection-oriented and connectionless transports defined in the LLCP specification are supported. Initiator and target, or target-only roles are supported.

Open NFC provides a simplified API to applications for using peer-to-peer mode, for different use-case situations.

Please refer to the documentation for more detail.

Back to top

 

Smartcard chipsets support

Open NFC supports two types of smartcard chipsets:

Open NFC provides functions to access and configure the smartcard chipset and the way the NFC Controller chipset interacts with this smartcard. Please check the Open NFC API specification for more detail.

Back to top

 

Connection Handover

The connection handover mechanism is defined by the NFC Forum as the “sequence of interactions that enable two NFC-enabled devices to establish a connection using other wireless communication technologies. Connection Handover combines the simple, one-touch set-up of NFC with high-speed communication technologies, such as WiFi or Bluetooth. The specification enables developers to choose the carrier for the information to be exchanged. If matching wireless capabilities are revealed during the negotiation process between two NFC-enabled devices, the connection can switch to the selected carrier.”

Open NFC supports two modes of connection handover: Negotiated handover (between two devices, using P2P mode) and Static Handover (between a device and an NFC Forum NDEF Tag, using either reader or card emulation mode).

The connection handover is the generic mechanism used to perform Bluetooth pairing and Wi-Fi pairing. Check the API documentation for more information on this mechanism.

Back to top

Except as noted otherwise, this content is licensed under the terms of the Apache 2.0 License. For details and restrictions, see the Content License.
Open NFC is a registered trademark of Inside Secure, All logos and graphics are copyrighted.