Funkfernbedienung für Kfz wie verschlüsseln?

Gast #1265324
Lesenswert?

Hallo zusammen,

ich habe eine IR-Fernbedienung für mein Auto. Aufgrund der vielen 
Nachteile von IR, plane ich, die Übertragung auf RF umzubauen. Dazu 
möchte ich die IR-Daten 1:1 in einen bspw. AT89RF401 einlesen, über Funk 
versenden, und im Empfänger wieder in IR-Daten umsetzen.

Da der AT89RF401 neben dieser einfachen Aufgabe noch viel mehr kann, 
habe ich mir nun überlegt, ob es nicht möglich wäre, eine einfache 
Authentifizierung mit einzubauen! Die jetzige IR-Übertragung 
funktioniert mit festen Codes, die einfach auszuspähen sind. Wenn ich 
schon so eine schöne Funkstrecke mit Rückkanal aufbaue, dann könnte ich 
doch gleich eine einfache Authentifizierung mit einbauen.

Leider kenne ich mich mit diesem Thema nicht sonderlich gut aus. Kann 
mir jemand einem leichten Algorithmus vorschlagen? Wie wird das 
eigentlich bei aktuellen Fernbedienungen gelöst?

Grüße
Steffen
#1265370
Lesenswert?

Im Endeffekt ist das Verschlüsseln sowieso überflüssig! Ist der 
KFZ-Sender weit genug vom KFZ weg, und ein Unbekannter schafft es den 
Öffnen-Knopf zu drücken, kann er den gesendeten Code abfangen. In der 
Nähe des KFZ kann er den Code wieder aussenden. Das Auto öffnet sich 
(geht nur 1x, da der Code dann "verbraucht" ist).

Fertig! Lass es so wie es ist!
Gast #1265374
Lesenswert?

> und ein Unbekannter schafft es den Öffnen-Knopf zu drücken,
> kann er den gesendeten Code abfangen.

deshalb werden i. A. auch mehrere Codes ausgewertet - Der Schlüssel 
sendet bei Betätigung also mehrere Sequenzen und die müssen alle 
stimmen....

Otto
#1265379
Lesenswert?

Otto schrieb:
>> und ein Unbekannter schafft es den Öffnen-Knopf zu drücken,
>> kann er den gesendeten Code abfangen.
>
> deshalb werden i. A. auch mehrere Codes ausgewertet - Der Schlüssel
> sendet bei Betätigung also mehrere Sequenzen und die müssen alle
> stimmen....
>
> Otto

Und diese mehrere Sequenzen können abgefangen und aufgezeichnet werden! 
Die stimmen dann beim Senden 100%. Nur beim Senden des Schlüssels darf 
das KFZ nicht in Reichweite stehen, sonst ider der Code "verbraucht"!

Das KFZ kann nicht zwischen einem kopierten und einem echten Signal 
unterscheiden!
Persönliche Seite #1265382
Lesenswert?

Otto schrieb:
>> und ein Unbekannter schafft es den Öffnen-Knopf zu drücken,
>> kann er den gesendeten Code abfangen.
> deshalb werden i. A. auch mehrere Codes ausgewertet

Das ändert aber nichts. Dann müssen eben alle Sequenzen abgefangen, 
gespeichert und wieder ausgesandt werden.

Edit: Alex war schneller.
Und durch den Rückkanal ergeben sich tatsächlich noch mehr 
Möglichkeiten.
Mann kann dann auch verhindern, dass einer mit dem geklauten Sender über 
den Parkplatz läuft und durch Dauerdrücken herausfindet welches Auto zum 
Schlüssel gehört.
Gast #1265391
Lesenswert?

Hallo Steffen,

rolling code oder code hopping kannst Du suchen.
Interessant: der keeyloq von Microchip war in die Diskussion geraten
(z.B.Toyota), da eine Uni in Deutschland einen Weg gefunden hatte,
den Algorithmus zu knacken (hoher Aufwand). Bericht auch in der ct'.
Bei den Verfahren werden Folgecodes berechnet. Da macht das überhaupt 
nichts, wenn einer die Tasten drückt (z.B. in der Kneipe).
Beim nächsten Zusammentreffen von Sender und Empfänger synchronisieren 
sich
diese wieder. Sonst hilft nur ein Verfahren mit dem "Hardwareschlüssel".
Allgemein ist, wie bei jeder Alarmanlage, ein durchdachter Selbstbau,
gut, da man nicht auf Standardkomponenten zurückgreift und nicht jeder
Hobbyeinbrecher sofort erkennt, womit er rechnen muss.

Gruss
Dietmar
Gast #1265413
Lesenswert?

Danke für Eure Antworten!

Da ich einen Rückkanal habe, dachte ich an sowas wie Challenge-Response. 
D.h. das Kfz sendet meiner Fernbedienung eine Aufgabe, diese wird dann 
von ihr gelöst und anschließend an das Kfz zurückgesendet.

Allerdings kann ich nicht abschätzen, wie aufwändig die Implementierung 
eines solchen Algorithmus ist. Letztendlich geht es mir auch nur darum, 
die Möglichkeiten, die ich mir mit dem Funkkanal schaffe, clever 
auszunutzen. D.h. eine möglichst sichere Authentifizierung zu finden, 
die möglichst simpel zu implementieren ist.

Bis jetzt ist ja schon das Stichwort "Rolling Codes" (sogar mit 
App.-Note!) gefallen.
Gast #1265448
Lesenswert?

Also der kryptographische Standardweg wäre eine Nounce (PRNG) zur 
Fernbedienung zu senden, die mit einem privaten Schlüssel signiert wird. 
Der Empfänger im Auto kann damit Zweifelsfrei feststellen, dass die 
Nounce nur vom berechtigten (Signierer) zurückgesendet wurde.
#1265457
Lesenswert?

Blitzmerker schrieb:
> Hallo Steffen,
>
> rolling code oder code hopping kannst Du suchen.
> Interessant: der keeyloq von Microchip war in die Diskussion geraten
> (z.B.Toyota), da eine Uni in Deutschland einen Weg gefunden hatte,
> den Algorithmus zu knacken (hoher Aufwand). Bericht auch in der ct'.
> Bei den Verfahren werden Folgecodes berechnet.

BMW arbeitet mit dem selben System. Nur halt von Atmel.

> Da macht das überhaupt
> nichts, wenn einer die Tasten drückt (z.B. in der Kneipe).

Oh man, wieso versteht Ihr es nicht! Sobald der Sender den Code sendet 
(der Code ist ja gültig), der Empfänger aber ausser Reichweite ist, und 
ein Sniffer das Signal vom Sender speichert, kann er in Empfangsweite 
vom Empfänger durch 1:1 senden des empfangenen Codes das FZ dennoch 
öffnen! Und das Beste: Schlüssel und KFZ sind syncronisiert. Schliest 
der Einbrecher das KFZ von Hand zu (Knöpfen drücken) merkt der 
Betroffene nichteinmal etwas von dem Einbruch!

Das kann jeder der mit RFM12 hier rumspielt selber versuchen!


Maxxie schrieb:
> Also der kryptographische Standardweg wäre eine Nounce (PRNG) zur
> Fernbedienung zu senden, die mit einem privaten Schlüssel signiert wird.
> Der Empfänger im Auto kann damit Zweifelsfrei feststellen, dass die
> Nounce nur vom berechtigten (Signierer) zurückgesendet wurde.

Nützt bei dem oben angewendeten Verfahren genausowenig!
Gast #1265478
Lesenswert?

Wenn ich doch das Öffnen in mehrere Schritte aufteile, kann ein Sniffen 
nicht mehr viel bringen.
1. Sender sendet 'Hallo Auto, mach mal die Tür auf'
2. Auto antwortet 'Hallo Sender, wie spät ist es denn gerade?'
3. Sender antwortet 'Hallo Auto, 15:37h'
4. Auto antwortet 'Bei mir ist es 15:39h ??'
5. Sender antwortet 'Dann gehst Du 2 min falsch'
6. Das Auto erkennt seinen Meister und öffnet brav die Tür

Selbst wenn in der Kneipe der 1.te Spruch gesnifft wird, bleiben die 
anderen Sendungen des Senders ungesnifft.
Wenn man dann den Funkverkehr nicht in ASCII abwickelt und hier und dort 
noch ein paar Bit's vertauscht/invertiert, sollte das schon eine gewisse 
Sicherheit mit sich bringen.

Man kann auch die Laufzeit zwischen Sender und Auto bestimmen, wenn die 
Antwort nach Stunden noch nicht gekommen ist, wird's wohl nicht der 
eigene Sender gewesen sein - trotzdem würde ich auch bei empfangenem 
Müll eine Antwort raus geben, obgleich diese Anfrage eh nicht mehr 
gewertet wird.
Ansonsten könnte man sich an die richtige Antwort herantasten, immer, 
wenn die Antwort gepasst hat, wird die Reaktion des Senders länger - und 
länger geht auch so :)
Persönliche Seite #1265493
Lesenswert?

Stichwort asymmetrisches Kryptosystem, z.B. RSA. Verwendet man 
ausreichend lange Keys (z.B. 1024 Bit), ist das System ohne riesigen 
Rechenaufwand unknackbar, egal wie viel man snifft. Und da man auf 
Auto-Seite ja sowieso einen Microcontroller hat, kann man sich z.B. aus 
elektrischer Noise wunderbar Zufallszahlen für die Challenge 
produzieren.
Wenn du RSA verwenden willst: Darüber habe ich eine Facharbeit 
geschrieben, die, so bilde ich mir ein, einigermaßen leicht verständlich 
ist und die ich dir gerne geben kann.
Funktion im Telegrammstil:
Man produziert ein Schlüsselpaar - den public key und den private key. 
Wenn man etwas mit dem public key verschlüsselt, kann es nur mit dem 
private key wieder entschlüsselt werden. Und umgekehrt: "verschlüsselt" 
man mit dem private key eine Zahl, kann man sie mit dem public key 
entschlüsseln, und es kommt die ursprüngliche Nachricht heraus. Das wird 
so eingesetzt:
Auf der FB befindet sich der private key, im Auto der public key. Der uC 
im Auto produziert eine zufällige lange Zahl, schickt sie an die FB, 
diese verschlüsselt die Zahl mit dem private key, und schickt das 
Ergebnis zurück ans Auto. Der dortige uC entschlüsselt die Zahl wieder 
mit dem public key, und wenn das Ergebnis mit der ursprünglichen 
Zufallszahl übereinstimmt, ist es die richtige Fernbedienung. Die 
Mathematik sorgt hierbei dafür, dass man aus den übertragenen Zahlen 
ohne riesigen Rechenaufwand nicht an den private key kommt.
Edit: Da du ja nicht der erste wärst, der das anwendet, kannst du den 
schwierigsten Teil - die Erzeugung der Schlüssel - etablierten 
Programmen überlassen, z.B. ssh-keygen aus OpenSSH.
Gast #1265495
Lesenswert?

Du kannst dir den Rückkanal völlig sparen. Das kostet nur zusätzlich 
Strom, ist schwierig umzusetzen (weil fehleranfällig) und steigert die 
Sicherheit (in diesem Fall) kaum. Du musst einfach praktisch denken. Die 
Standardverfahren mit rollenden Code sind für diesen Zweck ausreichend. 
Du musst einfach bloss daruf achten, dass der Code genügend gross ist 
(>16bit). Und dass beim schliessen auch wirklich die Aktion durchgeführt 
wird. (Das ist ja hörbar.) Dann ist dieses Verfahren ausreichend sicher. 
Wenn du nicht aureichend Erfahrung hast, dann nimm eine 
Standardverschlüsselung und halte dich peinlich genau an genormte 
Protokolle.
Gast #1265502
Lesenswert?

@Maxxie: Ja, aber eben auch nur Replay sicher.
D.h. das Signal wird nur verworfen, wenn es schon einmal vom Kfz 
empfangen wurde und ein zweites Mal gesendet wir. Nur passiert das im 
Szenario von Alex W. eben nicht.

Ein möglicher Weg könnte sein einen Zeitstempel in die Nonce einzubauen.
Wobei man hier auch sicher einen Weg finden kann das Signal zu fälschen.

Gruß
pinnchen
Gast #1265523
Lesenswert?

@ Niklas G. (erlkoenig) :
Wär die Facharbeit etwas fürs WIKI ?
Oder möchtest Du nicht "berühmt"werden ?

Neben der Kryptographie - ohne Spassverderber zu sein.
Das bei einem solchen Eingriff in die Schliesstechnik
der Versicherungsschutz weg ist, ist klar, oder??
Die Versicherungen stellen sich ja schon an, wenn man
bei einem Unfall die falschen Ventilpömpel drauf hat.
#1265538
Lesenswert?

Das ist doch eh alles für die Katz, es gibt massig andere Wege ins Auto 
zu kommen als die blöde Fernbedienung. Frag mal den ADAC, die öffnen dir 
jedes Auto in Sekunden bis Minuten ohne Schlüssel. Also kann man den 
Sicherheitskrempel gleich weglassen, Rolling Code reicht da vollkommen 
aus. Alles andere steht in keinem Verhältnis zum Nutzen. Bei der 
Wegfahrsperre sieht das schon anders aus, aber bei der ZV? Akademischer 
Unsinn, da RSA oder sonstwas zu verwenden.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren