2013-07-12 33 views
9

Ich muss die Seriennummer der MiFare-Karte in WinScard lesen. Ich kann 7B UID von der MiFare-Karte lesen.MiFare - Unterschied zwischen UID und Seriennummer der MiFare-Karte

Die Verwirrung ist, dass ich nicht weiß, ob die UID und die Seriennummer von MiFare Karte gleich sind? !!

Ich habe das Problem gegooglet, konnte aber nur Teilerfolg bekommen. Ich habe eine question auf Stackoverflow gefunden, aber es hat nicht geholfen.

Ich fand eine document von NXP online, die besagt, UID und Seriennummer sind unterschiedlich. (auf Seite Nummer 3, Zeile Nummer 5)

Es gibt eine Anwendung von OmniKey, die die Seriennummer der Karte liest und nur die UID zurückgibt.

NXP Dokumentation sagt UID <> Seriennummer und eine andere Standard OmniKey Anwendung UID als Seriennummer zurückgibt.

Ich habe angefangen, meine Haare aus dem Thema zu ziehen. Ich würde es sehr schätzen, wenn jemand helfen könnte.

+2

MiFare-Tags haben keine lesbare Seriennummer. Sie haben nur eine UID. Der Grund, warum Sie verwirrt sind, ist, dass nicht jeder weiß, was eine UID ist, aber jeder weiß, was eine Seriennummer ist. Daher werden UIDs oft unattraktiv als Serien bezeichnet. NXP versucht dies zu verdeutlichen, fügt jedoch noch mehr Verwirrung hinzu, indem es eine serielle Existenz impliziert. Das Dokument von NXP ist übrigens schrecklich irreführend. –

+0

Also ist die einzige lesbare eindeutige ID diese UID? Ich konnte UID mit WinSCard lesen. Und wenn Seriennummern nicht lesbar sind, wozu sollten sie bereitgestellt werden? #JustCurious :-) –

+1

Das vollständige Zitat aus diesem Dokument lautet "Eine UID ist keine Seriennummer", sondern ein eindeutiger Bezeichner. Es gibt keine Empfehlung , wie man das Array von Bytes in eine ganze Zahl umwandelt. " Sie weisen darauf hin, dass das Umwandeln in eine * Nummer * nicht etwas ist, das sie definieren, und das kann auf verschiedene Arten geschehen (z. B. Little-Endian vs. Big-Endian). – Eric

Antwort

14

Jede Smartcard enthält einen integrierten Chip mit einer eindeutigen permanenten Identifikationsnummer (UID), die während des Herstellungsprozesses eingebrannt wird. Diese UID wird oft als Card Serial Number (CSN) bezeichnet. Die Karten-Seriennummer ist nicht verschlüsselt, und jeder Leser, der ISO-konform ist, kann die Karten-Seriennummer lesen.

Edit 1:

Mifare-Karte Seriennummer ist die eindeutige Kennung in ISO 14443-3A definiert. Es gibt drei Arten von UID, die im Standard definiert sind: Single (4 Byte), Double (7 Byte) und Triple (10 Byte). Nur ältere Versionen der Mifare-Karte, die UID war 4 Bytes, jetzt sind aber 7 Bytes migriert.

EDIT 2: Es könnte hilfreich für Sie sein ...

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

A 4 Byte UID ist eine Kennung, die von der Karte Hersteller mit einer kontrollierten Datenbank zugewiesen wurde. Diese Datenbank stellt sicher, dass ein einzelner Bezeichner nicht zweimal verwendet wird. Im Gegensatz dazu ist eine 4-Byte-ID ein Identifikator, der mehr als einem kontaktlosen Chip über die Produktionszeit eines Produkts zugewiesen werden kann, so dass mehr als eine identifizierte Karte mit demselben in einem bestimmten kontaktlosen System eingesetzt werden kann.

+0

Ja, das weiß ich. Aber das offizielle NXP-Dokument sagt UID und Seriennummer sind zwei verschiedene Dinge. Also nur ich bin verwirrt. –

+0

Den Bearbeitungsteil sehen ... – vikky

+0

Ich hatte den Link schon besucht, den Sie in der Antwort erwähnt haben. Aber der Link enthält keine Antwort für "UID = Seriennummer?" :-( –

3

Die Unterscheidung in diesem Fall kommt von der Tatsache, dass eine "Seriennummer" impliziert, dass die Zahlen eine Reihe sind, folglich sequentiell zugewiesen.

MIFARE-Karten haben eindeutige Identifikationsnummern (oder kurz UID), die durch eine interne Regel erzeugt werden, die nicht unbedingt sequentiell ist. Das heißt, wenn Sie eine Karte mit UID 01020304050607 sehen, bedeutet das nicht, dass mindestens so viele Karten produziert wurden.

Wenn Sie jemals jemanden sehen, der sich auf die Kartenseriennummer bezieht, beziehen sie sich tatsächlich auf die UID.

Die letzte Verwirrung kann von der Tatsache herrühren, dass MIFARE-Karten so konfiguriert werden können, dass sie während der Aktivierung zufällige IDs zurückgeben. Wenn dies der Fall ist, erhalten Sie bei jeder Aktivierung der Karte eine andere "UID". In diesem Szenario müssen Sie die in Block 0 enthaltenen Daten (für die Sie den Schlüssel zu Sektor 0 kennen müssen) lesen, um die tatsächliche UID der Karte zu erhalten.

+0

Danke für deine Bemühungen bei meiner Frage steht immer noch hoch :( –