MIFARE Ultralight, Classic y DESFire — Un recorrido en lenguaje claro
MIFARE es la familia de chips de NXP dentro de la mayoría de tarjetas NFC. Esto es lo que son Ultralight, Classic y DESFire, qué lee tu móvil y cuál elegir.
Una tarjeta te abre la puerta de la oficina. Otra guarda un solo viaje en autobús. Una tercera mantiene tu saldo de transporte durante años. Y todas comparten una misma palabra: MIFARE. Es la familia de chips de NXP que vive dentro de la mayoría de tarjetas sin contacto que tocas a diario, y las tres ramas que vale la pena conocer son Ultralight, Classic y DESFire.
Qué es MIFARE en realidad
MIFARE es una marca de NXP Semiconductors. Todos los chips de la familia funcionan a 13,56 MHz sobre ISO/IEC 14443A, la misma interfaz aérea que la mayoría de tarjetas NFC de consumo. La gama abarca Ultralight (tags de solo memoria), Classic (tarjetas de memoria heredadas), Plus (actualización a AES para Classic), DESFire (tarjetas inteligentes con microcontrolador) y los módulos SAM para lectores.
Como la radio es compartida, tu móvil detecta todos los chips MIFARE de la misma manera — mediante acoplamiento inductivo a 13,56 MHz. Lo que cambia entre ellos vive por encima de la radio: la organización de memoria y la criptografía.
MIFARE Ultralight — chips de memoria para tickets
Ultralight es el miembro más barato. El chip base lleva 64 bytes en 16 páginas de 4 bytes, sin criptografía a bordo: solo bits programables una sola vez (OTP) y bloqueos de escritura por página. Ultralight C añade 192 bytes y autenticación 3DES; las variantes EV1, Nano y AES amplían la memoria e incorporan protección por contraseña o AES.
Con él suelen fabricarse tickets desechables de transporte, pases de eventos y tarjetas de fidelidad. Es el primo cercano de la familia NTAG de NXP: ambos son chips de solo memoria a 13,56 MHz, pero NTAG sigue la especificación NFC Forum Type 2 Tag pensada para NDEF, mientras que Ultralight habla comandos ISO 14443-3 en crudo y vive sobre todo en la emisión cerrada de tickets.
MIFARE Classic — Crypto-1 y por qué está roto
Classic existe en versiones 1K (16 sectores) y 4K (40 sectores). Cada sector guarda bloques de 16 bytes más un trailer con dos claves (Key A y Key B) y bits de acceso — leer o escribir exige autenticar el sector primero.
El cifrado es Crypto-1, un cifrado de flujo LFSR de 48 bits diseñado internamente por NXP. En 2008 fue revertido por Karsten Nohl y otros; en 2009, ataques prácticos recuperaban claves de sector en segundos. NXP lanzó los chips reforzados Classic EV1, pero un ataque de Meijer y Verdult en 2015 también los rompió.
Está en todas partes — llaves de hotel, credenciales corporativas, algunas tarjetas de transporte — porque la base instalada es enorme. Aun así, NXP recomienda migrar cualquier nuevo despliegue a MIFARE Plus o DESFire. NFCore lee el UID y la envoltura NDEF de cualquier tarjeta Classic; sus herramientas de clonado están limitadas a etiquetas que tú posees, no a credenciales que otros te hayan emitido.
MIFARE DESFire — tarjetas con microcontrolador y AES
DESFire es otra historia: un microcontrolador con sistema de archivos ISO/IEC 7816-4. Tú creas aplicaciones, archivos y reglas de acceso por archivo. EV1, EV2 y EV3 soportan 3DES y AES-128; DESFire Light lleva 640 bytes y cinco claves AES-128, con certificación Common Criteria EAL4.
Admite autenticación mutua de tres pasos, mensajería segura plana / CMAC / completamente cifrada y velocidades de hasta 848 kbit/s. La mayoría de los sistemas modernos de transporte funcionan sobre él — Oyster, OV-chipkaart, Clipper — junto con buena parte del control de acceso corporativo.
iPhone vs Android — qué puede leer cada uno
iPhone Core NFC soporta DESFire de forma nativa mediante NFCMiFareTag, lee Ultralight sin problema y expone la envoltura NDEF de cualquier tarjeta formateada con ella. Lo que no puede hacer es Crypto-1 en crudo, así que Classic 1K es prácticamente de solo lectura en iPhone.
Android es más permisivo. android.nfc.tech.MifareClassic expone la autenticación por sector con Key A y Key B, pero solo en dispositivos con un controlador NFC compatible con NXP. DESFire y Ultralight funcionan en prácticamente cualquier Android con NFC. La advertencia honesta: incluso en Android, una tarjeta Classic sin sus claves no se puede leer.
Cómo elegir el MIFARE adecuado
Ticket desechable o pase de evento → Ultralight o Ultralight C. Pegatina tap-to-NDEF en un escritorio o pared → un NTAG suele encajar mejor. Algo sensible (acceso, pago, identidad) → DESFire EV3 o Plus EV2. No empieces un nuevo despliegue sobre Classic.
Para inspeccionar tarjetas que te encuentres, abre NFCore en iPhone o Android y tócalas — el inspector reporta UID, ATQA, SAK y NDEF; Memory Dump muestra las páginas en crudo de Ultralight; y la Command Console envía APDUs ISO 7816-4 a DESFire.
Preguntas frecuentes
¿Puede mi iPhone leer una tarjeta MIFARE Classic?
Solo su envoltura NDEF, y únicamente si el emisor la añadió. iOS Core NFC no implementa Crypto-1, por lo que las lecturas de sector en crudo no son posibles en iPhone. Un Android moderno con un controlador NXP puede hacer lecturas completas, pero solo cuando ya tienes las claves.
¿Es seguro seguir usando MIFARE Classic?
No para nada sensible. Crypto-1 se revirtió en 2008 y los ataques prácticos de recuperación de claves son públicos desde 2009. NXP recomienda migrar a MIFARE Plus o DESFire para cualquier sistema en el que el clonado no autorizado importe.
¿Qué diferencia hay entre Ultralight y un NTAG?
Son productos hermanos de NXP. Ultralight apunta a la emisión de tickets y habla ISO 14443-3; NTAG (213/215/216) es el NFC Forum Type 2 Tag diseñado para NDEF de partida. Para pegatinas de consumo, NTAG es la opción estándar.
¿Qué significa el "EV" en DESFire EV3?
EV significa "evolution version" — la forma de NXP de versionar una familia de chips manteniendo compatibilidad hacia atrás entre generaciones de lectores.
¿Listo para Comenzar?
Descarga NFCore y comienza a gestionar tus etiquetas NFC como un profesional.