MIFARE Classic è davvero NFC?
MIFARE Classic condivide lo strato radio con l'NFC, ma al di sopra fa girare un protocollo proprietario invece di un tipo di tag del NFC Forum. Android dice senza giri di parole che il supporto dipende dall'apparecchio. È abituale nei sistemi di controllo degli accessi già installati e una cattiva scelta per qualsiasi cosa nuova.
Dove si colloca
MIFARE è una famiglia di prodotti di NXP e non una norma. MIFARE Classic in particolare usa lo strato radio ISO/IEC 14443 tipo A, così che un telefono possa rilevarla, e da lì si allontana dalla strada del NFC Forum impiegando un proprio schema di comandi e di autenticazione invece di un tipo di tag del Forum.
È questa la risposta completa alla domanda del titolo. È NFC nello strato radio, e al di sopra non è un tag del NFC Forum.
Come è organizzata la sua memoria
Android documenta la struttura con precisione nel suo riferimento di MifareClassic, la descrizione autorevole più accessibile che esista.
| Variante | Memoria totale | Organizzazione |
|---|---|---|
| Mini | 320 bytes | 5 settori da 4 blocchi |
| 1K | 1024 bytes | 16 settori da 4 blocchi |
| 2K | 2048 bytes | 32 settori da 4 blocchi |
| 4K | 4096 bytes | 32 settori da 4 blocchi, poi 8 da 16 |
I blocchi sono sempre da 16 byte. Ogni settore richiede autenticazione prima di qualsiasi lettura o scrittura, con due chiavi per settore e bit di accesso che decidono cosa ciascuna chiave permette. È proprio quella chiusura per settori ad aver reso la famiglia attraente per il controllo degli accessi, dove zone diverse appartengono ad applicazioni diverse.
Perché il supporto non è universale
Poiché il protocollo è proprietario, leggerlo richiede un controller che lo implementi. Android lo dice direttamente: un errore «indica che il tag non è compatibile con MIFARE Classic oppure che questo dispositivo Android non supporta MIFARE Classic».
È questa la frase da ricordare. Per un apparecchio il cui controller NFC non implementa lo schema non esiste aggiramento via software, e il numero di apparecchi così non è piccolo.
Sicurezza
Lo schema di autenticazione che MIFARE Classic usa è proprietario ed è da molti anni oggetto di analisi accademiche pubblicate. Trattalo come un ostacolo e non come una protezione, e non costruire alcun sistema nuovo la cui sicurezza dipenda da lui. La cifratura è stata oggetto di ingegneria inversa da parte di Nohl e Plötz nel 2007 e in seguito violata in Dismantling MIFARE Classic, pubblicato nel 2008 da Garcia e colleghi.
Il verdetto per un'installazione nuova
Non sceglierla. Per contenuto che deve leggere il pubblico, un tag di tipo 2 costa meno e funziona su qualsiasi telefono. Per il controllo degli accessi esistono generazioni attuali di MIFARE e altre famiglie moderne, proprio perché Classic è invecchiata male.
Resta inevitabile là dove c'è un parco installato. Edifici pieni di lettori e migliaia di schede emesse non si sostituiscono perché una norma ha proseguito per la sua strada, e lavorare con ciò che c'è è legittimo. Tieni solo chiaro che stai mantenendo un sistema, non progettandone uno.
Domande frequenti
Un iPhone legge i tag MIFARE Classic?
Non come si legge un tag di tipo 2. Core NFC è costruito attorno ai tipi di tag del NFC Forum, quindi lo strato proprietario che rende utilizzabile un tag Classic non è accessibile allo stesso modo. Per un'installazione di consumo, dai per scontato di no.
MIFARE Ultralight è la stessa cosa?
No, e la distinzione conta. Ultralight è un'altra famiglia, che segue un tipo di tag del Forum e per questo si legge ovunque. Se un fornitore ti propone MIFARE per un'installazione pubblica, Ultralight è ciò che dovresti accettare.
Posso scrivere NDEF su un tag MIFARE Classic?
Esiste un modo documentato di ospitare NDEF nella sua struttura a settori, e Android espone a tale scopo una chiave di directory. Funziona là dove l'apparecchio supporta la famiglia, con il che torni allo stesso limite.
Devo sostituire un'installazione MIFARE Classic esistente?
Non per riflesso. Sostituire lettori e riemettere schede è caro, e il momento giusto è di norma un rinnovo che era comunque in programma. Quello che conviene smettere subito è appoggiarci nuove ipotesi di sicurezza.