Vor einer Weile gab es doch mal eine Diskussion, das die elektronischen
Autoschlüssel unsicher sind, weil sie durch Mithören des Funkverkehrs
geknackt werden können. Nun dachte ich mir, das muss doch ziemlich
einfach auch sicher gemacht werden können. Folgendes ist mir eingefallen
und scheint mir "totsicher" zu sein:
1. das Auto und der Autoschlüssel enthalten zwei Keys, Key1 und Key2,
die beide mindestens 64 Bit lang sind. Beide zusammen sind der Schlüssel
zum Auto, sozusagen.
2. Der Autoschlüssel macht eine Anfrage beim Auto, das es geöffnet
werden soll.
3. Das Auto erzeugt eine Zufallszahlenfolge von z.B. 1024 Bit, aber
richtig zufällig, also nicht mit Schieberegister sondern durch echtes
Rauschen.
4. Diese Zahlenfolge verschlüsselt das Auto mit Key1 mit einem
symmetrischen Verfahren, wie z.B. AES oder Twofish und sendet das
Verschlüsselte zum Autoschlüssel.
5. Der Autoschlüssel entschlüsselt es mit Key1 und muss es mit Key2
verschlüsseln und zurück senden.
6. Das Auto entschlüsselt mit Key2 und vergleicht die Zahlen mit der
generierten Zufallszahlenfolge und macht dann die Tür auf, wenn beides
übereinstimmt.
Wenn man nun noch in der Hardware implementiert, das nur maximal zwei
solche Abfragen pro Sekunde möglich sind, dann sollte Bruteforce
(Probieren per Funk mit PC o.ä.) wenig Sinn machen. Durch reines
Mithören des Funkverkehrs sollte man eigentlich auch keine Möglichkeit
haben, die Keys zu entschlüsseln. (In einem sinnvollen Zeitraum.)
Warum den Aufwand mit dem doppelten Verschlüsseln? Reicht doch, wenn der
Autoschlüssel einmal mit nem bestimmten Algorithmus über den Zufallscode
geht. Am besten wären natürliche meherere Algorithmen, die entweder per
Zufall vom Autoschlüssel oder durch das Fahrzeug mit ner an die
Zufallszahl angehängte Zahl auswählt.
Dann wird das herausbekommen der Verschlüsselung/des Algorithmuses per
"mithören" auch praktisch unmöglich.
Ich wollte "Security through obscurity" vermeiden. Das wäre ein
Designfehler für so ein System. Bei dir wären sofort alle Schlüssel
kompromittiert, wenn einer durch reverse engineering gehackt wurde.
Naja... dann müsste der Nutzer aber bei dir die Verschlüsselungskeys
selbst setzen.
Trotzdem finde ich die erste Verschlüsselung für überflüssig, aber kann
man ja machen, schaden tuts sicherlich nicht. Und ich würde in den
Autoschlüssel auf jeden Fall mehrere Schlüssel setzen, die nach dem
Zufallsprinzip (gesteuert vom KFZ) durchgeschalten werden.
Ich hätte halt bedenken, dass jemand der mithört, sich quasi einen
dritten Schlüssel erzeugen kann, mit dem er den verschlüsselten
Zufallscode des KFZs einfach nochmal so verschlüsseln kann, dass er
stimmt. Also ohne in zu entschlüsseln und wieder neu zu verschlüsseln.
Den es ergibt sich ja durchaus ein bestimmtes Prinzip/Algorithmus.
(Pah.. soviele Schlüssel in einen Satz.. xD)
Die beiden Keys müssen natürlich vom Hersteller bei der Auslieferung
oder in einer Werkstatt, wenn ich einen neuen Autoschlüssel haben will,
weil der alte weg ist, neu programmiert werden. Das sollte natürlich nur
gehen, wenn das Auto schon aufgeschlossen ist.
Die erste Verschlüsselung ist überhaupt nicht überflüssig! Wenn man die
weg lässt, hätte ein Angreifer den Klartext UND die Verschlüsselten
Daten! Das ist ja tötlich für die Sicherheit.
Deine Bedenken im letzten Absatz wären nur sinnvoll, wenn der
Verschlüsselungsalgorithmus unsicher wäre. Bei einem guten Algorithmus
ist sowas (in einem sinnvollen Zeitraum) nicht machbar und AES und
Twofish sind gut.
Erstens ist die Verschlüsselung bereits sicher (also das allgemeine
Konzept bzw Protokoll) und Zweitens ist das Rücksenden der Daten zum
Schlüssel viel aufwendiger (sowohl in Hardware, aber auch wegen der
Datenintegrität) und absolut überflüssig. Lediglich die Algorithmen
selbst müssen nochmal überarbeitet werden, was aber wohl schon geschehen
ist. Du kommst also zu spät..
Nun kann man ein Auto auf unterschiedliche Art und Weise klauen, mit
einem geknackten Funkschlüssel kann man sich zwar reinsetzen, aber nicht
losfahren, weil der RFID-Transponder (oder was auch immer das ist) für
die Wegfahrsperre fehlt.
Der wesentliche einfachere und in einer Großstadt auch viel
unauffälligere Weg ist der Einsatz eines Abschleppfahrzeuges. Sofern man
es nicht gerade direkt vor den Augen des Autobesitzers verwendet,
interessiert sich niemand dafür. Autos, die so geparkt sind, daß der
Einsatz des Abschleppfahrzeuges legal erscheint, gibt es in Großstädten
ja nun auch genügend ...
@Frank
Keine Sorge, ich wollte das jetzt nicht als Patent anmelden.
@Rufus
Da fällt mir immer die Geschichte ein, wie ein Bekannter mit seinem
Passat V6 TDI nach Polen gefahren ist und dort auf einem bewachten
Parkplatz geparkt hat. Vermutlich haben die Aufpasser gleich ihre
Freunde angerufen, denn der Passat wurde trotzdem geklaut. Die haben
innerhalb von 10min (wie er später auf dem Überwachungsvideo gesehen
hat) den Zaun zerschnitten, den Passat aufgebrochen, die Steuergeräte
getauscht und sind losgefahren. Also wenn beim nächsten Werkstattbesuch
der Mechaniker mehr als 10min für das tauschen eines Steuergeräts
aufschreibt, dann wisst ihr das er euch abzockt. ;-)