Hallo zusammen, ich versuche momentan, ein RFID Protokoll zu interpretieren und erhoffe mir hier etwas Unterstützung zu bekommen. Ich möchte die RFID Tags eines bestehenden Schliesssystems einlesen, um weitere Applikationen auf Basis dieser Tags umsetzen zu können. Der Vorteil hierbei ist, dass die bestehenden Tags weiterverwendet werden können. Leider finde ich im Internet keinerlei Informationen über das Schliesssystem und das verwendete Protokoll. Ich habe daher versucht, mich dem Protokoll experimentell zu nähern. Dabei ist mein aktueller Kenntnisstand der folgende: Es handelt sich 125kHz Tags, die Datenübertragung erfolgt per AM. Ich habe die Tags mittels eines EM4095 ausgelesen und die so aufgezeichneten Daten per Manchester weiter dekodiert. Im so enstandenen Bitstrom kann ich feststellen, dass sich die Daten alle 128Bit wiederholen. Ich habe nun zwei verschiedene Tags verglichen, die jeweils mit einer anderen ID des Schliesssystems beschrieben wurden (die Tags müssen vor der Bestellung durch den Hersteller/Händler mit einer ID beschrieben werden, die dann nachher im Schliessystem verwendet wird, um die Zutrittsrechte zu verwalten). Wenn ich das Tag mit der ID 605 (0x25D) auslese, erhalte ich den folgenden Bitstrom 111111111010000000101001110001111110110110010010100000000010000001100000 00100101011010000000011011001111101011111110000111010000 Den interpretiere ich zur Zeit so: 111111111 ist der Header, mit dessen Hilfe ich den Anfang der Daten erkenne Dann folgen 13 Blöcke mit jeweils 9 Bit, wobei ich die ersten 8 Bit als Daten interpretiere, das 9. Bit ist immer 0 (im Gegensatz zum Header, wo es 1 ist). Das bedeutet für den Bitstrom oben: Block 1 Binary: 01000000 Hex: 40 9. Bit: 0 Block 2 Binary: 10100111 Hex: A7 9. Bit: 0 Block 3 Binary: 00111111 Hex: 3F 9. Bit: 0 Block 4 Binary: 11011001 Hex: D9 9. Bit: 0 Block 5 Binary: 01010000 Hex: 50 9. Bit: 0 Block 6 Binary: 00001000 Hex: 08 9. Bit: 0 Block 7 Binary: 00110000 Hex: 30 9. Bit: 0 Block 8 Binary: 00100101 Hex: 25 9. Bit: 0 Block 9 Binary: 11010000 Hex: D0 9. Bit: 0 Block 10 Binary: 00011011 Hex: 1B 9. Bit: 0 Block 11 Binary: 01111101 Hex: 7D 9. Bit: 0 Block 12 Binary: 11111110 Hex: FE 9. Bit: 0 Block 13 Binary: 00111010 Hex: 3A 9. Bit: 0 Danach folgen noch zwei Bit, die 0 sind (2 Stoppbits?) Für den oben angegebenen Bitstrom des Tags 0x25D würde ich als Daten dann 0x40A73FD950083025D01B7DFE3A annehmen. Erfreulicherweise finde ich in den Daten die 0x25D wieder. Wenn ich die gleiche Interpretation auf einen anderen Tag mit der ID 477 (0x1DD) anwende, erhalte ich folgendes: Bitstrom: 111111111010000000101001110001111110110110010010100000000010000001100000 00011101011010000000010011001001101011111110010101111000 Daten: 0x40A73FD95008301DD0134DFEAF Wenn ich die Daten der beiden Tags vergleiche, dann kann man Unterschiede bei den letzten Werten (mal abgesehen von den IDs) ausmachen. Ich vermute, dass sich hier ggf. noch irgendeine Checksumme verbirgt, die ich gerne prüfen würde. Meine Frage an euch ist, ob jemandem das Format bekannt vorkommt und es ggf. eine Spezifikation dazu gibt. Ich habe bei meiner Recherche bislang nixhts gefunden. Vielleicht hat aber auch jemand eine andere Idee, wie die Daten zu interpretieren sind. Ich komme zwar mit den bislang vorliegenden Informationen wahrscheinlich auch schon zum Ziel, schön wäre es aber dennoch, das Protokoll vollständig zu implementieren. Ich werde als nächtes weitere Tags testen, um sicherzustellen, dass das Finden der ID kein Zufall war. Zunächst möchte ich dafür aber eine Online-Interpretation der Tags mit einem Controller umsetzen. Der bislang bestrittene Weg (Aufzeichnung der Daten des EM4095 mittels Oszi und anschließende Auswertung in Matlab) ist mir für eine größere Zahl Tags etwas zu aufwändig... Gruß Axel
Die dort beschriebenen Tags übertragen die Daten definitiv anders. Bspw. wird dort ein Paritätsbit verwendet, welches ich in meinen Daten so nicht wiederfinde. Ich habe durchaus intensiv gesucht und leider bislang keine passende Beschreibung gefunden...
Allenfalls waere der Hersteller oder dessen Lizenznehmer fuer uns interessant gewesen...
Es handelt sich um ein IKOTRON System in einer etwas älteren Ausführung. Die Tags nennen sich wohl Proxycard.
Hm, sollen wir jetzt hier bei etwas Illegalem helfen? Schließlich wird diese Technik auch in sensiblen Bereichen angewandt und da möchte man doch sicher sein, nicht bei der Herstellung eines Dietrichs zu helfen.
Nee, hier geht es sicher um nix illegales. Ich will die Tags lediglich auch für andere Anwendungen nutzen können. Angedacht ist aktuell eine Art elektronische Strichliste für die Kaffeemaschine. Ich habe mir die Kommunikation zwischen Tag und Original Lesegerät nicht näher angeschaut. Wenn das Lesegerät allerdings nur stumpf die vom Tag gesendete ID prüft, dann wäre ich schon jetzt in der Lage, mir einen Zweitschlüssel zu erzeugen. Ich hatte lediglich die Hoffnung, das die Tags einem Herstellerstandard entsprechen, der frei zugänglich ist..Es deutet aber mal wieder auf einen Fall von security by obscurity hin. Wie auch immer, ich denke, dass ich für meine Anwendung bereits alle notwendigen Infos habe.
Theoretiker schrieb: > Hm, sollen wir jetzt hier bei etwas Illegalem helfen? > Schließlich wird diese Technik auch in sensiblen Bereichen > angewandt und da möchte man doch sicher sein, nicht bei > der Herstellung eines Dietrichs zu helfen. Also wer keine Ahnung hat, sollte einfach mal die .... halten. Die Sicherheit bei solchen System steckt in ganzen anderen Mechanismen. Die Protokolle allein zu kennen reicht nicht aus, um das System auszuhebeln. Wer ein Sicherheitssystem allein auf das Auslesen der UID auslegt, der hat sowieso etwas falsch gemacht.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.