Technologie

La puce MIFARE Classic®®, secteurs, clés et limites

L’architecture mémoire, les usages historiques et les points d’attention sont replacés dans le contexte d’un parc existant.

Mis à jour le 24 septembre 2026

L’essentiel

Référence technique factuelle pour analyser un parc HF existant. Ne pas considérer cette famille comme un choix par défaut pour un nouveau besoin sensible.

Trois points à établir avant de conclure :

  • capacité et variante exactes du composant
  • carte des secteurs, blocs et clés du parc
  • authentification puis lecture d’un bloc témoin

La mémoire est organisée en secteurs et blocs protégés par des clés. Pour analyser un parc, relevez la capacité exacte, le type d’UID, la carte des secteurs utilisés et les commandes du lecteur. Pour un nouveau besoin sensible, tenez compte des recommandations actuelles du fabricant et évaluez une architecture offrant une authentification et une gestion de clés adaptées.

Secteurs, blocs et clés : ce que contient réellement la carte

Dans sa version la plus répandue, la mémoire de 1 Ko se divise en 16 secteurs de 4 blocs de 16 octets. Le dernier bloc de chaque secteur, dit bloc de fin de secteur, contient la clé A sur 6 octets, les bits d’accès sur 4 octets, dont un octet libre, et la clé B sur 6 octets. Dans la version de 4 Ko, les huit derniers secteurs comptent 16 blocs au lieu de 4. Le bloc 0 du secteur 0 porte l’UID et des données du fondeur ; sur une puce d’origine, il est figé en usine.

Les bits d’accès décident, bloc par bloc, quelle clé autorise la lecture, l’écriture, l’incrément ou le décrément. Un bloc peut aussi être formaté en bloc valeur : le montant y est stocké trois fois, dont une fois inversé, ce qui permet au lecteur de détecter une corruption. Lorsqu’un parc utilise ces blocs pour un porte-monnaie ou un compteur de passages, les cartes de remplacement doivent reproduire exactement ce formatage.

Encoder des cartes qui rejoignent un parc en service

Pour produire des cartes qui s’insèrent dans une installation existante, il nous faut la carte des secteurs : numéros utilisés, clés A et B de chaque secteur ouvert, bits d’accès et contenu attendu. Les secteurs inutilisés restent souvent avec les clés de transport, ce qui laisse une zone inscriptible par n’importe qui ; indiquez-nous s’ils doivent être fermés avec une clé propre au site. Le fichier d’encodage relie chaque UID lu en production au contenu écrit, et c’est à lui que l’on compare un prélèvement de cartes finies lors de la réception.

Côté identifiant, la famille existe avec un UID de 4 octets, parfois non unique, et avec un UID de 7 octets. Un contrôleur qui ne retient que 4 octets accepte les deux, mais sur une carte à 7 octets il ne conserve qu’une partie de l’identifiant : à vérifier sur une carte témoin avant la série.

Ce que l’on sait aujourd’hui de sa sécurité

L’algorithme de chiffrement de cette famille, propriétaire et fondé sur des clés de 48 bits, présente des faiblesses publiées : avec le matériel adéquat, des clés peuvent être retrouvées et des cartes copiées. Nous produisons ces cartes pour étendre des parcs existants ; pour un nouveau déploiement qui protège des accès ou de la valeur, nous partons d’une famille à chiffrement AES.

Sources primaires

Marques. MIFARE et MIFARE Classic sont des marques de NXP B.V.

Ces noms servent uniquement à identifier les composants étudiés. Aucune affiliation, licence ni approbation de NXP n’est revendiquée.

Questions fréquentes

Peut-on commander des cartes de cette famille portant l’UID d’une carte existante ?

Non. Sur une puce d’origine, le bloc 0 qui contient l’UID est verrouillé par le fondeur. Les puces à bloc 0 modifiable ne sont pas des composants d’origine et vont à l’encontre d’un système qui s’appuie sur l’UID pour autoriser. Une carte de remplacement reçoit donc son propre UID, que le logiciel enregistre.

Un lecteur prévu pour la version 1 Ko lit-il aussi la version 4 Ko ?

Les commandes et l’authentification sont les mêmes, mais les deux versions se présentent avec un SAK différent, 08 pour 1 Ko et 18 pour 4 Ko. Un contrôleur qui filtre sur cette valeur peut refuser la version 4 Ko, et un logiciel qui ignore les secteurs de 16 blocs ne lit pas la fin de la mémoire.

Faut-il transmettre les clés A et B pour des cartes d’extension de parc ?

Oui, dès que des données doivent être écrites dans des secteurs protégés. Si le système n’exploite que l’UID, aucune clé n’est nécessaire : nous livrons alors la liste des UID du lot, dans l’ordre d’octets attendu par votre logiciel. Les clés servent uniquement à l’encodage et se transmettent séparément du fichier graphique.