Dieser Artikel behandelt den Chosen-Ciphertext-Angriff auf Kryptosysteme.

Der Angreifer hat temporär die Möglichkeit, Geheimtexte seiner Wahl zu entschlüsseln. Dies kann durch Zugriff auf ein Hardwaresystem durch einen Einbruch geschehen; es fällt jedoch auch der Zugriff auf unvorhergesehene Nebeneffekte, wie verschiedene Fehlermeldungen nach erfolgreicher bzw. erfolgloser Entschlüsselung darunter. Ein Beispiel dafür ist Bleichenbachers Angriff auf PKCS#1.

Bei einigen Kryptosystemen, etwa bei Rabin, ist er dann in der Lage, aus den gewonnenen Datenpaaren den geheimen Schlüssel zu ermitteln, mit dem die Geheimtexte verschlüsselt waren.

Beispiel-Angriff auf RSA durch Brute-Force Bearbeiten

Im Folgenden wird beispielhaft ein Chosen-Ciphertext-Angriff auf eine RSA-Verschlüsselung mittels Brute-Force gezeigt.

Bei RSA sind die öffentlichen Schlüssel frei abrufbar. Mit Hilfe des öffentlichen Schlüssels kann ein beliebiger Datenstrom verschlüsselt, jedoch nicht wieder entschlüsselt werden. Wird derselbe Text mit demselben Schlüssel verschlüsselt, entsteht immer dieselbe Chiffre.

Diese Tatsache kann ein Angreifer ausnutzen. Zunächst fängt der Angreifer eine verschlüsselte Nachricht ab. Nun beginnt der Angreifer, systematisch Klartexte zu verschlüsseln. Sobald das von ihm abgefangene Chiffrat mit dem von ihm erzeugten übereinstimmt, hat er den Klartext gefunden.[1]

Beispiel-Angriff auf RSA mit Social Engineering/Debugging-Funktion Bearbeiten

Im Folgenden wird beispielhaft ein Chosen-Ciphertext-Angriff auf eine RSA-Verschlüsselung mit Social Engineering gezeigt. Wichtig bei diesem Angriff ist, dass die Reihenfolge des Verschlüsselns beim Entschlüsseln keine Rolle spielt.

  1. PC A sendet eine Nachricht an den Server B. Diese ist mit dem öffentlichen Schlüssel von B verschlüsselt.
  2. Der Angreifer hört diese verschlüsselte Nachricht ab.
  3. Der Angreifer verschlüsselt diese Nachricht nochmals mit seinem eigenen Public-Key.
  4. Der Angreifer sendet die doppelt verschlüsselte Nachricht an B. B entschlüsselt diese intern.
    1. B kann mit dieser Nachricht nichts anfangen, da sie nochmals verschlüsselt ist. Die Nachricht wird von B als fehlerhaft gewertet.
    2. Der Angreifer bringt B dazu, ihm die entschlüsselte Nachricht zuzusenden, etwa per Social Engineering oder auch automatisch mittels einer Debugging-Funktion.
  5. Da die Reihenfolge der Entschlüsselungen bei diesem Angriff irrelevant sein muss, kann der Angreifer die Nachricht nun nochmals mit seinem eigenen Schlüssel entschlüsseln, dadurch erlangt er den Klartext.[1]

Aktuelle Angriffe Bearbeiten

DROWN-Angriff
Dieser Angriff setzt voraus, dass der Server noch Verbindungen über das unsichere SSLv2 akzeptiert. Der Angriff wird genutzt, um vermeintlich sichere TLS-Verbindungen anzugreifen. Hierbei wird zunächst vom Angreifer der sicher verschlüsselte Datenstrom mitgelesen. Anschließend wird über die verwundbare SSLv2-Schnittstelle ein Chosen-Ciphertext-Angriff durchgeführt. Dieser ermöglicht es, den symmetrischen Schlüssel aus dem sicher verschlüsselten Datenstrom zu extrahieren, wodurch dieser ebenfalls angreifbar wird.[2]

Siehe auch Bearbeiten

Einzelnachweise Bearbeiten

  1. a b Chosen-Ciphertext-Angriff In: Angewandte Kryptographie, von Wolfgang Ertel.
  2. DROWN-Angriff: SSL-Protokoll aus der Steinzeit wird Servern zum Verhängnis heise.de, 1. März 2016.