Resposta curta:
Os cartões MIFARE Classic 1K não possuem um bloco padrão que armazena uma data de validade.
Qualquer informação de expiração ou validade é definido pela aplicação e pode nem sequer ser armazenado no cartão.
O MIFARE Classic 1K tem um campo de data de expiração?
Não.
Cartões MIFARE Classic 1K:
- Fazer não incluir um campo de data de expiração incorporado
- Fazer não seguir um modelo de dados normalizado
- Armazenar apenas blocos de memória em bruto definidos pelo integrador do sistema
Qualquer lógica de expiração é implementada por:
- O sistema de acesso ao hotel
- O firmware do cadeado
- Ou uma base de dados backend
Existe nenhum sector ou bloco universal que “trata” da expiração num cartão MIFARE Classic 1K.
Qual bloco armazena a data de expiração em um cartão MIFARE Classic 1K?
Não existe um número de bloco fixo.
Se existir uma data de validade, esta pode ser armazenada em:
- Qualquer bloco de dados (Bloco 0-2) de qualquer sector
- A formato binário personalizado
- Um estrutura encriptada ou ofuscada
- Ou não é de todo armazenado no cartão
Diferentes fornecedores utilizam layouts diferentes, mesmo dentro do mesmo sector (hotéis, ginásios, parques de estacionamento).
Porque é que muitas vezes não se consegue encontrar uma data de validade numa lixeira de cartões
A maioria dos sistemas hoteleiros utiliza um destes modelos:
1. Expiração controlada por backend (mais comum)
- O cartão armazena apenas um identificador
- A expiração é verificada pelo sistema de bloqueio ou backend
- Não existe nenhuma data na lixeira
2. Carimbo de data/hora codificado ou encriptado
- Data armazenada como:
-
- Carimbo de data/hora UNIX
- Data codificada em BCD
- Contadores proprietários
- Normalmente não legível por humanos
3. Dados de aplicação ofuscados
- Os valores são:
-
- Encriptado
- XOR-mascarado
- Protegido por somas de controlo
Mesmo com acesso total ao sector, o significado dos dados não é óbvio.
É possível identificar a data de expiração comparando as lixeiras?
Por vezes, mas apenas a nível da investigação.
Os engenheiros costumam comparar:
- O mesmo cartão antes e depois da renovação
- Cartões múltiplos com diferentes períodos de validade
Procuram:
- Bytes que se alteram de forma consistente
- Padrões alinhados com eventos de emissão
Isto faz não garante uma interpretação correta e não ultrapassa a validação do sistema.
A data de expiração pode ser alterada?
Na prática: não.
Mesmo que uma data pareça poder ser escrita:
- Os bloqueios verificam vários parâmetros
- Existem contadores de backend e controlos de integridade
- Os cartões modificados falham normalmente a autenticação
A modificação das credenciais de acesso ao hotel sem autorização é ilegal na maioria das regiões.
Porque é que o MIFARE Classic está a ser substituído nos sistemas hoteleiros
Os hotéis estão a afastar-se do MIFARE Classic porque este:
- Falta uma aplicação segura da expiração
- Utiliza a encriptação Crypto-1 obsoleta
- Não tem sistema de ficheiros nativo
As substituições mais comuns incluem:
- MIFARE DESFire EV2 / EV3
- Chaves móveis NFC
- Credenciais de acesso validadas por backend
Principais conclusões (de fácil leitura)
- O MIFARE Classic 1K não tem um bloco de data de expiração padrão
- A lógica de expiração é definida pela aplicação
- A maioria dos cartões de hotel não guarda a validade no cartão
- As datas legíveis são raras nas lixeiras
- A modificação não autorizada é ilegal
FAQ (Optimizado para PAA)
P: A data de expiração é armazenada no Setor 0?
Não. O sector 0 contém normalmente dados do fabricante e identificadores de aplicações, não datas de validade.
P: Posso ver a data de expiração em texto simples?
Quase nunca. As datas são normalmente codificadas, encriptadas ou não são armazenadas de todo.
P: Porque é que a minha lixeira muda quando um cartão é renovado?
Porque os contadores internos, as chaves ou os tokens são actualizados - não necessariamente um campo de data.


