Forum: Mikrocontroller und Digitale Elektronik nach keeLoq: gibt es sichere alternativen?


von jupp (Gast)


Lesenswert?

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.

von Schwurbl (Gast)


Lesenswert?

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.

von jupp (Gast)


Lesenswert?

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.

von Johnny Maxwell (Gast)


Lesenswert?

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

von Schwurbl (Gast)


Lesenswert?

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.

von jupp (Gast)


Lesenswert?

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

von Schwurbl (Gast)


Lesenswert?

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!

von jupp (Gast)


Lesenswert?

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.

von Johnny Maxwell (Gast)


Lesenswert?

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 :)

von Christian T. (shuzz)


Lesenswert?

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

von Timberwolf (Gast)


Lesenswert?

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