Having written about Beacons and RFID, now it is turn to NFC (Near Field Communication), a set of short-range wireless technologies commonly used nowadays. Maybe you are questioning my previous sentence, but it is really true. Have you realized that card you use public transport, opening the door or parking lot that without entering in any slot and getting your goal? So, you can carry now a NFC chip in your pocket perfectly.
Where we can find NFC chips?
These chips are very integrated with us although we don’t know it as I said before. A list of examples in which we can find them may be:
- Public transport: bus, metro
- Bike rental
- Parking lot
- Payments: credit cards, debit cards, wallets.
- Authentication: gym, company, university, health care system, tourism, home.
Types of NFC chips
Most of them support NFC Data Exchange Format (NDEF), a standardized data format specification by the NFC Forum which is used to describe how a set of actions are to be encoded onto a NFC tag or to be exchanged between two active NFC devices.
There are currently five NFC Forum standardized tag types that can be formatted to NDEF:
- Type 1: This tags type can set set as readable and rewritable. Memory size can be between 96 bytes and 2 Kbytes. Type 1 is based on NFC-A (ISO/IEC 14443A).
- Type 2: Type 2 tags can be rewritable or read-only. We can find these chips with a memory size between 46 bytes and 2 KB.These tags are also based on NFC-A.
- Type 3: This tag type can set as readable and rewritable or even just readable-only. Memory size is up to 1 MB. Type 3 is based on JIS X-6319-4.
- Type 4: Type 4 can also set as readable and rewritable or even just readable-only. Their memory size can have very different, but with a limit of 32 KB. This tag is fully compatible with NFC-A (ISO/IEC 14443A) and NFC-B (ISO/IEC 14443B) standards.
- Type 5: It is the newest type, announced in 2015. This tag type can set as readable and rewritable or even just readable-only. Memory size is up to 64 KB. Type 5 is based on ISO/IEC 15693.
All of these types include anti-collision mechanisms to avoid overwriting data.
On the other hand, these types standardized by NFC Forum are not unique ones. Some companies create their own standard to make more secure their chips.
Having explained current NFC types, I will enumerate some NFC chips to find a type that fits better to our needs.
These chips are most compatible with devices due to they are formatted in NDEF and implemented standards published by NFC forum. Their content can be encrypted and some examples are NTAG212, NTAG213, NTAG215 y NTAG216.
MIFARE is the NXP Semiconductors-owned trademark and it covers proprietary technologies based upon various levels of the ISO/IEC 14443, incorporating some encryption standards (AES and DES/Triple-DES) and also an older proprietary encryption algorithm. Their more known and used chips currently are:
- Mifare Classic. Although it is one of the oldest format (introduced in 1994), it is not compatible with most devices on market due to it is not based on any NFC forum types. However, it is on ISO/IEC 14443. Actually, only NFC controllers manufactured by NXP can read these tags and just some of them can write on these chips. Memory size is 1 KB or 4 KB. It includes cryptography module to provide more security to its chip. Commonly used in public transport.
- Mifare Ultralight. This is an evolution of Mifare Classic. Based on NFC Type 2, it is very compatible with current devices on market. Memory size is lower than Mifare Classic chip, just 512 bytes and it does not provide any cryptography module to make more secure its data. For example, we can find it as replacement of current paper tickets.
- Mifare Desfire. This is another evolution of Mifare Classic, but with more hardware and software security than previous version. Triple-DES and AES are cryptographic algorithms supported. Mifare Desfire is based on NFC Type 4, they are very compatible with current devices on market too. Finally, memory size can be found between 2 KB and 8KB. Commonly used in public transport or payments.
By they way, NXP offers a free Android SDK, TapLinx SDK, to help developers with management of these chips.
How can we work with NFC chips?
This technology have several modes we can use between devices and tags or stickers with. Those modes are:
- Reader/writer mode: to perform action for reading and writing NFC tags.
- P2P mode: allowing the NFC device to exchange data with other NFC peers.
- Card emulation mode: allowing the NFC device itself to act as an NFC card.
Compatibility with mobile devices
Previously, I mentioned something about compatibility but we have not gone in depth into compatibilities with operating system. It is about time to comment this topic, but I will focus on mobile operating systems.
Android supports NFC a long time ago, specifically from version 2.3.3 (api 10), being the most compatible mobile operating system so far. The operating system developed by Google supports the 3 NFC modes (read & write, P2P mode, card emulation) from they introduced it, except card emulation, added in Android 4.4 (api 19).
Moreover, we can manage NFC types 1 – 4, read/write on Mifare chips even the problematic Mifare Classic, compatible with just several devices. Also, we can use TapLinx SDK to use it for Mifare chips.
Unfortunately, Android does not support NFC Type 5 yet.
Read Android documentation for more information.
On the other hand, iOS support this technology using Core NFC framework. Let you to manage tag of types 1 through 5 but we can find some restrictions:
- Only supported from iOS 11 or above and just some models, iPhone 7 or above can use it even including a NFC chip on iPhone 6.
- Writing not allowed.
- Just reading NFC tags that contain data in the NFC Data Exchange Format (NDEF).
- Card emulation not supported.
- Reading UID property not allowed.
- Impossible reading Mifare Classic chips.
In conclusion, the only way to use writing on chips or other unsupported operation is using an external NFC device connected via bluetooth, so it is not very interesting for common users.
Read about the iOS Framework documentation if you want to know more information.
Finally, I will comment Windows Phone 8.1 supports read/write tags and card emulation, but just in few devices. Furthermore, Windows Phone is completely dead and it is not recommendable to use it for new developments.
List of compatible devices
Sometimes, it is very hard to provide a list of compatible devices with this technology when a someone is requesting it, but ShopNFC has a great list continuously updated.