Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
Das ist jetzt außerhalb des ursprünglichen Kontexts: Das kommt auf die Anwendung an, Replay-Attacken sind oft ziemlich problematisch. Da musst Du auch bei herkömmlicher Signierung dran denken.Im "Nachbauen" einer vorhandenen signierten Nachricht sehe ich irgendwie keinen Sinn, was würde das einem Angreifer bringen?
Ich war schon in einer (Probe-)Vorlesung Mathematik, die Herleitungen die wir dort von einigen Funktionen bekommen haben waren deutlich anspruchsvoller... Noch kann ich dir also folgen.Zitat
Klingt akademisch? Nun, vielleicht ist es in der Tat etwas.
Wenn also der Hashwert der gefälschten Nachricht das Produkt aus den Hashwerten der beiden vorherigen Nachrichten ist, ist die Signatur wiederum das Produkt aus den beiden vorherigen Signaturen, wenn ich dich richtig verstanden habe.
Angenommen man kann die gewünschte Nachricht so umbauen (z.B. mit dem anhängen weiterer Ziffern), dass der Hashwert genau dem oben beschriebenen Produkt entspricht, könnten also Nachrichten gefälscht werden. Dann hängt es jetzt davon ab einen Hashalgorithmus zu verwenden, bei dem das nicht möglich ist.
Ich gehe davon aus, dass bei SHA-1, oder MD5, noch niemand in relativ kurzer Zeit (und ohne Brute-Force) solche anzuhängenden Zeichen berechnen kann, um einen gewünschten Hashwert zu erreichen.
Man berechnet die Signatur aus der Hashfunktion, um Berechnungszeit zu sparen, oder? Würde man dann statt die Signatur von der Hashfunktion zu berechnen, die Signatur aus der Nachricht berechnen lassen, würde man die oben genannte Sicherheitslücke vermeiden, oder?
Aber Kollision zu finden muss doch nicht unbedingt helfen eine Nachricht zu fälschen. Ich gehe davon aus, damit niemand z.B. "kc4a,b_d" verschicken will, mit dem er zwar die selbe Signatur verwenden kann, aber immer noch keine Botschaft. Interessanter wäre es doch nur, wenn es für bestimmte Hashfunktionen eine Methode geben würde, wie man einen beliebigen Hashwert für eine beliebige Nachricht erhält, die dann möglichst nur erweitert werden muss (z.B. zu "Ok, habe deine letzte Nachricht erhalten. dky<fl4fn"). Und ich glaube das letztere ist nicht so einfach in einer Stunde möglich.MD5 ist gebrochen (Kollision auf normaler Hardware in weniger als 1 Stunde). SHA-1 ist noch nicht so schlimm, aber ich würde es ebenfalls nicht mehr verwenden.
Community-Fossil
Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer
Natürlich nicht. Sonst wäre RSA ja wohl eher ein Epic Fail als ein CryptoSystem. In den meisten Fällen ist die Signierung also sicher. Erstens wurde schon gesagt, dass man den Hash signieren sollte und zweitens kommen eben keine hintereinander gehangenen Nachrichten im Realfall sonderlich oft vor. Kann, ist aber extrem vom Kontext abhängig und man muss sich dieser Schwäche natürlich trotzdem bewusst sein.@BlueCobold
Du meinst wenn ich mit RSA mehrere Nachrichten mit dem selben Schlüssel signieren würde, könnte ein anderer, der den öffentlichen Schlüssel und die Nachrichten kennt, trotzdem keine eigenen Nachrichten mit meiner Signatur erstellen?
Werbeanzeige