MIFARE Technology

1940 times

MIFARE est une des technologies de carte à puce sans contact les plus répandues dans le monde avec 3,5 milliards de cartes et 40 millions de modules de lecture/encodage. La plupart des téléphones NFC sont équipés d'une puce permettant l'émulation de cette carte. La marque, lancée par Philips.

MIFARE est fondée (partiellement ou complètement selon les modèles) sur l'un des standards ISO décrivant les cartes à puce sans contact : l'ISO 14443 (en) de Type A fonctionnant à 13,56 MHz. La technologie est intégrée à la fois dans les cartes et dans les lecteurs/encodeurs. Ces lecteurs sont fabriqués par différents fabricants sur la base d'un composant fourni par la société NXP.

En fait, le nom MIFARE englobe deux types de cartes à puce sans contact très différents :

  • Les cartes MIFARE dites Classic sont des cartes à mémoire (logique câblée). Elles ne respectent que partiellement le standard ISO 14443A, puisqu'elles utilisent un jeu de commandes propriétaire à la place du protocole de haut-niveau ISO 14443-4, et ne respectent pas le format de trames ISO 14443-3 dans les communications chiffrées. Elles utilisent un protocole de sécurité propriétaire NXP (CRYPTO1) pour l'authentification et le chiffrement qui est cassé en 20081. Les cartes MIFARE Ultralight utilisent le même jeu de commandes mais sans la partie sécurité.
  • Les cartes à micro-contrôleur de NXP sont également vendues sous l'appellation MIFARE. Il s'agit de produits complètement conformes au standard ISO 14443A (jusqu'à la couche ISO 14443-4 T=CL). Il s'agit des cartes MIFARE ProX, MIFARE SmartMX, MIFARE DESFire et MIFARE Plus.

Lecture du numéro de série (en anglais Card Serial Number / CSN) 

Il s'agit de l'utilisation, comme identifiant, du numéro protocolaire renvoyé par la carte en réponse aux trames de recherche du lecteur. Les cartes MIFARE Classic disposent d'un numéro de série sur 4 octets (32 bits). Les nouvelles générations disposent d'un numéro sur 7 octets. Cette lecture est par essence non sécurisée. L'usurpation de numéro par un dispositif actif voire par une autre carte est aisée. Pourtant, la simple lecture de numéro de série concerne la majorité des mises en œuvre de la carte MIFARE, d'une part car elle permet aux fabricants de faire des lecteurs pouvant lire ce numéro sans intégrer de technologie propriétaire NXP, et d'autre part car le risque de fraude est souvent considéré comme tout à fait acceptable en regard du prix d'une solution plus sécurisée.

Lecture d'un identifiant stocké dans la mémoire 

Il s'agit cette fois d'utiliser comme identifiant non plus le numéro protocolaire mais une donnée que porte la carte. Selon le type de carte, cela peut se faire par une lecture en clair (MIFARE Ultralight), en chiffré après authentification CRYPTO1 (MIFARE Classic) ou dans une session véritablement sécurisée pour les cartes à micro-contrôleur.

Dans le cas d'une lecture en clair, l'usurpation n'est pas plus compliquée que l'émulation du numéro de série protocolaire. Les attaques sur CRYPTO1 ont montré que la lecture sécurisée MIFARE Classic ne pouvait plus être considérée comme sûre.

Stockage de données 

Dans cette approche la carte n'est plus considéré comme un simple identifiant (c'est-à-dire comme point d'entrée pour accéder à des informations stockées dans une base de données ou un système d'authentification quelconque), mais comme une mémoire stockant ses propres informations, à la manière d'une disquette ou d'une clé USB. C'est notamment le cas dans les réseaux de transport (par exemple Oyster à Londres) où sont stockés dans la carte MIFARE Classic le contrat d'abonnement et l'historique des mouvements. Dans ce cas la vérification de l'authenticité de la carte est primordiale. Depuis les attaques sur CRYPTO1, les réseaux de transports utilisant les cartes MIFARE Classic migrent très rapidement vers des technologies sûres à base de cartes à micro-contrôleur.