Forum: Mikrocontroller und Digitale Elektronik RFID Protokoll


von RFIDler (Gast)


Lesenswert?

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

von Tim (Gast)


Lesenswert?


von RFIDler (Gast)


Lesenswert?

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...

von jetzt (Gast)


Lesenswert?

Allenfalls waere der Hersteller oder dessen Lizenznehmer fuer uns 
interessant gewesen...

von RFIDler (Gast)


Lesenswert?

Es handelt sich um ein IKOTRON System in einer etwas älteren Ausführung. 
Die Tags nennen sich wohl Proxycard.

von Theoretiker (Gast)


Lesenswert?

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.

von RFIDler (Gast)


Lesenswert?

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.

von Paul (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.