Hi, ich bin auf der suche nach einer keyless entry lösung die möglichst sicher ist gegen angriffe. security by obscurity ist keine lösung für mich. theoretisch sicher wäre doch zb sowas: haus generiert liste von zufallszahlen, überträgt diese (auf sicherem weg, indoor) auf den schlüssel. ist der vorrat aufgebraucht muß der schlüssel neu geladen werden. genauso sicher wie ein mechanischer schlüssel.
Wenn ich Dich richtig verstehe, wird mit jedem Schliessvorgang eine Zufallszahl verbraucht? Quasi eine TAN? Die dann von der Liste gestrichen wird? Wie? Das ist noch zu unausgegoren. Wenn Du Dich traust, Zufallszahlen in einem EEPROM zu speichern, warum dann nicht auch einen obskuren Verschlüsselungsalgorithmus in einem Flash? Man kommt zumindest nicht durch Abschleifen des Chips an den Schlüssel.
ausgegoren ist da garnix, war ja nur ein beispiel, dass man es theoretisch sicher machen kann. dein problem verstehe ich trotzdem nicht, ist doch easy zu implementieren. bei dem algo hast du das problem, dass ein angreifer den knacken kann ohne den schlüssel in die finger zu bekommen. die tan lösung ist so sicher wie ein mechanischer schlüssel, wenn dir der geklaut wird, kann er auch leicht nachgemacht werden.
> haus generiert liste von zufallszahlen, überträgt diese (auf sicherem > weg, indoor) auf den schlüssel. ist der vorrat aufgebraucht muß der > schlüssel neu geladen werden. Angreifer gibt sich als Tür aus und ergattert eine TAN?
Wenn Dein Maßstab ein mechanische Schlüssel ist, dann tut's jeder simple Readonly Transponder. Der bietet 40 Bit Kombinationen und kann aber auch prima kopiert werden. Ich kann nicht ganz nachvollziehen, was bei Dir "sicher" ist. Wenn Du mit einer TAN-List ankommst, kann man erst beurteilen, wie sicher das ist, wenn man auch die unangenehmen Details kennt.
>Wenn Dein Maßstab ein mechanische Schlüssel ist, dann tut's jeder simple >Readonly Transponder. Der bietet 40 Bit Kombinationen und kann aber auch >prima kopiert werden. der angreier bringt einen leser in der nähe des echten lesers an und hat den schlüssel kopiert. das ist maximal unsicher. >Ich kann nicht ganz nachvollziehen, was bei Dir >"sicher" ist. Wenn Du mit einer TAN-List ankommst, kann man erst >beurteilen, wie sicher das ist, wenn man auch die unangenehmen Details >kennt. welche unangenehmen details? sicher ist für mich: so sicher wie ein mechanischer schlüssel. >Angreifer gibt sich als Tür aus und ergattert eine TAN? hä? ich gehe davon aus, dass der nutzer mit dem schlüssel nur seine eigene tür öffnet. der oben beschriebe angriff auf den read-only transponder gibt dem angreiferr zwaar eine tan, die ist aber ungültig wenn er sie einsetzen will. ausserdem sage ich ja garnicht, dass ich ein tan system will, sondern ich suche irgendein sicheres.
Schau jupp, das ist doch der Punkt: Wie werden die TAN's ungültig gemacht? Erst muss der Schlüssel die TAN hergeben. Da der Schlüssel keine eigene Intelligenz besitzt (ist das so?), kann er nicht sofort die versendete TAN ungültig machen, zumal durch Übertragungsfehler die Transaktion genauso schief gehen kann. Folglich kann man den Schlüssel zur Hergabe der TAN bewegen (Phishing :-) und dann aber das HF-Feld ausschalten, due TANs bleiben erhalten. Aber durch erhöhte Intelligenz im Transponder kann man mehr erreichen. Davon hängt aber auch ab, ob das Verfahren sicher oder unsicher ist. Daher unangenehme Details und unausgegoren. Hiervon hängt alles ab!
wie soll das denn ablaufen? man müsste dann ja eine tan übertragen, ohne dass die tür sie empfängt. dann unverrichteter dinge die türe verlassen, so dass der angreifer mit der gestohlenen tan einbrechen kann... kann sein, dass ich aufm schlauch stehe, ist ja bald schon geisterstunde, aber ich kann dir nicht folgen.
Wie wäre es damit: Schlüssel und Haus kennen beide den selben geheimen Text. Will der Schlüssel das Haus öffnen, sendet das Haus eine "Challenge", d.h. irgendeine zufällige Zeichenfolge. Der Schlüssel hängt das Geheimnis dran, berechnet mit MD5, SHA, o.ä. Funktionen einen Hash Wert dieser Zeichenfolge und sendet ihn ans Haus. Das Haus macht das gleiche und vergleicht die beiden Zeichenfolgen. Alle Kommunikation kann dabei öffentlich erfolgen, man darf nur nicht die gleiche Challenge mehrmals verwenden. Das kann man aber leicht vermeiden, wenn man 4 Bytes der Challenge für time() reserviert :)
Dann braucht das Haus aber auch noch eine Schlüsselverwaltung, d.h. jeder Schlüssel benötigt eine individuelle ID und ein individuelles Secret. Nach gelungener Authentifizierung verpasst das Haus dem Key noch ein neues, zufälliges Secret (das kann z.B. mit dem alten Secret "geXORed" werden um es zu übertragen). Die Challenge würde ich auch nicht unverschlüsselt übertragen, ansonsten wäre theoretisch eine Man in the middle Attacke möglich indem man die Challenge abfängt, einen Zeitwert in der Zukunft reinsetzt, vom Schlüssel die Antwort holt und dann versucht, zum richtigen Zeitpunkt vom Haus ebenfalls eine Challenge zu erhalten auf die man dann die Antwort bereits kennt. Vllt. so: 1. Schlüssel überträgt seine eindeutige ID im Klartext an das Haus 2. Haus generiert zufällige Challenge, verschlüsselt diese mit dem Secret des Schlüssels. 3. Schlüssel dekodiert die Challenge, hängt sein Secret an die Challenge an und berechnet Hash-Wert den er ans Haus schickt. 4. Haus überprüft den Hash-Wert auf Gültigkeit, ist er gültig dann sendet es dem Schlüssel noch das neue Secret XOR dem alten Secret. 5. Schlüssel speichert das neue Secret ab und fertig, bis zum nächsten Mal...
Also ich denke, bevor man sich über die Implementierungsdetails eines solchen Systems unterhält, sollte man sich erst einmal darüber im klaren sein, was man erreichen will. Das Keeloq System bzw. Protokoll ist ja auch nicht verkehrt, nur der verwendete Algorithmus ist nunmal schwach gewesen. Das dürfte aber auch daran gelegen haben, dass man in einem Sender, der sogar noch kleiner als eine Streichholzschachtel ist, nicht ohne Nachteile besonders viel Rechenleistung unterbringen kann. Auch das ganze über Funk abzuwickeln ist eigentlich die einzig sinnvolle Lösung wenn es darum geht den Komfort zu erhöhen, ein "Ding" das wir aus der Tasche kramen müssen und in die Tür stecken müssen haben wir alle schon ;) Ich setze hierbei natürlich voraus, dass es bei einer Haustür primär um Komfort und nicht um erhöhte Sicherheit geht. Sollte es um erhöhte Sicherheit gehen, so würde ich für kontaktbehaftete Smartcards einen EVVA 3KS Zylinder oder einen EVVA MCS Zylinder votieren, aber eher weniger für eine Funk Lösung. In diesem Fall geht es aber um Komfort denke ich, da jupp ja gezielt nach einer Lösung Fragt die "genauso sicher wie ein mechanischer schlüssel" ist. Und mal ehrlich, wer von euch würde ein System installieren, welches das mechanische Schloß komplett ersetzt und sich nur darauf verlassen ? Um mal eine Lösung zu skizzieren: Prozessor in der Größenordnung ATTiny85. Rolling Code System dem Keeloq Protokoll nachempfunden. XTEA als Algorithmus. Sender im 434 oder 868Mhz Band. Das müsste man theoretisch mit Hobbymitteln auch noch erträglich klein hinbekommen.
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.