Electronic Code Book Mode
Electronic Code Book Mode (ECB Mode) ist eine unsichere Betriebsart (Modus, Mode) für Blockverschlüsselungen wie es z. B. der Advanced Encryption Standard (AES) darstellt.
ECB ist der einfachste und zugleich unsicherste Modus, denn dabei werden die Klartextblöcke nacheinander und unabhängig voneinander in den Geheimtextblock überführt. Dies birgt große Gefahren, denn dadurch werden Klartextmuster nicht verwischt. Gleiche Klartextblöcke ergeben bei gleichen Schlüssel auch immer den gleichen Geheimtextblock, wodurch man bei hinriechend vielen Geheimtextblöcken und partielle Annahmen über den Klartext Rückschlüsse auf den geheimen Schlüssel ziehen kann. In nachfolgender Abbildung ist die Struktur von ECB dargestellt:
Der Name des Modus rührt daher, dass Codebücher über die Zuordnung von Chiffretexten und Klartexten erstellt werden können.
Wenn man eine Grafik damit verschlüsselt, die nur aus einigen schwarzen Linien besteht, und dabei 0 (Bit) für Weiß und 1 (Bit) für Schwarz steht, wird man sehr viele Blöcke finden, die nur aus 0 bestehen. Alle Geheimtextblöcke die dann anders sind, enthalten min. eine 1 (Bit). Dadurch könnte man die Zeichnung bis auf ein paar Millimeter Abweichung rekonstruieren, ohne den Schlüssel zu kennen.
Man kann Geheimtextblöcke austauschen, wodurch sich zum Beispiel die Summe oder der Empfänger einer Überweisung ändern könnte. Deswegen sollte man lieber den CBC-Modus benutzen, denn dieser ist viel sicherer als der ECB-Modus.
Aus verschiedenen Gründen ist der Modus nicht sonderlich sicher, und sollte vermieden werden. Zu den grundsätzlichen Problemen gehört, dass der verwendete ECB Algorithmus die Häufigkeit von Symbolen (Buchstaben) im unverschlüsselten Text nicht ausreichend im verschlüsselten Text verwischt. Damit bietet er eine Angriffsfläche für statistische Analysen. Ebenso ist es möglich, bei der Übertragung unbemerkt Teile zu manipulieren, indem man Blöcke (siehe folgender Absatz) vertauscht.
Der ECB-Modus ist damit Teil der Blockverschlüsselung. Dies bedeutet, dass der Originaltext in Blöcke fester Länge aufgeteilt wird, die dann jeweils mit dem Algorithmus verschlüsselt werden. Ein eventuell zu kurzer letzter Block wird vor dem Verschlüsseln mit Füllzeichen auf die benötigte Blocklänge aufgefüllt.
Einziger Vorteil von ECB besteht dann, wenn auf einzelne verschlüsselte Elemente zugegriffen werden muss, ohne andere verschlüsselte Teile berücksichtigen zu können. Dieser Vorteil kann aber duch entsprechende Wahl von Datenstrukturen, wie entsprechenden Kopfdaten und der Wahl von dem deutlich sichereren CBC-Modus in vielen Anwendungen mit deutlichen Sicherheitsgewinn kompensiert werden.
Die Implementierung und Anwendung des unsicheren ECB-Modus erfolgt von Entwicklern meist aus Unkenntnis der Zusammenhänge und eröffnet so Sicherheitsschwachstellen welche leicht vermeidbar wären.