O MIFARE Classic é realmente NFC?
O MIFARE Classic compartilha a camada de rádio com o NFC mas roda um protocolo proprietário acima dela, em vez de um tipo de tag do NFC Forum. O Android afirma com clareza que o suporte depende do aparelho. Ele é comum em sistemas de acesso já instalados e é uma escolha ruim para qualquer coisa nova.
Onde ele se situa
MIFARE é uma família de produtos da NXP, não uma norma. O MIFARE Classic em particular usa a camada de rádio da ISO/IEC 14443 Tipo A, então um celular consegue detectá-lo, e depois se afasta do caminho do NFC Forum ao usar um esquema proprietário de comandos e de autenticação em vez de um tipo de tag do Forum.
Essa é a resposta completa à pergunta do título. Ele é NFC na camada de rádio, e não é uma tag do NFC Forum acima dela.
Como a memória dele é organizada
O Android documenta a estrutura com precisão na referência MifareClassic dele, que é a descrição autoritativa mais acessível disponível.
| Variante | Memória total | Estrutura |
|---|---|---|
| Mini | 320 bytes | 5 setores de 4 blocos |
| 1K | 1024 bytes | 16 setores de 4 blocos |
| 2K | 2048 bytes | 32 setores de 4 blocos |
| 4K | 4096 bytes | 32 setores de 4 blocos, depois 8 de 16 |
Os blocos têm sempre 16 bytes. Cada setor exige autenticação antes de qualquer leitura ou gravação, com duas chaves por setor e bits de acesso que decidem o que cada chave permite. Esse bloqueio por setor é exatamente o que tornou a família atraente para o controle de acesso, onde áreas diferentes pertencem a aplicações diferentes.
Por que o suporte não é universal
Porque o protocolo é proprietário, lê-lo exige um controlador que o implemente. O Android diz isso diretamente: uma falha “indica que a tag não é compatível com MIFARE Classic, ou que este aparelho Android não suporta MIFARE Classic”.
É essa a frase a guardar. Para um aparelho cujo controlador NFC não implementa o esquema não existe contorno por software, e a população desses aparelhos não é pequena.
Segurança
O esquema de autenticação usado pelo MIFARE Classic é proprietário e é objeto de análises acadêmicas publicadas há muitos anos. Trate-o como um obstáculo e não como uma proteção, e não construa um sistema novo cuja segurança dependa dele. A cifra foi submetida a engenharia reversa por Nohl e Plötz em 2007 e depois quebrada em Dismantling MIFARE Classic, publicado por Garcia e colegas em 2008.
O veredito para uma instalação nova
Não o escolha. Para conteúdo destinado a ser lido pelo público, uma tag Tipo 2 é mais barata e funciona em todo celular. Para controle de acesso, as gerações atuais do MIFARE e outras famílias modernas existem precisamente porque o Classic envelheceu mal.
Onde ele continua inevitável é numa base instalada. Prédios cheios de leitores e milhares de cartões emitidos não são trocados porque uma norma avançou, e trabalhar com o que existe é legítimo. Só fique claro que você está mantendo um sistema em vez de projetar um.
Perguntas frequentes
As tags MIFARE Classic são lidas num iPhone?
Não do modo como uma tag Tipo 2 é. O Core NFC é construído em torno dos tipos de tag do NFC Forum, então a camada proprietária que torna uma tag Classic útil não é alcançável do mesmo jeito. Presuma que não para uma instalação de consumo.
O MIFARE Ultralight é a mesma coisa?
Não, e a distinção importa. O Ultralight é uma família diferente que segue um tipo de tag do Forum, e é por isso que ele é lido em todo lugar. Se um fornecedor oferece MIFARE para uma instalação pública, o Ultralight é o que aceitar.
Eu consigo gravar NDEF numa tag MIFARE Classic?
Existe um jeito documentado de dispor o NDEF na estrutura de setores dela, e o Android expõe uma chave de diretório de aplicações para esse fim. Funciona onde o aparelho suporta a família, o que traz você de volta à mesma limitação.
Eu devo substituir uma instalação MIFARE Classic existente?
Não por reflexo. Trocar leitores e reemitir cartões é caro, e o momento certo é em geral uma renovação que já ia acontecer de todo modo. O que deve parar de imediato é acrescentar novas premissas de segurança sobre ela.