Replay-Angriff

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 5. Juli 2016 um 06:38 Uhr durch 2003:78:cf7e:d401:f159:5b2c:14ef:630f (Diskussion) (→‎Gegenmaßnahmen: BS ist weiblich). Sie kann sich erheblich von der aktuellen Version unterscheiden.
Zur Navigation springen Zur Suche springen

Ein Replay-Angriff (Angriff durch Wiedereinspielung) ist eine kryptoanalytische Angriffsform auf die Authentizität von Daten in einem Kommunikationsprotokoll. Hierbei sendet der Angreifer zuvor aufgezeichnete Daten, um etwa eine fremde Identität vorzutäuschen.

Beispiel

Angenommen, Alice will ihre Identität Bob gegenüber beweisen. Beide kennen Alice' geheimes Passwort. Alice berechnet den Hashcode ihres Passworts mit einer kryptologischen Hash-Funktion und sendet diesen an Bob. Bob vergleicht den Hashcode mit seiner Berechnung und akzeptiert. Währenddessen belauscht Mallory die Kommunikation und zeichnet den von Alice gesendeten Hashcode auf. Nachdem die Kommunikation beendet ist, verbindet sich Mallory mit Bob, gibt sich als Alice aus und sendet den aufgezeichneten Hashcode. Mallory kann dadurch erfolgreich Alice' Identität vorgeben, obwohl sie das Passwort nicht kennt.

Das Needham-Schroeder-Protokoll ist in seiner ursprünglichen Form für einen Replay-Angriff anfällig.

Gegenmaßnahmen

Eine Möglichkeit, Replay-Angriffe zu verhindern, ist die Nutzung eines Nonce: Bob sendet einen einmaligen Code (Nonce) zu Alice. Diesen nutzt Alice, um ihr Passwort zu transformieren, und sendet das Ergebnis zurück an Bob. Bob wiederum vollführt dieselbe Transformation und vergleicht sein Ergebnis mit Alice' Ergebnis: wenn beide übereinstimmen, akzeptiert Bob die Identität von Alice. Wenn nun Mallory versucht, ein abgehörtes Passwort wiederzuverwenden, schickt Bob aber ein anderes Nonce; der ausspionierte Hashcode ist nun ungültig (da mit einem anderen Nonce generiert). Bob lehnt ab, da sein Ergebnis und der gelieferte (veraltete) Hashcode nicht übereinstimmen. Statt eines Nonce kann auch ein Zeitstempel verwendet werden, wobei Alice das Datum und die Uhrzeit, welche sie verwendet hat, Bob mitteilen sollte, falls eine Verzögerung der Übertragung auftritt.

Um eine fortlaufende Datenübertragung über mehrere Datenpakete hinweg zu schützen, kann eine Sequenznummer verwendet werden, deren Authentizität wiederum von einem Message Authentication Code sichergestellt wird. Dies ist zum Beispiel bei IPsec sowohl beim Authentication Header als auch beim Encapsulating Security Payload vorgesehen. Je nach Betriebsart kann auch eine mit einer Blockchiffre verschlüsselte Datenübertragung Schutz vor Replay-Angriffen bieten.