Integración de NFC en Plasma Mobile

Integración de NFC en Plasma Mobile

Volker Krause, un desarrollador de la Comunidad le ha dado por examinar el estado de la tecnología NFC (Near Field Communication) en el ecosistema de Linux y las iniciativas para integrarla en Plasma Mobile (KDE) llegando las siguientes conclusiones:

En primer lugar Volker ha pensado en los casos en los que utilizamos preferentemente NFC. En un principio la lectura de etiquetas NDEF estáticas era la aplicación básica, pero en la práctica ha sido desplazada por los códigos QR.

Integración de NFC en Plasma Mobile

De esta forma, los usos más relevantes del NFC residen en la interacción mediante el enfoque de tarjeta inteligente (smart card), donde se envían comandos bidireccionales:

  • Autenticación con tokens FIDO2 / Passkeys.
  • Lectura de documentos de identidad digitales (como la AusweisApp en Alemania).
  • Cerraduras digitales (protocolo Aliro) o llaves de hotel en carteras digitales.
  • Emulación de tarjeta (HCE – Host Card Emulation), fundamental para simular una tarjeta de crédito en los pagos móviles.

Con este panorama, Volker, ha decidido estudiar el el conjunto de componentes actuales en el ecosistema Linux, los cuales presentan varias deficiencias:

  • Controladores: Conviven el sistema de controladores PC/SC (orientado a lectores USB en escritorio) y el subsistema NFC del kernel de Linux (utilizado por teléfonos y lectores integrados en portátiles).
  • Middleware (neard): Es el servicio estándar para hacer de puente entre el hardware y las aplicaciones a través de D-Bus. Sin embargo, se encuentra prácticamente desatendido o estancado: se cuelga con ciertos tipos de etiquetas, solo admite operaciones básicas NDEF y carece de soporte para enviar comandos personalizados o para HCE. Por otro lado, la alternativa nfcd (de SailfishOS) soporta características avanzadas pero depende de la interfaz NFC de Android en lugar del kernel de Linux.
  • API y Aplicaciones (Qt NFC): Soporta las funciones necesarias, pero la integración con Linux tiene limitaciones estrictas (los backends PC/SC y neard se eligen en tiempo de compilación y no se pueden alternar dinámicamente; las funciones avanzadas fallan por falta de soporte en neard).

A partir de la situación actual, Volker, opina que probar hardware físico como lectores NFC o dispositivos como Proxmark3 suele ser engorroso. De esta forma piensa que se debe aprovechar que el kernel de Linux soporta dispositivos NCI virtuales, y ha creado una herramienta en espacio de usuario para emular lectores y etiquetas NFC totalmente por software, lo que facilita las pruebas en entornos de desarrollo o en imágenes de postmarketOS.

Y dado que es desarrollador de Plasma Mobile se dispone de dotar a Plasma Mobile de soporte NFC, el autor ha desarrollado las primeras interfaces y demonios:

  • Applet de Plasma: Un interruptor rápido en el sistema para activar/desactivar el NFC y controlar su estado.
  • Neardevil: Un demonio para la sesión de usuario (al estilo de bluedevil para Bluetooth) que gestiona el estado de los lectores, lanza notificaciones al detectar etiquetas NDEF, gestiona el emparejamiento Bluetooth/Wi-Fi mediante NFC y permite recibir contactos (vCards).

No obstante, Volker piensa que existe el problema de depender de neard bloquea el desarrollo de los casos de uso más avanzados e interesantes (pagos, FIDO2, tarjetas de identidad). Para avanzar, el autor plantea tres posibles vías a la comunidad de Linux Móvil:

  1. Revivir y actualizar el proyecto neard.
  2. Crear un backend nativo para el kernel de Linux en nfcd.
  3. Desarrollar o bifurcar (fork) una solución propia que sirva como estándar unificado para todo el ecosistema de Linux Móvil.

¿La solución? Mejor os dejo la reflexión final de Volker:

«Sin embargo, ese “nosotros” no se refiere solo a KDE; necesitamos algo que funcione para todo el ecosistema de Linux móvil. Se trata de una infraestructura de plataforma compartida que suele requerir acceso exclusivo al hardware, por lo que no va a funcionar si cada uno intenta hacer la guerra por su cuenta.

¡Cualquier opinión o aportación sobre esto será enormemente bienvenida!»

Así que ya sabéis, si tenéis algo que aportar no dudéis en plasmarlo en el hilo de comentarios del artículo original: NFC Integration for Plasma Mobile

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *