Host Card Emulation (HCE) is a technology that allows the emulation of a contactless card by NFC applications hosted by the main processor. Some HCE applications have low security demands and do not need the support of a secure element. Alternatively, the HCE application may access security service functions provided by secure elements connected to the main processor or offered by security services on TEEs.
A Secure Element (SE) is a protected execution environment for NFC applications. A good analogy is the contactless payment chip card. The chip runs the EMV payment application for secure payment transactions. The key benefit is the higher security level provided by a secure element compared to a Trusted Execution Environment (TEE) or Host Card Emulation (HCE). The SE can take many forms:
- A UICC that runs the SIM and USIM applications on the smart phone
- An embedded smart card chip
- A smart micro SD card
Security measures for NFC devices and applications include:
- Device NFC on/off switch: to prevent unrecognized use of NFC functionality
- When implemented by the device manufacturer, NFC functionality is automatically turned off when the phone is asleep/off
- Data encryption: to prevent unauthorized access to confidential data during NFC transmission
- Strong authentication methods (strong passwords, finger biometrics, etc.) to prevent use by unauthorized users
- NFC tag locking to prevent overwriting
- Use of digital signatures on NFC tags to ensure the authenticity and integrity of tag data
- Usage of dynamic identifiers to avoid the tracking of NFC device users when the NFC application allows anonymous transactions
Security provisions are available for NFC solutions across a number of areas, including:
- Protection of:
- The integrity of NFC transactions
- The confidentiality of transactions
- The privacy of NFC device users
- Authentication of:
- The participating applications and websites
- The NFC user identity
EMVCo is the industry standard payment protocol for smart cards. It uses cryptographic algorithms to provide authentication of the card to the processing terminal and the card issuer’s host system.
ETSI’s standardization activities cover a broad spectrum of security issues. ETSI Smart Card Platform (SCP) defined the UICC as a basic platform for smart cards able to host different type of secure applications, including secure NFC applications. The SWP/HCI connection of the UICC allows a direct connection with the NFC Controller supporting even time-critical secure NFC applications.
GlobalPlatform defines an application management system for secure applications on secure elements. For example, this system allows applications stored on the secure element to be installed/deinstalled and enabled/disabled. The specifications can be found at https://www.globalplatform.org/specificationscard.asp. For NFC applications, this system is extended by Card Technology Contactless Service Card Specification Amendment C. The scope of this set of specifications is described in The GlobalPlatform Proposition for NFC Mobile: Secure Element Management & Messaging – April 2009 white paper.
The JavaCard Specification defines an environment for secure NFC applications hosted on UICCs or other secure elements. In addition to the access it provides to contactless communication via SWP/HCI connected to an NFC Controller, the JavaCard API offers optional cryptographic libraries for symmetric and asymmetric algorithms allowing NFC applications to implement their security functions.
NFC Forum specifications include several security-related features:
The Signature Record Type Definition (RTD) 2.0 technical specification enables the digital signing of NDEF messages stored on NFC tags. In Peer-to-Peer mode this specification allows the signing of transmitted messages between two NFC devices. This enables the receiving device to verify the integrity (and optionally, the author) of the message to bear digital signatures. By adding a signature to NFC tags, developers can build a tag authenticity checking process into their applications. Signatures can be used to protect any NDEF message in the NFC ecosystem and are not limited to tags.
In Peer-to-Peer mode, the Logical Link Control Protocol (LLCP) 1.3 technical specification uses industry-standard advanced cryptography for encryption and message authentication, to ensure the confidentiality of messages exchanged between peer devices. It includes a secure channel that is negotiated uniquely for each new peer-to-peer session to prevent passive eavesdropping without the need for the NFC applications to manage the necessary keys for the secure channel.
The NCI 2.0 Technical Specification offers a flexible concept to integrate different types of secure elements into a NFC device. In principle, a secure element can be either directly connected to the NFC Controller allowing secure and prompt-performing NFC applications, or it can be connected to the main processor of the device (Device Host) providing security services to NFC applications (e.g., Host Card Emulation applications).
NCI even supports secure elements directly connected to both the NFC Controller and the main processor to address the needs of different types of NFC applications (this solution is used, for example, by NFC SIM cards).
NCI supports different interfaces on the secure element. In addition to the SWP/HCI connection used by NFC SIM cards and many other secure elements, secure elements with other connections are supported (e.g., the ISO/IEC 7816 APDU Smartcard interface).
The powerful routing mechanism of NCI 2.0 allows it to forward received RF commands to the right entity hosting the NFC applications. This mechanism permits secure NFC applications hosted on different secure elements to coexist with HCE applications inside the same NFC device. This mechanism supports NFC applications installed on secure elements that announce their configurations and capabilities according to the GlobalPlatform Amendment C Specification.
As the global organization with a charter to advance the use of NFC technology, the NFC Forum plays a leading role in fostering the development and deployment of secure NFC solutions. The NFC Forum considers NFC security to be of importance and supports an active, dedicated Security Working Group to address security issues and opportunities.
The NFC Forum’s primary role is to develop interface specifications that enable the use of NFC in the broadest range of applications, which have varied security needs. Rather than predefine the security requirements of all applications that use the NFC interface, the NFC Forum works to ensure that tools and interface specifications are available that allow each application to operate with the appropriate level of security. By fostering alliances and collaboration with the aforementioned groups, the Forum can ensure the most secure solutions can be deployed.
Everyone in the NFC value chain plays a role in ensuring the security of NFC interactions. This includes:
- Standards bodies
- Device manufacturers
- Secure element manufacturers
- NFC tag manufacturers
- NFC application developers
- Solutions developers
- Mobile carrier
- Certification test laboratories
NFC includes security features incorporated in NFC Forum specifications; supports security standards developed by industry standards bodies; and allows device manufacturers, solutions developers, service providers, and users to employ additional security measures they deem appropriate to each application.
NFC technology supports security standards developed by standards bodies and industry consortiums, including EMVCo, ETSI, GlobalPlatform, an GSMA.
Developers of NFC applications are incorporating these and other security measures, including passwords, strong authentication, and access control, that further protect devices, stored information, and transaction integrity and confidentiality
NFC has a very short transmission range. Because NFC Forum devices and NFC Forum tags work only within a short distance, they provide an initial degree of protection from attacks.