web-dev-qa-db-fra.com

MiFare - Différence entre l'UID et le numéro de série de la carte MiFare

J'ai besoin de lire le numéro de série de la carte MiFare sur WinSCard. Je peux lire l'UID 7B sur la carte MiFare.

La confusion est que je ne sais pas si l'UID et le numéro de série de la carte MiFare sont identiques? !!

J'ai cherché sur Google, mais je n'ai pu obtenir qu'un succès partiel. J'ai également trouvé un question sur stackoverflow mais cela n'a pas aidé.

J'ai trouvé un document de NXP en ligne qui indique que l'UID et le numéro de série sont différents. (à la page numéro 3, ligne numéro 5)

Il existe une application d'OmniKey qui lit le numéro de série de la carte et renvoie également l'UID uniquement.

La documentation NXP indique UID <> numéro de série et une autre application OmniKey standard renvoie UID comme numéro de série .

J'ai commencé à m'arracher les cheveux sur la question. J'apprécierais grandement si quelqu'un pouvait aider.

12
jparthj

Chaque carte à puce contient une puce intégrée avec un numéro d'identification permanente (UID) unique gravé pendant le processus de fabrication. Cet UID est souvent appelé le numéro de série de la carte (CSN). Le numéro de série de la carte n'est pas chiffré et tout lecteur conforme ISO peut lire le numéro de série de la carte.

Modifier 1:

Le numéro de série de la carte Mifare est l'identifiant unique défini dans ISO 14443-3A. Il existe 3 types d'UID définis dans la norme - simple (4 octets), double (7 octets) et triple (10 octets). Seulement dans les premières versions de la carte Mifare, l'UID était de 4 octets mais a maintenant migré vers 7 octets.

EDIT 2: Cela pourrait vous être utile ...

What is the difference between a 4 byte UID and a 4 byte ID?

Un UID de 4 octets est un identifiant qui a été attribué par le fabricant de la carte à l'aide d'une base de données contrôlée. Cette base de données garantit qu'un identifiant unique n'est pas utilisé deux fois. En contradiction, un ID de 4 octets est un identifiant qui peut être attribué à plus d'une puce sans contact pendant le temps de production d'un produit afin que plus d'une carte avec la même identifiée puisse être déployée dans un système sans contact particulier.

14
vikky

La différenciation dans ce cas vient du fait qu'un "numéro de série" implique que les numéros sont une série, donc séquentiellement attribués.

Les cartes MIFARE ont des numéros d'identification uniques (ou en abrégé UID), qui sont générés par une règle interne qui n'est pas nécessairement séquentielle. Cela signifie que si vous voyez une carte avec l'UID 01020304050607, cela ne signifie pas qu'il y a au moins autant de cartes produites jusqu'à présent.

Si jamais vous voyez quelqu'un se référant au numéro de série de la carte, il s'agit en fait de l'UID.

La seule dernière confusion peut provenir du fait que les cartes MIFARE peuvent être configurées pour renvoyer des ID aléatoires lors de l'activation. Si tel est le cas, vous obtiendrez un "UID" différent à chaque fois que vous activerez la carte. Dans ce scénario, vous devez lire les données contenues dans le bloc 0 (pour lesquelles vous devrez connaître la clé du secteur 0) pour obtenir le véritable UID de la carte.

3
Eduardo

Pour les cartes DesFire:

  1. L'UID est analogue à l'adresse MAC Ethernet. Il est attribué par le fabricant de puces à partir d'une base de données. Tous ceux qui créent des applications pour la carte ont accès à l'UID.
  2. Le numéro de série de la carte est spécifique à l'application chargée sur la carte. Il est uniquement accessible par cette application via une clé de chiffrement. Si la carte avait plusieurs applications chargées (peu probable mais possible), chacune pourrait avoir un CSN différent.
0
drlolly