03.08.2013 Aufrufe

Sicherheit in Rechnernetzen: - Professur Datenschutz und ...

Sicherheit in Rechnernetzen: - Professur Datenschutz und ...

Sicherheit in Rechnernetzen: - Professur Datenschutz und ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

110<br />

A. Pfitzmann: Datensicherheit <strong>und</strong> Kryptographie; TU Dresden, WS2000/2001, 15.10.2000, 15:52 Uhr<br />

109<br />

A. Pfitzmann: Datensicherheit <strong>und</strong> Kryptographie; TU Dresden, WS2000/2001, 15.10.2000, 15:52 Uhr<br />

Das kann man vermeiden, <strong>in</strong>dem man e<strong>in</strong>en zufällig gewählten Klartextblock vor den eigentlichen<br />

Klartext hängt84 : Wir sahen ja gerade, daß alle weiteren Schlüsseltextblöcke dann auch jedesmal verschieden<br />

s<strong>in</strong>d. Man kann noch etwas Zeit sparen: Statt diesen Block als Klartext zu wählen <strong>und</strong> zu<br />

verschlüsseln, wodurch sich e<strong>in</strong> zufälliger Schlüsseltextblock ergibt, kann man gleich e<strong>in</strong>en zufälligen<br />

Schlüsseltextblock wählen (also e<strong>in</strong>e Vorbesetzung für den Speicher). Auch diesen muß man dem<br />

Entschlüsseler natürlich mitteilen – etwa als ersten Schlüsseltextblock, dessen zugehöriger Klartextblock<br />

dann ebenfalls e<strong>in</strong>e Zufallszahl ist <strong>und</strong> deshalb vom Entschlüsseler weggeworfen wird.<br />

seltextblock zu Schlüsseltextblock gespeichert <strong>und</strong> führen durch die Addition auf den nächsten<br />

Klartextblock wieder zu e<strong>in</strong>er verfälschten E<strong>in</strong>gabe an die Blockchiffre <strong>und</strong> damit zu e<strong>in</strong>em<br />

völlig unterschiedlichen Schlüsseltextblock. Trotzdem erhält der Entschlüsseler bereits e<strong>in</strong>en<br />

Block nach Ende des transienten Fehlers wieder den richtigen Klartext. Entsprechendes gilt bei<br />

transienten Fehlern im Entschlüsseler. Sowohl bei transienten Fehlern im Ver- wie im Entschlüsseler<br />

ist <strong>in</strong> obigen Beispielen natürlich jeweils unterstellt, daß der Schlüssel der Blockchiffre<br />

durch den transienten Fehler nicht verfälscht wird. In diesem Fall wäre der beim Entschlüsseler<br />

ab diesem Zeitpunkt erhaltene Klartext jeweils pseudozufällig <strong>und</strong> damit unbrauchbar.<br />

Pathologisches Gegenbeispiel zu Konzelation mittels Blockchiffre mit Blockverkettung: Addition<br />

<strong>und</strong> Subtraktion erfolge modulo 2. Die Blockchiffre verschlüssele gerade Blöcke, d.h. letztes Bit<br />

0, sicher auf ungerade Blöcke, d.h. letztes Bit 1, <strong>und</strong> ungerade Blöcke unsicher auf gerade Blöcke,<br />

vgl. Bild 3-44. Bei Beschränkung des Klartextraumes auf gerade Blöcke, d.h. Betrachtung der<br />

Blockchiffre als um e<strong>in</strong> Bit expandierende Blockchiffre (vgl. Bild 3-45), handelt es sich also um e<strong>in</strong>e<br />

sichere Blockchiffre.<br />

Die resultierende Stromchiffre ist aber auch für den beschränkten Klartextraum unsicher: Da für<br />

das letzte Bit des Blocks gilt 0⊕1 = 1, Verschlüsselung ergibt 0, 0⊕0 = 0, Verschlüsselung ergibt 1,<br />

usw., ist jeder zweite E<strong>in</strong>gabeblock <strong>in</strong> die Blockchiffre ungerade. Der Angreifer kann diese<br />

ungeraden E<strong>in</strong>gabeblöcke aus den geraden Schlüsseltextblöcken errechnen <strong>und</strong> durch Subtraktion der<br />

vorher beobachteten Schlüsseltextblöcke die zugehörigen Klartextblöcke errechnen. Die Stromchiffre<br />

ist also bezüglich jedes zweiten Klartextblocks <strong>und</strong> damit <strong>in</strong>sgesamt unsicher.<br />

Klartextblock (Länge b )<br />

x x x . . . x 1<br />

1 2 3 b-1<br />

x x x . . . x 0<br />

1 2 3 b-1<br />

unsicher<br />

sicher<br />

Da es für das Ergebnis der Addition <strong>in</strong> Bild 3-42 egal ist, ob der Klar- oder Schlüsseltextblock<br />

verfälscht ist, gilt Gleiches (wie gerade beschrieben) für den Fall e<strong>in</strong>er noch so kle<strong>in</strong>en Verfälschung<br />

des Klartextstromes. Dies motiviert die Verwendung des l<strong>in</strong>ken Teiles der Konstruktion zur<br />

Authentikation (Bild 3-43):<br />

+ Der e<strong>in</strong>en Klartext Authentizierende verschlüsselt ihn mit CBC <strong>und</strong> hängt lediglich den letzten<br />

Schlüsseltextblock an den Klartext, d.h. der letzte Schlüsseltextblock ist der MAC gemäß Bild<br />

3-6. Der die Authentizität Prüfende verschlüsselt den Klartext ebenfalls mit CBC <strong>und</strong> vergleicht<br />

den von ihm berechneten letzten Schlüsseltextblock mit dem übertragenen. Bei Übere<strong>in</strong>stimmung<br />

ist der Klartext authentisch. Hält man e<strong>in</strong>en kürzeren Authentikator als e<strong>in</strong>en<br />

ganzen Schlüsseltextblock für h<strong>in</strong>reichend, kann man Anhängen <strong>und</strong> Vergleich auf e<strong>in</strong>en Teil<br />

des letzten Schlüsseltextblocks beschränken.<br />

* Die verwendete Blockchiffre muß determ<strong>in</strong>istisch se<strong>in</strong>.<br />

– Die Länge der authentizierbaren E<strong>in</strong>heiten ist durch die Blocklänge der verwendeten<br />

Blockchiffre bestimmt.<br />

Dies Verfahren zur Authentikation ist <strong>in</strong> [ISO8731-1_87] genormt. Dort ist auch beschrieben, daß nur<br />

die l<strong>in</strong>ksten 32 Bit als Authentikator genommen werden sollen <strong>und</strong> daß unvollständige letzte Klartextblöcke<br />

mit b<strong>in</strong>ären Nullen aufgefüllt werden sollen.<br />

S S S . . . S 1<br />

S S S . . . S 0<br />

1 2 3 b-1<br />

1 2 3 b-1<br />

Schlüsseltextblock (Länge b)<br />

CBC zur Authentikation<br />

Bild 3-44: Pathologische Blockchiffre (nur sicher auf Klartextblöcken, die rechts e<strong>in</strong>e 0 enthalten)<br />

Klartextblock (Länge b –1)<br />

Speicher für<br />

Speicher für<br />

Schlüsseltextblock<br />

Schlüsseltextblock<br />

n -1<br />

n -1<br />

SchlüsseltextSchlüsseltextblock<br />

n block n<br />

Schlüssel<br />

Schlüssel<br />

x x x . . . x 0<br />

1 2 3 b-1<br />

Expansion<br />

sicher<br />

Letzter Block<br />

Verschlüsselung<br />

Verschlüsselung<br />

S S S . . . S 1<br />

1 2 3 b-1<br />

Vergleich<br />

ok?<br />

Letzter<br />

Block<br />

Klartextblock<br />

n<br />

Schlüsseltextblock (Länge b)<br />

Klartext<br />

Bild 3-45: Um e<strong>in</strong> Bit expandierende Blockchiffre<br />

Bild 3-43: Blockchiffre mit Blockverkettung zur Authentikation: Konstruktion aus e<strong>in</strong>er determ<strong>in</strong>istischen<br />

Blockchiffre<br />

84<br />

Dadurch wird die Verschlüsselung <strong>in</strong>determ<strong>in</strong>istisch. So etwas hatten wir bei asymmetrischen Konzelationssystemen<br />

schon <strong>in</strong> §3.1.1.1 Anmerkung 2 <strong>und</strong> <strong>in</strong> §3.4.4.<br />

Wie bisher beschrieben kann e<strong>in</strong> Angreifer bei der Konzelation noch erkennen, wenn zwei Klartexte<br />

mit den gleichen Blöcken anfangen: Auch die Schlüsseltexte fangen dann gleich an.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!