Home
Grátis

Mapa de Memória Mifare

Visualize a estrutura de setores e blocos de um cartão Mifare Classic 1K

0 / 2048 characters

Visualizador do Mapa de Memória Mifare Classic 1K: Compreenda Cada Setor e Bloco do seu Cartão

1O que é o Mifare Classic e por que Visualizar a sua Memória?

O Mifare Classic é uma das tecnologias de cartões inteligentes sem contacto mais amplamente implementadas do mundo. Desenvolvido pela NXP Semiconductors (anteriormente Philips), os cartões Mifare Classic operam a 13,56 MHz (HF, ISO 14443 Tipo A) e estão presentes em milhares de milhões de cartões de transporte, credenciais de controlo de acesso, cartões de fidelização e identificadores universitários em todo o mundo. O '1K' no Mifare Classic 1K refere-se a 1 kilobyte (1024 bytes) de memória acessível pelo utilizador, organizada numa estrutura muito específica que requer compreensão para trabalhar com ela de forma eficaz. Ao contrário das tags NDEF onde os dados são armazenados livremente, o Mifare Classic tem uma organização de memória rígida com setores, blocos, chaves de autenticação e bits de controlo de acesso que determinam quem pode ler ou escrever em cada parte do cartão. Esta ferramenta recebe o dump hex bruto de um cartão Mifare Classic 1K — uma cadeia hex de 2048 caracteres representando todos os 64 blocos de 16 bytes cada — e apresenta-o como uma tabela organizada e codificada por cores mostrando setores, tipos de bloco, conteúdo de dados e as chaves e condições de acesso analisadas em cada trailer de setor. É uma ferramenta essencial para integradores de sistemas NFC/RFID que precisam de analisar o conteúdo de cartões, investigadores de segurança que estudam as vulnerabilidades do Mifare Classic, programadores que constroem sistemas de controlo de acesso ou transporte, e estudantes que aprendem sobre arquitetura de cartões inteligentes sem contacto.

2Arquitetura de Memória do Mifare Classic 1K Explicada

O cartão Mifare Classic 1K tem uma organização de memória precisamente definida que todo o programador e integrador deve compreender. Capacidade total: 1024 bytes organizados em 16 setores (Setor 0 a Setor 15). Estrutura de setor: Cada setor é constituído por 4 blocos de 16 bytes cada. Os blocos são numerados de 0 a 63 globalmente (números de bloco absolutos) ou de 0 a 3 dentro de cada setor (números de bloco relativos). Blocos de dados (blocos 0, 1, 2 de cada setor): Estes blocos armazenam dados reais. Cada bloco tem 16 bytes. Os dados da aplicação (registos de controlo de acesso, saldo de transporte, etc.) são armazenados aqui. Trailer de Setor (bloco 3 de cada setor): O último bloco de cada setor é o Trailer de Setor — NÃO armazena dados da aplicação. Em vez disso, contém a configuração de segurança para esse setor: bytes 0–5: Chave A (6 bytes, 48 bits). Bytes 6–9: Bits de Acesso (4 bytes, mas apenas 3 bytes usados para condições de acesso mais um byte 'gpb'). Bytes 10–15: Chave B (6 bytes, 48 bits). A Chave A é sempre ilegível — ler o trailer do setor devolve zeros ou bytes mascarados na posição da Chave A. A Chave B pode ser usada como armazenamento adicional de dados se os bits de acesso estiverem configurados para tal. Caso especial — Setor 0, Bloco 0: O primeiro bloco (bloco absoluto 0) é o Bloco do Fabricante. Contém o UID do cartão (4 ou 7 bytes), BCC, SAK, ATQA e dados do fabricante. Em cartões Mifare Classic genuínos, este bloco é protegido contra escrita pelo fabricante.

3Aplicações Reais: Onde são Usados os Cartões Mifare Classic

Apesar da sua antiguidade e das vulnerabilidades de segurança conhecidas, o Mifare Classic continua extraordinariamente difundido devido à enorme base instalada de infraestrutura construída em torno dele. Sistemas de transporte público: Alguns dos cartões de transporte mais famosos do mundo usam ou usaram o Mifare Classic 1K — incluindo o OV-chipkaart original (Países Baixos), o primeiro Oyster Card (Londres) e sistemas de transporte em muitas cidades na Ásia, Europa de Leste e América Latina. O saldo e os dados de viagem são armazenados nos blocos de dados, com as chaves do trailer de setor a protegerem o acesso. Sistemas de controlo de acesso: Milhões de edifícios de escritórios, hotéis, campus universitários e instalações seguras usam cartões Mifare Classic para controlo de acesso a portas. Apenas o UID do cartão é usado em muitos sistemas legados (uma abordagem fundamentalmente insegura), enquanto implementações melhores armazenam credenciais cifradas nos blocos de dados protegidos por chaves de setor. Cartões de fidelização e adesão: Muitas cadeias de retalho, bibliotecas, ginásios e clubes distribuem cartões Mifare Classic para programas de fidelização, armazenando o ID do membro e o saldo de pontos no próprio cartão. Cartões universitários: As universidades emitem identificadores de estudante baseados em Mifare Classic que funcionam também como cartões de biblioteca, cartões de pagamento na cantina e cartões de acesso às residências — tudo armazenado em diferentes setores do mesmo cartão 1K usando o padrão MAD. Estacionamentos e máquinas de venda: Os sistemas de estacionamento e as máquinas de venda automática que aceitam pagamento sem contacto utilizam frequentemente o Mifare Classic com valor armazenado no cartão. Para novas implementações, a NXP recomenda o Mifare Plus (compatível com versões anteriores mas com encriptação AES) ou o Mifare DESFire para requisitos de maior segurança.

4Bits de Acesso, Trailers de Setor e Modelo de Segurança

Os bits de acesso no Trailer de Setor são a parte mais complexa e crítica do modelo de segurança do Mifare Classic. Compreendê-los é essencial para quem configura ou analisa cartões Mifare Classic. Estrutura dos bits de acesso: Os 3 bytes de acesso (bytes 6, 7, 8 do trailer de setor) contêm 4 grupos de 3 bits cada (C1, C2, C3) para cada um dos 4 blocos do setor (3 blocos de dados + o trailer). Estes bits são armazenados num formato redundante com os seus complementos para detetar erros: os bytes 6-7 armazenam os valores complementados, o byte 8 e parte do byte 7 armazenam os valores reais. Condições de acesso para blocos de dados: Cada combinação de C1C2C3 define diferentes permissões de leitura/escrita para a Chave A, a Chave B e a condição 'nunca'. A configuração de transporte predefinida (bytes 6-9 = FF 07 80 69) permite acesso completo de leitura/escrita com a Chave A. Uma configuração de produção típica restringe o acesso de escrita apenas à Chave A e permite o acesso de leitura com qualquer uma das chaves. Condições de acesso para o Trailer de Setor: O próprio trailer também é protegido por bits de acesso. Conforme a configuração, a Chave A pode ser legível ou ilegível, e qual a chave necessária para modificar as chaves e os bits de acesso pode ser configurada. A melhor prática do Mifare Classic é tornar a Chave A ilegível após a personalização. Problemas de segurança conhecidos: O Mifare Classic usa uma cifra de fluxo proprietária chamada Crypto-1. Esta cifra foi submetida a engenharia inversa em 2008, levando a ataques práticos que permitem recuperar chaves de setor sem as conhecer antecipadamente, usando apenas um leitor NFC comum. É por isso que o Mifare Classic NÃO deve ser usado para novas aplicações de alta segurança.

5Como Obter um Dump do Mifare Classic e Ferramentas de Análise

Para usar o visualizador do Mapa de Memória Mifare, precisa de um dump hex completo de 1024 bytes do cartão. Estes são os métodos mais comuns para o obter. Usando o NFC Tools Pro (Android): A versão Pro do NFC Tools consegue ler setores do Mifare Classic se fornecer as chaves corretas. Vá a 'Avançado' → 'Mifare Classic' e tente ler cada setor. A app tenta automaticamente as chaves predefinidas (0xFFFFFFFFFFFF, 0xA0A1A2A3A4A5, etc.). Usando o MIFARE Classic Tool (Android, gratuito, código aberto): Esta app dedicada testa um dicionário de chaves incorporado contra cada setor. Uma vez desbloqueados os setores, pode fazer o dump de todo o cartão para um ficheiro .mct contendo os dados hex no formato setor a setor. Converta o .mct para uma cadeia hex contínua removendo os cabeçalhos de setor. Usando o Proxmark3: O Proxmark3 é a ferramenta profissional para análise do Mifare Classic. Os comandos incluem 'hf mf autopwn' para encontrar automaticamente todas as chaves de setor e fazer o dump do cartão. A saída é um ficheiro .bin de exatamente 1024 bytes que pode ser convertido para 2048 caracteres hex. Usando ACR122U com libnfc ou mfoc: Num computador, use um leitor NFC USB ACR122U com a ferramenta mfoc (Mifare Online Cracker) para tentar a recuperação de chaves usando ataques de autenticação aninhada. A saída é um dump binário de 1024 bytes. Formato do dump para esta ferramenta: A ferramenta espera exatamente 2048 caracteres hexadecimais (sem espaços, sem quebras de linha, sem cabeçalhos de setor). Se a sua ferramenta de dump adicionar espaços ou quebras de linha entre os bytes, remova-os antes de colar.

FAQPerguntas Frequentes

Quais são as chaves predefinidas dos cartões Mifare Classic?

Os novos cartões Mifare Classic de fábrica (configuração de transporte) utilizam tipicamente 0xFFFFFFFFFFFF para a Chave A e a Chave B em todos os setores. Outras chaves predefinidas comuns usadas por fabricantes ou sistemas específicos incluem: 0xA0A1A2A3A4A5 (usada em algumas aplicações NXP), 0xD3F7D3F7D3F7 (usada em setores do Diretório de Aplicações Mifare), 0x000000000000 e 0xB0B1B2B3B4B5. Ferramentas como o MIFARE Classic Tool para Android mantêm um dicionário de centenas de chaves conhecidas e testam-nas automaticamente. Se um setor usar uma chave personalizada definida pelo operador do sistema, recuperá-la requer explorar as vulnerabilidades do Crypto-1 do Mifare Classic com ferramentas como o Proxmark3.

Posso escrever dados de volta no cartão Mifare Classic com esta ferramenta?

Não, esta ferramenta é apenas de leitura e visualização. Analisa um dump hex que fornece e apresenta a estrutura de memória — não comunica com nenhum hardware NFC. Para escrever dados num cartão Mifare Classic precisa de um leitor/escritor NFC (ACR122U, Proxmark3 ou um dispositivo Android com suporte para Mifare Classic) e a Chave A ou Chave B correta para o setor que pretende escrever. A escrita não autorizada em cartões Mifare Classic (como cartões de transporte ou credenciais de acesso que não lhe pertencem) é ilegal na maioria das jurisdições.

O que é o MAD (Diretório de Aplicações Mifare)?

O MAD é um diretório padronizado armazenado no Setor 0 (e opcionalmente no Setor 16 em cartões 4K) que mapeia quais os setores usados por cada aplicação. Usa um formato predefinido para registar identificadores de aplicação (AIDs) com os respetivos setores. Isto permite que múltiplas aplicações independentes (transporte, fidelização, controlo de acesso) coexistam num único cartão Mifare Classic sem conflitos. O setor MAD (Setor 0) usa a Chave A = 0xA0A1A2A3A4A5 na configuração padrão. Esta ferramenta apresenta o conteúdo hex bruto de todos os setores, incluindo o Setor 0, para que possa identificar manualmente as entradas MAD.