wie macht man denn folgendes (oder wie wᅵrdet ihr es machen): Ich habe
eine unidirektionale Verbindung (also der eine nur senden, der andere
nur empfangen). Nun mᅵchte ich damit verschlᅵsselt Kommandos ᅵbertragen.
Die Verschlᅵsselung soll zur Authentifikation und Abhᅵrsicherheit
eingesetzt werden.
Wenn ich nun einfach "Kommando" verschlᅵsselt ᅵbertrage, dann ist das ja
witzlos: Kᅵnnte durch Abhᅵren und Wiederholen gebrochen werden und es
wᅵrde "Kommando" unautorisiert ausgefᅵhrt.
Erste Idee: Ich verschlᅵssele in jedem Datenpaket eine Zahl, die ich
stets erhᅵhe. Das ᅵndert das sichtbare Paket auf dem ᅵbertragungskanal
jedes mal und der Empfᅵnger reagiert nur, wenn eine hᅵhere Zahl
empfangen wird. Jedoch fᅵhrt das zu Nachteilen. a) Was mache ich beim
unvermeindlichen ᅵberlauf? b) Beide mᅵssen sich die letzte Zahl in einem
nichtflᅵchtigen Speicher merken. In meinem Fall wᅵre das ein EEPROM und
das zu schreiben kostet Energie, die eine Knopfzelle evtl. nicht mehr hat.
Gibt es noch einfachere Mᅵglichkeiten, die die beiden Probleme vermeiden?
Grᅵ
David Pritzkau <pseudote...@web.de> writes:
> wie macht man denn folgendes (oder wie w�rdet ihr es machen): Ich habe
> eine unidirektionale Verbindung (also der eine nur senden, der andere
> nur empfangen). Nun m�chte ich damit verschl�sselt Kommandos
> �bertragen. Die Verschl�sselung soll zur Authentifikation und
> Abh�rsicherheit eingesetzt werden.
> Wenn ich nun einfach "Kommando" verschl�sselt �bertrage, dann ist das
> ja witzlos: K�nnte durch Abh�ren und Wiederholen gebrochen werden und
> es w�rde "Kommando" unautorisiert ausgef�hrt.
Korrekt. Der Fachausdruck daf�r ist "replay attack" (nur so als
Google-Tipp).
> Erste Idee: Ich verschl�ssele in jedem Datenpaket eine Zahl, die ich
> stets erh�he. Das �ndert das sichtbare Paket auf dem �bertragungskanal
> jedes mal und der Empf�nger reagiert nur, wenn eine h�here Zahl
> empfangen wird. Jedoch f�hrt das zu Nachteilen. a) Was mache ich beim
> unvermeindlichen �berlauf? b) Beide m�ssen sich die letzte Zahl in
> einem nichtfl�chtigen Speicher merken. In meinem Fall w�re das ein
> EEPROM und das zu schreiben kostet Energie, die eine Knopfzelle evtl.
> nicht mehr hat.
Ist der �berlauf tats�chlich ein Problem? Eine 32-bit-Zahl erlaubt dir
100.000 Kommandos t�glich f�r die n�chsten 100 Jahre; eine 64-bit-Zahl
erlaubt dir 1 Mio. Kommandos pro Sekunde bis zur n�chsten Eiszeit.
> Gibt es noch einfachere M�glichkeiten, die die beiden Probleme vermeiden?
Wenn du synchronisierte Uhren hast und ein "kurzfristiges" Replay
nichts ausmacht, kannst du einen Zeitstempel statt der fortlaufenden
Nummer verwenden. Die empfangende Seite nimmt dann das Kommando nur
an, wenn der Zeitstempel in der Nachricht �hnlich der eigenen Uhrzeit
ist.
LG,
Heinzi