Angriff auf Hash-Funktionen, die die Einweg-Eigenschaft nicht erfüllen


9

Ich überarbeite gerade für einen Computersicherheitskurs und bin bei einer der letzten Fragen festgefahren. Hier ist es:

Alice ( ) möchte eine kurze Nachricht an Bob ( ) senden, indem sie ein gemeinsames Geheimnis , um zu bestätigen, dass die Nachricht von ihr stammt. Sie schlägt vor, eine einzelne Nachricht mit zwei Teilen zu senden: wobei eine Hash-Funktion ist und die Verkettung bezeichnet.M B S a b A B :AMBSabh

AB:M,h(MSab)
h
  1. Erklären Sie sorgfältig, was Bob tut, um zu überprüfen, ob die Nachricht von Alice stammt, und warum er dies (abgesehen von den Eigenschaften von ) möglicherweise glaubt.h
  2. Angenommen, erfüllt die Einweg-Eigenschaft nicht und es ist möglich, Vorbilder zu erzeugen. Erklären Sie, was ein Angreifer tun kann und wie.h
  3. Wenn das Generieren von Vorbildern vergleichsweise zeitaufwändig ist, schlagen Sie eine einfache Gegenmaßnahme vor, um das Protokoll zu verbessern, ohne zu ändern .h

Ich glaube ich kenne den ersten. Bob muss einen Hash der empfangenen Nachricht zusammen mit seinem freigegebenen Schlüssel nehmen und diesen Hash mit dem von Alice empfangenen Hash vergleichen. Wenn sie übereinstimmen, sollte dies beweisen, dass Alice ihn gesendet hat.

Bei den zweiten beiden Fragen bin ich mir allerdings nicht sicher. Wäre die Antwort für den zweiten, dass ein Angreifer einfach die ursprüngliche Nachricht mit einem Hash erhalten kann? Ich bin mir nicht sicher, wie das gemacht werden soll.


3
Bitte geben Sie die Zuordnung für das Bild. Bitte erwägen Sie auch, den Text zu kopieren, damit er ordnungsgemäß durchsucht werden kann.
Raphael

Antworten:


7

Wäre die Antwort für den zweiten, dass ein Angreifer einfach die ursprüngliche Nachricht mit einem Hash erhalten kann?

Nun, die Nachricht wird bereits an den Gegner gesendet (sie wird über einen unsicheren Kanal an Bob gesendet), sodass er sie nicht finden muss. Um das Schema zu brechen, muss er ein neues Paar senden so dass Bob als die von Alice gesendete Nachricht akzeptiert .MM,h(MSab)MM

Für die zweite Frage: Wenn es einfach ist, Vorbilder von zu erzeugen , kann der Gegner möglicherweise den geheimen Schlüssel von lernen, wodurch das Schema gebrochen wird. (Beachten Sie, dass dies möglicherweise nicht trivial ist. Der invertierende Prozess gibt möglicherweise so aus, dass , dies ist jedoch für den Gegner nicht nützlich Wenn der Gegner erneut versucht, umzukehren , erhält er möglicherweise das gleiche Vorbild.)hSabh(MSab)
M1,S1h(MSab)=h(M1S1)h

Zur dritten Frage: Wir gehen nun davon aus, dass das Invertieren von viel Zeit in Anspruch nimmt. Machen wir dem Gegner das Leben schwerer, indem wir ihn mehrmals invertieren müssen, um das Schema zu brechen. Verwenden Sie zum Beispiel den Hash mal . Es gibt auch andere Lösungen.hkh(h(h(....h(MSab)..))

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.