Eindeutige Seriennummern von RFID-Karten und Wiegand-Codierungsprotokolle
Warum Ihre gedruckte RFID-Kartennummer anders aussehen könnte
Eines der verwirrendsten Dinge, auf die ich anfangs bei der Arbeit mit RFID-Karten stieß, war, warum die aufgedruckte Nummer so selten mit der übereinstimmte, die mein Lesegerät anzeigte. Ich grübelte stundenlang und dachte schon, ich hätte eine fehlerhafte Charge erwischt. Nach eingehender Recherche wurde mir klar, dass alles mit der Übertragung der eindeutigen Seriennummer auf der Karte mithilfe des Wiegand-Protokolls zusammenhängt. Das klingt technisch, ist aber im Grunde ganz einfach: Verschiedene Kartenlesegeräte – sogar von unterschiedlichen Herstellern – verwenden zwar das Wiegand-Protokoll, können die Daten aber in unterschiedlichen Längen und Formaten berechnen und ausgeben.
Wenn Ihr Lesegerät keine Datenlängenbeschränkungen hat, erhalten Sie beim Auslesen des rohen Hexadezimalcodes (Hex-Code) einer beliebigen Karte immer einen eindeutigen Fünf-Byte-Datensatz. Dieser enthält einen Ein-Byte-Chipherstellercode, beispielsweise 01 00 10 7A 35H . Schwierigkeiten entstehen, wenn Sie diese Nummer für die Kommunikation mit anderen Systemen benötigen, etwa Ihrer Zutrittskontrollsoftware oder Sicherheitspanels. Das System wandelt die Hex-Zahl in eine Dezimalzahl (Dez-Zahl) um, und je nach eingestelltem Datenformat kann das Ergebnis völlig anders aussehen. Deshalb müssen Sie unbedingt prüfen, welches Format Ihr Lesegerät unterstützt, bevor Sie RFID-Karten bestellen oder bestimmte Nummern darauf drucken lassen.
Hexadezimalzahlen, Dezimalzahlen und das Wiegand-Protokoll verstehen
Klären wir zunächst die Grundlagen. Hexadezimalzahlen verwenden Ziffern und Buchstaben: 0–9 und AF. Endet eine Zahl mit einem „h“, wie z. B. „01 00 10 7A 35h“, handelt es sich um eine Hexadezimalzahl. Endet sie mit einem „d“ oder hat sie keine Endung, ist sie dezimal. Die Wiegand26- und Wiegand34-Protokolle bilden das Rückgrat dieses gesamten Prozesses. Diese Standardformate wurden von einer Gruppe innerhalb der US Security Industry Association (SIA) festgelegt und definieren die Kommunikation zwischen Kartenlesern und Controllern – man kann sie sich als gemeinsame Sprache für Zutrittskontroll- und Sicherheitssysteme vorstellen. Die Standardisierung erleichtert die Arbeit sowohl für Entwickler von Lesegeräten als auch für Hersteller von Controllern, bedeutet aber nicht, dass die Ausgabe immer gleich ist.
Was bedeuten Wiegand26 und Wiegand34 eigentlich?
Wenn wir von Wiegand26 sprechen, meinen wir einen 26-Bit-Binärdatenstrom. Das erste und letzte Bit dienen der Paritätsprüfung (Fehlererkennung), sodass nur 24 Bit tatsächlich nutzbare Daten sind. Daher wird es oft auch als „Wiegand-24-Bit-Format“ bezeichnet. Wiegand34 funktioniert ähnlich: Es ist ein 34-Bit-Datenstrom mit zwei Paritätsbits, wodurch 32 Bit nutzbare Daten verbleiben. Ich erinnere mich an einen Kunden, der sowohl ältere Wiegand26-Lesegeräte als auch neuere, auf Wiegand34 eingestellte Lesegeräte im Einsatz hatte. Dieselbe Karte wurde an manchen Türen als 10-stellige Nummer und an anderen als eine seltsame, geteilte Nummer angezeigt. Es war ein ziemliches Durcheinander, bis wir feststellten, dass einige ihrer Lesegeräte nur die letzten sechs Hexadezimalziffern ausgaben, während andere die letzten acht verwendeten.
Beispiele aus der Praxis zur Kartennummernkonvertierung
Um das zu verdeutlichen, möchte ich Ihnen einige Beispiele aus meiner eigenen Erfahrung schildern. Vor einiger Zeit rief mich ein Freund, der einen kleinen Coworking-Space betreibt, völlig panisch an. Er hatte gerade 200 Mitgliedskarten drucken lassen, aber keine einzige ließ sich von seinem neuen System korrekt scannen. Die Kartennummer lautete 0007063627 , doch sein Lesegerät spuckte etwas wie 107,51275 aus.
Was war da los? Die erste Zahl, 0007063627, war die 32-Bit-Wiegand-Ausgabe. Die interne Seriennummer der Karte lautete „00 6B C8 4Bh“, und das Lesegerät wandelte die letzten acht Hexadezimalziffern in eine zehnstellige Dezimalzahl um (oft abgekürzt als „8H→10D“). Die zweite Zahl, 107,51275, war die 24-Bit-Wiegand-Ausgabe. In diesem Fall erfasste das Lesegerät nur die letzten sechs Hexadezimalziffern – 6B C8 4B – und wandelte sie in zwei separate, durch ein Komma getrennte Dezimalzahlen um. Die „107“ stammte aus dem zweiten Byte „6B“, und die „51275“ aus dem dritten und vierten Byte „C8 4B“. Nachdem ich ihm das erklärt und wir das Ausgabeformat des Lesegeräts mit den gedruckten Zahlen abgeglichen hatten, funktionierte alles einwandfrei.
Ein anderes Mal half ich einem Hotel bei der Modernisierung seines Schlüsselkartensystems. Man zeigte mir PVC-Karten mit der aufgedruckten Nummer „00623,36016“. Bei der Überprüfung des Chips stellte ich fest, dass der Hexadezimalcode „02 6F 8C B0h“ lautete. Das auf 32-Bit-Wiegand eingestellte Lesegerät teilte die Nummer in „00623“ (aus „02 6Fh“) und „36016“ (aus „8C B0h“) auf. Hätte man mit demselben Lesegerät das 24-Bit-Wiegand-Format verwendet, wären die Werte „111,36016“ oder „00111,36016“ angezeigt worden. Und bei einer Standard-8H→10D-Konvertierung hätte lediglich „00 40864944“ angezeigt werden sollen. Drei verschiedene Ausgaben – und das alles von ein und derselben physischen Karte!
Ich hatte sogar einen Kunden aus der Fertigungsindustrie, der RFID-Tags zur Bestandsverfolgung einsetzte. Er war ratlos, da die von seinen Handlesegeräten angezeigten Nummern nicht mit den auf den Tags aufgedruckten Chargennummern übereinstimmten. Nach einigen Tests stellten wir fest, dass die neuen Lesegeräte auf ein anderes Wiegand-Format eingestellt waren als die alten. Die Umstellung des Formats in den Lesegeräteeinstellungen löste das Problem innerhalb weniger Minuten.
Wie Sie die Ausgabe Ihres Kartenlesegeräts verstehen
Was bedeutet das nun konkret? Die Daten, die Ihr Kartenleser anzeigt, werden vom Mikrocontroller im Lesegerät verarbeitet, umgewandelt und gesteuert. Stimmen die Nummer auf Ihrer Karte und die vom Lesegerät angezeigte Nummer nicht überein, bedeutet das nicht, dass Ihre Karte defekt oder Ihr Lesegerät beschädigt ist. Es bedeutet lediglich, dass das Dekodierungsformat des Lesegeräts sich von dem Format unterscheidet, das beim Drucken der Kartennummern verwendet wurde. Der eigentliche Chipcode auf der Karte ist jedoch konstant und eindeutig – eine 4-Byte-Hexadezimalnummer, die sich nie ändert.
Bevor Sie Ihre nächste Bestellung für unbedruckte RFID-Karten aufgeben , überprüfen Sie kurz das Ausgabeformat Ihres Lesegeräts. Bitten Sie Ihren Lieferanten, die Kartennummern im gleichen Format wie Ihr System auszudrucken. Dieser kleine Schritt erspart Ihnen später stundenlange Fehlersuche und Verwirrung.



