Módulo 04: Pentest em NFCs Mifare – Parte 1

Sumário

Aula 1: MIFARE Classic – Visão Geral

O MIFARE Classic é um chip de cartão de proximidade (13,56 MHz, ISO 14443A) da família MIFARE da NXP. Ele normalmente vem em versões de 1K ou 4K de memória, divididas em setores e blocos. Cada setor possui duas chaves (A e B) e um byte de controle que define permissões. A comunicação entre leitor e cartão é feita em camadas simples (sem criptografia no protocolo de comandos em si).

Esse chip usa o algoritmo proprietário **Crypto-1** para autenticação e cifragem dos blocos protegidos . Na prática, um leitor se autentica no cartão usando a chave A ou B de um setor, e então pode ler/ gravar dados nesse setor. Muitos sistemas corporativos e de transporte usaram o Classic por sua simplicidade e baixo custo.

Aula 2: Arquitetura de Memória

Em um cartão Classic 1K típico, há 16 setores de 4 blocos cada (cada bloco = 16 bytes). O último bloco de cada setor é o trailer (contém chaves A e B e bits de acesso). Os outros blocos armazenam dados. Por exemplo, setor 0 bloco 0 normalmente armazena o UID (identificador único do chip). É um layout simples para design de sistema legado.

Nas versões 4K há mais setores (32 de 4 blocos e 8 de 16 blocos), mas o princípio é o mesmo. A NXP projetou tudo isso em hardware ASIC barato. Por confiabilidade, o Classic foi popular em catracas e bilhetagem (como a inicial OV-chipkaart na Holanda).

Aula 3: Criptografia Crypto-1

Crypto-1 é o algoritmo simétrico de 48 bits usado no MIFARE Classic. Por décadas foi segredo até pesquisadores holandeses o quebraram por engenharia reversa. Em 2008 eles mostraram que o Crypto-1 pode ser quebrado em cerca de 200 segundos com um laptop antigo, desde que ~50 bits do fluxo de chave sejam conhecidos . Isso permitiu recuperar as chaves A/B do cartão.

Desde então, vários ataques melhoraram o processo: ataques “offline” só com o cartão, técnicas como Nested Attack e DarkSide tornam a clonagem instantânea. De fato, hoje sabe-se que qualquer Classic pode ser clonado em segundos usando hardware adequado (Proxmark3) . Por isso, o MIFARE Classic **não deve ser usado em novos sistemas sensíveis** – a própria NXP recomenda migrar para chips com AES .

Aula 4: Outros Chips (Ultralight, DESFire)

Além do Classic, há outras variantes MIFARE. O MIFARE Ultralight (C ou EV1) é um chip muito simples (alguns bytes) usado em bilhetes descartáveis; ele não tem criptografia forte (algoritmo trivial ou somente decremento de contador). Por isso, **todas** as Ultralights foram clonadas por apps de celular. O MIFARE DESFire (EV1/EV2) é mais avançado: usa 3DES/AES em hardware e ISO 14443-4 (APDU) . O DESFire EV1 possui detectores de falha e comando seguro, mas já foi atacado por canal lateral (bit flipping).

Em resumo, o clássico (Crypto-1) é inseguro e fácil de atacar. Os chips Ultralight são baratos e igualmente inseguros. Os chips DESFire usam criptografia forte, mas ainda devem ser usados com cuidados (e, como veremos, podem sofrer ataques de fault injection ou side-channel se implantados incorretamente). A tendência de mercado é migrar para MIFARE Plus ou DESFire com AES, ou até para cartões EMV NFC, deixando o Classic para recordar.