Was ist Betriebsmodus für Blockchiffren?

Die Art, wie bei einer Blockchiffre die Umwandlung einzelner Blöcke kombiniert wird, um Daten zu verschlüsseln, die länger als ein Block sind. Beispiele sind ECB, das jeden Block unabhängig verschlüsselt, CBC, das vor dem Verschlüsseln mit dem vorhergehenden Geheimtextblock per XOR verknüpft, CTR, das mit einem Schlüsselstrom aus verschlüsselten Zählerwerten per XOR verknüpft, und GCM, das CTR um Authentifizierung ergänzt. ECB macht gleiche Klartextblöcke zu gleichen Geheimtextblöcken und wird daher für gewöhnliche Daten nicht verwendet. Bei CBC und CTR müssen Initialisierungsvektoren bzw. Nonces korrekt behandelt werden.

Japanische Bezeichnung: 暗号利用モード

„Betriebsmodus für Blockchiffren“ kommt in 11 Übungsfragen aus 1 Themen vor, z. B. Grundlagen und Anwendungen der Kryptografie.

Fachgebiet: Grundlagen und Anwendungen der Kryptografie

Vergleich der wichtigsten Modi

ECB lässt sich parallel verarbeiten, doch Muster des Klartexts bleiben erhalten. CBC braucht Padding; die Verschlüsselung wartet auf das Ergebnis des vorherigen Blocks und lässt sich nicht parallelisieren, die Entschlüsselung dagegen schon. CTR braucht kein Padding, Ver- und Entschlüsselung lassen sich parallelisieren, und die Entschlüsselung kann an beliebiger Stelle beginnen. CBC und CTR verschlüsseln allerdings nur und können keine Manipulationen erkennen.

Modi mit authentifizierter Verschlüsselung

GCM und CCM sind Modi, die beim Verschlüsseln zugleich ein Authentifizierungstag berechnen und so Manipulationen erkennen können. Heutige wichtige Protokolle wie TLS 1.3, IPsec und WPA2/WPA3 für WLAN verwenden solche Modi. Kombinationen aus CBC und MAC sind bei falscher Kombination anfällig etwa für Padding-Oracle-Angriffe und werden in neuen Entwürfen kaum noch verwendet.

Festplattenverschlüsselung

Bei der Verschlüsselung einer Festplatte oder SSD wird häufig der XTS-Modus verwendet, der für jede Sektorposition einen anderen Wert nutzt und Geheimtext derselben Länge wie der Klartext erzeugt. Da sich die Größe des Speicherplatzes nicht ändern lässt, kann kein Authentifizierungstag angehängt werden, und Manipulationen lassen sich nicht erkennen.

Jetzt üben: Fragen zu Betriebsmodus für Blockchiffren

Bilddaten wurden mit AES im ECB-Modus verschlüsselt, und im verschlüsselten Bild waren die Umrisse des ursprünglichen Motivs noch zu erkennen. Was ist die richtige Ursache?

  1. ADer AES-Schlüssel war zu kurz, sodass einige Blöcke unverschlüsselt erhalten blieben
  2. BIm ECB-Modus wird für jeden Block automatisch ein anderer Schlüssel erzeugt, und das Muster dieser Schlüssel erscheint im verschlüsselten Bild
  3. CIm ECB-Modus wird ein gleicher Klartextblock stets zum gleichen Geheimtextblock, sodass das Muster gleichfarbiger Bereiche erhalten bleibt
Antwort und Erläuterung anzeigen

Antwort: C. Im ECB-Modus wird ein gleicher Klartextblock stets zum gleichen Geheimtextblock, sodass das Muster gleichfarbiger Bereiche erhalten bleibt

Der ECB-Modus (Electronic Codebook) verschlüsselt jeden Block lediglich unabhängig mit demselben Schlüssel. Enthält der Klartext Blöcke gleichen Inhalts, erscheinen daher auch im Geheimtext gleiche Blöcke an denselben Positionen. Bei Bildern mit großen gleichfarbigen Flächen wie einem Hintergrund bleibt die Information erhalten, wo dieselbe Farbe vorkommt; bekannt ist das Beispiel eines verschlüsselten Pinguinbilds. Für die Verschlüsselung gewöhnlicher Daten wird der ECB-Modus daher nicht verwendet, sondern etwa der CBC-Modus, der CTR-Modus oder GCM, die selbst aus demselben Klartext jedes Mal einen anderen Geheimtext erzeugen.

Wie ist beim Einsatz von AES im CBC-Modus angemessen mit dem Initialisierungsvektor (IV) umzugehen?

  1. ADer IV wird wie der Schlüssel geheim gehalten, und für alle Nachrichten wird derselbe Wert weiterverwendet
  2. BDer IV muss nicht geheim sein, wird aber für jede Nachricht neu als Zufallswert gewählt, den ein Angreifer nicht vorhersagen kann
  3. CDer IV muss nicht geheim sein und darf jedes Mal auf einen mit dem Gegenüber vereinbarten festen Wert (etwa alles 0) gesetzt werden
Antwort und Erläuterung anzeigen

Antwort: B. Der IV muss nicht geheim sein, wird aber für jede Nachricht neu als Zufallswert gewählt, den ein Angreifer nicht vorhersagen kann

Im CBC-Modus wird jeder Klartextblock vor dem Verschlüsseln per XOR mit dem vorhergehenden Geheimtextblock verknüpft, der erste Block mit dem IV. Der IV wird üblicherweise dem Geheimtext vorangestellt und mitgesendet, er muss also nicht geheim sein. Wird jedoch jedes Mal derselbe IV verwendet, beginnen Nachrichten mit gleichem Anfang auch mit gleichem Geheimtext, und es wird offengelegt, dass Teile des Inhalts übereinstimmen. Kann ein Angreifer außerdem den als Nächstes verwendeten IV vorhersagen, ist bekanntermaßen ein Angriff möglich, bei dem er selbst gewählte Klartexte verschlüsseln lässt und so auf den Inhalt schließt (etwa der BEAST-Angriff auf TLS 1.0).

Häufige Fragen

Welchen Modus sollte man wählen?

Ohne besonderen Grund verwendet man eine authentifizierte Verschlüsselung wie AES-GCM oder ChaCha20-Poly1305 und sorgt dafür, dass sich Nonces unter demselben Schlüssel nicht wiederholen. ECB wird nicht verwendet. Statt CBC oder CTR selbst mit einem MAC zu kombinieren, ist es weniger fehleranfällig, die von einer Bibliothek bereitgestellte authentifizierte Verschlüsselung zu nutzen.

Warum braucht der CTR-Modus kein Padding?

Der CTR-Modus verknüpft lediglich einen mit der Blockchiffre erzeugten Schlüsselstrom per XOR mit dem Klartext; es genügt daher, den Schlüsselstrom des letzten Blocks auf die Länge des Klartexts zu kürzen. Durch die Blockchiffre läuft der Zählerwert, nicht der Klartext selbst.

„Betriebsmodus für Blockchiffren“ in den Erläuterungen

Fragen mit „Betriebsmodus für Blockchiffren“ (11)

  1. Bilddaten wurden mit AES im ECB-Modus verschlüsselt, und im verschlüsselten Bild waren die Umrisse des ursprünglichen Motivs noch zu erkennen. Was ist die richtige Ursache?
  2. Wie ist beim Einsatz von AES im CBC-Modus angemessen mit dem Initialisierungsvektor (IV) umzugehen?
  3. AES (Blocklänge 16 Byte) wird im CBC-Modus mit Padding nach PKCS#7 verwendet. Bei PKCS#7 werden, wenn n Byte fehlen, n Bytes mit dem Wert n angehängt; ist die Länge des Klartexts genau ein Vielfaches von 16, werden ebenfalls 16 Bytes mit dem Wert 16 angehängt. Wie lang ist der Geheimtext (ohne IV), wenn ein Klartext von 96 Byte verschlüsselt wird?
  4. Ein Server, der im CBC-Modus verschlüsselte Daten empfängt, gab unterschiedliche Fehler zurück, je nachdem, ob nach dem Entschlüsseln das Padding ungültig war oder ob das Padding gültig war, aber die Prüfung des Inhalts fehlschlug. Welche Aussage über diese Situation ist richtig?
  5. Welche Eigenschaft des CTR-Modus (Counter-Modus) von Blockchiffren ist richtig?
  6. Im CTR-Modus wurden versehentlich zwei Nachrichten mit demselben Schlüssel und derselben Nonce verschlüsselt. Für das Byte an einer bestimmten Position ist der erste Klartext P₁ = 01001000 (ASCII „H“), sein Geheimtext C₁ = 01110100 und der zweite Geheimtext C₂ = 01010101. Welcher zweite Klartext P₂ an derselben Position ergibt sich, wenn ein Angreifer P₁ kennt?
  7. Es gelte 1 GiB = 2³⁰ Byte und 1 EiB = 2⁶⁰ Byte. Eine Blockchiffre mit 64 Bit Blocklänge (etwa 3DES) wird im CBC-Modus verwendet, um mit einem einzigen Schlüssel große Datenmengen zu verschlüsseln. Die Geheimtextblöcke werden als zufällige 64-Bit-Werte betrachtet. Welcher Richtwert für die Datenmenge ist richtig, ab der die Wahrscheinlichkeit, dass nach dem Geburtstagsparadoxon ein Paar gleicher Geheimtextblöcke auftritt, nicht mehr vernachlässigbar ist?
  8. Für die symmetrische Verschlüsselung gibt es Blockchiffren und Stromchiffren. Welche Aussage beschreibt ihren Unterschied richtig?
  9. Was bietet eine authentifizierte Verschlüsselung (AEAD) wie AES-GCM in einem einzigen Verarbeitungsschritt?
  10. Welche Aussage über die 96-Bit-Nonce (IV) bei AES-GCM ist richtig?
  11. Was hat sich in TLS 1.3 (RFC 8446) gegenüber TLS 1.2 geändert?

Verwandte Begriffe

Authentifizierte Verschlüsselung (AEAD) AES Nonce TLS (Transport Layer Security) Geburtstagsangriff Cookie (HTTP-Cookie) Symmetrische Verschlüsselung (Secret-Key-Verfahren) Message Authentication Code (Nachrichtenauthentifizierungscode) RSA-Kryptosystem Forward Secrecy

Zur Glossarübersicht