Stream-Chiffre-Angriffe - Stream cipher attacks
Stromchiffren , bei denen Klartextbits durch eine Exklusiv-Oder-Operation ( xor ) mit einem Chiffrierbitstrom kombiniert werden , können bei richtiger Verwendung sehr sicher sein. Sie sind jedoch anfällig für Angriffe, wenn bestimmte Vorsichtsmaßnahmen nicht beachtet werden:
- Schlüssel dürfen nie zweimal verwendet werden
- Auf eine gültige Entschlüsselung sollte man sich niemals verlassen, um die Authentizität anzuzeigen
Wiederverwendeter Schlüsselangriff
Stromchiffren sind anfällig für Angriffe, wenn derselbe Schlüssel zweimal (Tiefe von zwei) oder mehr verwendet wird.
Angenommen, wir senden Nachrichten A und B derselben Länge, die beide mit demselben Schlüssel K verschlüsselt sind . Die Stromchiffre erzeugt eine Folge von Bits C(K) der gleichen Länge wie die Nachrichten. Die verschlüsselten Versionen der Nachrichten sind dann:
- E(A) = A x oder C
- E(B) = B x oder C
wobei xor nach und nach ausgeführt wird.
Angenommen, ein Gegner hat E(A) und E(B) abgefangen . Er kann leicht berechnen:
- E(A) xoder E(B)
Jedoch xor ist kommutativ und hat die Eigenschaft , dass X xor X = 0 (selbst invers) so:
- E(A) xor E(B) = (A xor C) xor (B xor C) = A xor B xor C xor C = A xor B
Wenn eine Nachricht länger ist als die andere, schneidet unser Gegner die längere Nachricht einfach auf die Größe der kürzeren ab und sein Angriff wird nur diesen Teil der längeren Nachricht enthüllen. Mit anderen Worten, wenn jemand zwei mit dem gleichen Schlüssel verschlüsselte Nachrichten abfängt, kann er A xor B wiederherstellen , was eine Form der laufenden Schlüsselchiffre ist . Selbst wenn keine Nachricht bekannt ist, kann eine solche Chiffre oft durch Papier-und-Bleistift-Methoden gebrochen werden, solange beide Nachrichten in einer natürlichen Sprache vorliegen. Während des Zweiten Weltkriegs erreichte dies der britische Kryptoanalytiker John Tiltman mit der Lorenz-Chiffre (genannt "Tunny"). Mit einem durchschnittlichen PC können solche Chiffren normalerweise innerhalb von Minuten geknackt werden. Wenn eine Nachricht bekannt ist, ist die Lösung trivial.
Eine andere Situation, in der die Wiederherstellung trivial ist, ist, wenn Sicherheitsmaßnahmen für den Verkehrsfluss dazu führen , dass jede Station einen kontinuierlichen Strom von Verschlüsselungsbits sendet, wobei Nullzeichen (z. B. LTRS in Baudot ) gesendet werden, wenn kein echter Verkehr vorhanden ist. Dies ist in der militärischen Kommunikation üblich. In diesem Fall und wenn der Übertragungskanal nicht vollständig geladen ist, besteht eine gute Wahrscheinlichkeit, dass einer der Chiffretextströme nur Nullen ist. Die NSA unternimmt große Anstrengungen, um zu verhindern, dass Schlüssel doppelt verwendet werden. Verschlüsselungssysteme der 1960er-Jahre enthielten oft einen Lochkartenleser zum Laden von Schlüsseln. Der Mechanismus schneidet die Karte beim Entfernen automatisch in zwei Hälften und verhindert so ihre Wiederverwendung.
Eine Möglichkeit, dieses Problem zu vermeiden, besteht darin, einen im Klartext gesendeten Initialisierungsvektor (IV) zu verwenden, der mit einem geheimen Hauptschlüssel kombiniert wird, um einen einmaligen Schlüssel für die Stromchiffre zu erstellen. Dies geschieht in mehreren gängigen Systemen, die die beliebte Stream-Chiffre RC4 verwenden , darunter Wired Equivalent Privacy (WEP), Wi-Fi Protected Access (WPA) und Ciphersaber . Eines der vielen Probleme mit WEP war, dass seine IV zu kurz war, 24 Bit. Dies bedeutete, dass die Wahrscheinlichkeit hoch war, dass derselbe IV zweimal verwendet wurde, wenn mehr als einige Tausend Pakete mit demselben Hauptschlüssel gesendet wurden (siehe Geburtstagsangriff ), wodurch die Pakete mit dupliziertem IV dem Schlüsselwiederverwendungsangriff unterzogen wurden. Dieses Problem wurde in WPA behoben, indem der "Master"-Schlüssel häufig geändert wurde.
Bit-flipping-Angriff
Angenommen, ein Gegner kennt den genauen Inhalt einer unserer Nachrichten ganz oder teilweise. Als Teil eines Man-in-the-Middle-Angriffs oder Replay-Angriffs kann er den Inhalt der Nachricht ändern, ohne den Schlüssel K zu kennen . Angenommen, er weiß, dass ein Teil der Nachricht, beispielsweise eine elektronische Überweisung, die ASCII- Zeichenfolge "$1000,00" enthält . Er kann dies in "$9500.00" ändern, indem er diesen Teil des Geheimtextes mit der Zeichenfolge "$1000.00" xor "$9500.00" XOR-verknüpft . Um zu sehen, wie dies funktioniert, bedenken Sie, dass der verschlüsselte Text, den wir senden, nur C(K) xor "$1000.00" ist . Die neue Nachricht, die der Gegner erstellt, lautet:
- (C(K) xor "1000,00 $") xor ("$1000,00" xor "$9500,00") = C(K) xor "$1000,00" xor "$1000,00" xor "$9500,00" = C(K) xor "$9500,00"
Denken Sie daran, dass eine mit sich selbst XOR-verknüpfte Zeichenfolge alle Nullen erzeugt und dass eine mit einer anderen Zeichenfolge XOR-verknüpfte Zeichenfolge von Nullen diese Zeichenfolge intakt lässt. Das Ergebnis, C(K) xor "9500,00 $", ist das, was unser Geheimtext gewesen wäre, wenn $9500 der richtige Betrag gewesen wäre.
Bit-Flipping-Angriffe können verhindert werden, indem ein Nachrichtenauthentifizierungscode eingefügt wird , um die Wahrscheinlichkeit zu erhöhen, dass Manipulationen erkannt werden.
Chosen-IV-Angriff
Stromchiffren kombinieren einen geheimen Schlüssel mit einem vereinbarten Initialisierungsvektor (IV), um eine Pseudozufallsfolge zu erzeugen, die von Zeit zu Zeit neu synchronisiert wird. Ein "Chosen IV"-Angriff beruht darauf, bestimmte IVs zu finden, die zusammengenommen wahrscheinlich Informationen über den geheimen Schlüssel preisgeben. Typischerweise werden mehrere Paare von IV ausgewählt und Unterschiede in generierten Schlüsselströmen werden dann statistisch auf eine lineare Korrelation und/oder eine algebraische boolesche Beziehung analysiert (siehe auch Differentialkryptanalyse ). Wenn die Wahl bestimmter Werte des Initialisierungsvektors ein nicht-zufälliges Muster in der erzeugten Sequenz aufdeckt, dann berechnet dieser Angriff einige Bits und verkürzt somit die effektive Schlüssellänge. Ein Symptom des Angriffs wäre eine häufige Resynchronisation. Moderne Stromchiffren umfassen Schritte zum angemessenen Mischen des geheimen Schlüssels mit einem Initialisierungsvektor, normalerweise durch Ausführen vieler anfänglicher Runden.
Verweise
Externe Links
- Sicherheit des WEP-Algorithmus
- „Angriffe auf Stromverschlüsselungen: Eine Umfrage“ – ein kurzer Überblick über verschiedene Stromverschlüsselungsangriffe aus dem Jahr 2014
- "Attacks on Stream Ciphers: A Perspective" – Vortragsfolien aus dem Jahr 2011