Chosen Plaintext Attack

Abkürzung: CPA

Beim Chosen Plaintext Attack kann der Angreifer Klartexte seiner Wahl verschlüsseln lassen und die zugehörigen Geheimtexte beobachten. Sein Ziel ist der Schlüssel — oder, bescheidener und oft ausreichend, eine Aussage über eine andere Nachricht, die er nicht selbst gewählt hat.

Der deutsche Begriff lautet Angriff mit gewähltem Klartext. In der Kryptoanalyse ist er weniger ein Angriffsweg als ein Maßstab: Ein Verfahren, das ihm nicht standhält, gilt heute als unbrauchbar.

Die Angriffsmodelle im Vergleich

Der Begriff gehört in eine Reihe, die danach geordnet ist, wie viel der Angreifer kann:

ModellWas dem Angreifer zur Verfügung steht
Ciphertext-onlynur Geheimtexte
Known-PlaintextGeheimtexte mit zugehörigen Klartexten, die er nicht wählen konnte
Chosen-Plaintext (CPA)er wählt die Klartexte und erhält die Geheimtexte
Chosen-Ciphertext (CCA)er lässt zusätzlich Geheimtexte seiner Wahl entschlüsseln
Adaptive Variantener wählt jede Anfrage abhängig von den bisherigen Antworten

Je weiter unten in dieser Liste ein Verfahren besteht, desto besser. Dass die Annahme großzügig ist, ist Absicht: Man unterstellt dem Angreifer mehr, als er in der Praxis meist hat, und ist bei einer Fehleinschätzung auf der sicheren Seite.

Warum das Modell nicht theoretisch ist

Die naheliegende Frage lautet, wie ein Angreifer je dazu kommen sollte, fremde Klartexte verschlüsseln zu lassen. Die Antwort ist unangenehm: ständig, und meist ohne Zutun des Betreibers.

Jeder Server, der Eingaben verschlüsselt zurückgibt. Ein Webdienst, der einen vom Nutzer eingegebenen Wert in einem verschlüsselten Cookie ablegt, ist eine Verschlüsselungsmaschine auf Zuruf.

Verschlüsselte Verbindungen mit vorhersagbarem Inhalt. Wer einem Opfer eine Webseite unterschieben kann, die Anfragen mit Inhalten seiner Wahl auslöst, bekommt genau diese Konstellation — über dieselbe Verbindung, in der auch das Sitzungsmerkmal steckt. Mehrere bekannte Angriffe auf TLS beruhen genau darauf.

Festplatten- und Datenbankverschlüsselung. Wer Daten in ein verschlüsseltes System schreiben darf, wählt damit Klartexte.

Historisch ist das Vorgehen alt. Im Zweiten Weltkrieg wurden gezielt Ereignisse ausgelöst, deren Meldung im Funkverkehr mit bekanntem Wortlaut erschien — man nannte die Ergebnisse cribs, und sie waren ein wesentlicher Baustein beim Brechen der Enigma.

Was gegen CPA schützt

Die entscheidende Eigenschaft heißt IND-CPA (Ununterscheidbarkeit unter gewähltem Klartext): Ein Angreifer darf aus dem Geheimtext nicht einmal erkennen können, welcher von zwei selbst gewählten Klartexten verschlüsselt wurde.

Daraus folgt unmittelbar: Eine deterministische Verschlüsselung kann diese Eigenschaft nicht haben. Liefert derselbe Klartext immer denselben Geheimtext, erkennt der Angreifer Wiederholungen — und damit mehr, als er soll.

Die Abhilfe ist in jeder brauchbaren Umsetzung dieselbe: ein Initialisierungsvektor oder eine Nonce, die jede Verschlüsselung einmalig macht. Derselbe Klartext ergibt damit jedes Mal einen anderen Geheimtext.

Das anschaulichste Gegenbeispiel ist die Betriebsart ECB, bei der jeder Block einzeln und immer gleich verschlüsselt wird. Ein Bild in ECB verschlüsselt bleibt als Bild erkennbar — die Umrisse treten durch, weil gleiche Blöcke gleich aussehen. Das ist der Grund, aus dem ECB in keiner Anwendung etwas zu suchen hat.

Moderne Betriebsarten wie GCM und ChaCha20-Poly1305 erfüllen mehr als IND-CPA: Sie schützen zusätzlich gegen Veränderungen am Geheimtext und bestehen damit auch das strengere Chosen-Ciphertext-Modell. Entscheidend ist dabei die Einmaligkeit der Nonce — wird dieselbe Nonce mit demselben Schlüssel zweimal verwendet, bricht der Schutz zusammen, und zwar vollständig.

Abgrenzung

Known-Plaintext Attack arbeitet mit bekannten, aber nicht gewählten Klartexten — die schwächere Annahme.

Chosen-Ciphertext Attack ist die stärkere: Dort wird zusätzlich entschlüsselt. Die zugehörige Eigenschaft heißt IND-CCA und ist das heutige Ziel.

Seitenkanalangriffe greifen nicht das Verfahren an, sondern seine Ausführung — Laufzeit, Stromverbrauch, Speicherzugriffe. Ein Verfahren kann IND-CPA erfüllen und über einen Seitenkanal dennoch verlieren.

Brute Force probiert Schlüssel durch und braucht keine gewählten Klartexte.

Padding-Oracle ist ein konkreter Angriff aus der Chosen-Ciphertext-Familie, der die Fehlermeldungen eines Empfängers als Auskunftsquelle nutzt.

Quellen

  • NIST SP 800-38A und SP 800-38D: Betriebsarten für Blockchiffren, einschließlich GCM
  • BSI TR-02102-1: Kryptographische Verfahren — Empfehlungen und Schlüssellängen

Erstellt: · Überarbeitet: