NFC Introducción y compatibilidad con dispositivos móviles

Tras haber hablado anteriormente sobre Beacons y RFID, ahora es turno para NFC (Near Field Communication), un conjunto de tecnología sin cables de corto alcance usado hoy en día. Probablemente you estarás dando una vuelta a mi frase anterior, pero es una gran verdad. ¿Te has dado cuenta en la tarjeta que usas para el transporte público, para abrir la puerta de tu edificio o para el parking que tan solo con acercar la tarjeta sin meterla en ningún sitio consigues lo que pretendes? Eso se podría deberse a un chip NFC integrado en esas tarjetas por lo que llevarías uno ahora mismo en tu bolsillo.

 

¿Dónde puedo encontrarlos?

Estos chips están hoy en día muy integrados con nuestra vida cotidiana aunque no lo sepamos. Una lista de ejemplos en los que podemos encontrarlos puede ser:

  • Transporte público: bus, metro.
  • Alquiler de bicicletas
  • Parking
  • Pagos: tarjetas de crédito, tarjetas de débito, monederos electrónicos.
  • Autenticación: gimnasio, empresas, universidad, salud, turismo, casa.
  • Eventos
  • Ticketing
  • Marketing
  • Etc.

 

Contactless Payment - nfc

Tipos de chips NFC

La mayoría de estos chips soportan NDEF (NFC Data Exchange Format), una especificación de formato de datos estandarizados por  NFC Forum. Este formato se usa para describir se codifican una serie de acciones sobre una etiqueta NFC o como intercambiar entre 2 dispositivos NFC.

Existen 5 tipos de etiquetado estandarizado por NFC Forum que pueden ser formateados con dicho formato NDEF.

  • Tipo 1: Este tipo de etiquetas pueden ser de lectura y escritura. El tamaño de la memoria varía entre 96 bytes y 2 Kbytes. Se basa en NFC-A (ISO/IEC 14443A).
  • Tipo 2: El tipo 2 puede ser de lectura y escritura o también en modo solo lectura. Podemos encontrar estas tarjetas con un tamaño de memoria que va desde los 46 bytes a los 2 KB. También implementan NFC-A.
  • Tipo 3: Puede ser como el anterior, puede ser de lectura y escritura o también en modo solo lectura. El tamaño de memoria puede llegar hasta 1 MB. Está basado en JIS X-6319-4.
  • Tipo 4: Soporta los modos de lectura/escritura y también solo lectura. El tamaño de memoria pueden ser muy diferente pero con un limite de 32 KB. Completamente compatible con los estándares NFC-A (ISO/IEC 14443A) y NFC-B (ISO/IEC 14443B).
  • Tipo 5: Es el tipo más reciente, anunciado en 2015. También soporta los modos lectura/escritura y solo lectura. El tamaño de su memoria puede llegar hasta los 64 KB. Por último, este tipo está basado en ISO/IEC 15693.

Por otro lado, no solo existen estos tipos estandarizados por NFC forum, algunas empresas crean su propio estándar para hacer más difícil el acceso a sus chips, proveyendoles de una mayor seguridad.

Tras haber explicados los tipos de NFC actuales, voy a dar unos cuantos ejemplos para ver cuales encajan mejor a nuestras necesidades.

NTAG

Estas etiquetas son las más compatibles con los dispositivos actuales ya que se encuentran formateadas en NDEF e implementan los estándares publicados por NFC forum. Su contenido puede ir codificado y algunos ejemplos son NTAG212, NTAG213, NTAG215 y NTAG216.

Chips Mifare

Mifare es una marca registrada de NXP Semiconductors y cubre varias tecnologías privadas basadas en varios niveles del estándar ISO/IEC 14443, incorporando también algunos módulos de cifrado (AES y DES/Triple-DES) y también un algoritmo de cifrado propio. Sus más conocidos y usados chips actualmente son:

  • Mifare Classic. Aunque es uno de los formats más antiguos, introducido en 1994, no es compatible con la mayoría de dispositivos en el mercado ya que no se basa en ningún tipo del NFC forum y sí sobre un formato propio; sin embargo, sí que implementa el estándar ISO/IEC 14443. De hecho, sólo los controladores fabricados por NFC pueden leer estas etiquetas y solo muy pocos de esos pueden escribir sobre ellos. Su tamaño de memoria puede ser de 1KB o 4 KB. Además, incluyen módulos criptográficos para proveer una mayor seguridad a los datos que se almacenan en el chip. Usado comúnmente en transporte público.
  • Mifare Ultralight. Se trata de una evolución de las Mifare Classic. Basado en el tipo NFC tipo 2, tiene una gran compatibilidad con los dispositivos actuales. El tamaño de memoria es más pequeño que el de las Mifare Classic, tan solo unos 512 bytes y no proporciona ningún módulo criptográfico en su interior. Estas tarjetas las podemos encontrar como sustitución a los tickets de papel.
  • Mifare Desfire. Se trata de una evolución mucho más avanzada de las Mifare Classic, con una mayor seguridad tanto a nivel software como hardware. Se soportan los algoritmos de cifrado Triple-DES y AES. Mifare Desfire se basan en el tipo 4 y gracias a ello son muy compatibles en los dispositivos actuales. El tamaño de memoria varía entre los 2 y 8 KB. Además se encuentran habitualmente en el transporte público o como gestión de pagos.

Por cierto, NXP ofrece un SDK Android gratuito, TapLinx SDK, para ayudar a los desarrolladores a gestionar estos chips.

 

¿Cómo podemos operar con los chips NFC?

Esta tecnología tiene varios modos con lo que podemos usar los dispositivos y etiquetas NFC. Estos modos son:

  • Lectura/escritura: para llevar a cabo acciones de lectura y escritura en las etiquetas NFC.
  • P2P: permitiendo el intercambio de datos entre 2 dispositivos NFC.
  • Simulación de tarjeta: permite al dispositivo NFC actuar por sí mismo como una tarjeta NFC.

 

nfc-contactless

Compatibilidad con dispositivos móviles

Anteriormente, mencioné algo sobre compatibilidad pero no hemos indagado en ello. Ya va siendo hora de hablar sobre esto, pero nos enfocaremos sobretodo en los sistemas operativos para dispositivos móviles.

Android

Android soporta NFC desde hace mucho tiempo, concretamente desde la versión 2.3.3 (api 10), siendo el sistema operativo que proporciona una mayor compatibilidad hasta ahora. El sistema operativo desarrollado por Google soporta los 3 modos NFC explicados anteriormente (escritura y lectura, P2P y simulación de tarjeta) desde que lo introdujeron, salvo la simulación de tarjeta NFC que se añadió en Android 4,4 (api 19).

Además, podemos gestionar los tipos 1 – 4 de NFC, la lectura y escritura en chips Mifare incluso en los más problemáticos, los Mifare Classic que son compatible en unos pocos dispositivos. También, podemos usar TapLinx SD para gestionar los chips Mifare.

Lamentablemente, no soporta el tipo 5 estandarizado por el NFC forum.

Lee documentación de Android para obtener más información.

iOS

Por otro lado, iOS acaba de soportar esta tecnología usando el framework Core NFC,  con el que te permite operar los tipos NFC del 1 al 5 pero nos encontramos con las siguientes limitaciones:

  • Sólo se soporta desde iOS 11 y sólo en algunos modelos, desde iPhone 7 incluso incluyendo un chip NFC en el iPhone 6.
  • Tan sólo se permite la lectura, la escritura no lo está.
  • Sólo lee etiquetas que contienen datos en el formato NDEF.
  • La simulación de tarjetas tampoco está soportada.
  • No se permite la lectura de la propiedad UID.
  • No permite la lectura de chips Mifare Classic.

En conclusión, el único modo de usar escritura u otra operación de las no soportadas es usando un dispositivo NFC externo conectado vía bluetooth, por lo que esta tecnología no es muy interesante para usuarios normales.

Lee más sobre este framework de iOS para obtener mayor información.

Windows Phone

Por último, comentaré que desde Windows Phone 8.1 se permite la lectura/escritura de etiquetas así como la simulación de tarjetas, pero sólo en unos pocos dispositivos. Además, ya que Windows Phone se trata de un sistema operativo obsoleto, no se recomienda su uso para nuevos desarrollos.

Lista de dispositivos compatibles

A veces, es muy difícil proporcionar una lista de dispositivos compatibles con esta tecnología cuando alguien te de la pide, pero ShopNFC tiene una lista fenomenal que la van actualizando constantemente.

 

Artículos relacionados

https://ahorasomos.izertis.com/solidgear/beacons-on-android

https://ahorasomos.izertis.com/solidgear/rfid-mobile-technologies-applications

 

Deja un comentario

¿Necesitas una estimación?

Calcula ahora

Centro de preferencias de privacidad

Cookies propias

__unam, gdpr 1P_JAR, DV, NID, _icl_current_language

Cookies de analítica

Estas cookies nos ayudan a comprender cómo los usuarios interactúan con nuestra página web.

_ga, _gat_UA-42883984-1, _gid, _hjIncludedInSample,

Cookies de suscripción

Estas cookies se utilizan para ejecutar funciones de la Web, como no mostrar el banner publicitario y / o recordar la configuración del usuario dentro de la sesión.

tl_3832_3832_2 tl_5886_5886_12 tve_leads_unique

Otra