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.

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

423<br />

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

Werden die Werte im Schieberegister nicht vor jeder Nachricht neu <strong>in</strong>itialisiert, so kann der<br />

Angreifer zu e<strong>in</strong>em von ihm gewählten Klartext den Schlüsseltext mittels e<strong>in</strong>es aktiven<br />

Angriffs erfragen (geht sowohl bei der Betriebsart ECB, CBC, als auch CFB) <strong>und</strong> danach<br />

diesen Klartext im Schieberegister h<strong>in</strong>terlassen <strong>und</strong> geduldig auf die nächste Ausgabee<strong>in</strong>heit<br />

warten, den ihm bekannten Wert subtrahieren, sich freuen ...<br />

selbst synchronisiert, wird der letzte Block trotzdem richtig entschlüsselt, also als lauter<br />

Nullen, <strong>und</strong> der Angriff wird nicht automatisch erkannt.<br />

CFB zur Authentikation: Es gilt das bzgl. „CBC zur Authentikation“ Gesagte.<br />

OFB: Der Angreifer muß den Wert im Schieberegister vorhersehen oder herbeiführen. Letzteres<br />

kann er nicht durch die Wahl e<strong>in</strong>es geeigneten Klartextstromes, da dieser nicht <strong>in</strong> die<br />

Rückführung e<strong>in</strong>geht. Es hängt also alle<strong>in</strong> von der Initialisierung des Schieberegisters ab, ob<br />

e<strong>in</strong> aktiver Angriff erfolgreich ist.<br />

c) Wenn hier e<strong>in</strong> Schlüsseltextblock geändert wird, so wird die Entschlüsselung dieses Blocks<br />

vollkommmen anders. Somit steht beim nächsten Block im Klartextblockspeicher e<strong>in</strong> ganz<br />

falscher Block. Dieser Fehler wird i.allg. nicht wegsynchronisiert, da bei jedem Block nach<br />

der Entschlüsselung e<strong>in</strong>e Funktion des alten falschen Klartexts dazuaddiert wird, so daß sich<br />

wieder e<strong>in</strong> falscher Klartext ergibt <strong>und</strong> somit auch der Klartextblockspeicher wieder falsch<br />

geladen wird.<br />

{Die Begründung, PCBC sei e<strong>in</strong>e synchrone Chiffre, <strong>und</strong> dies sei h<strong>in</strong>reichend, daß der<br />

Angriff nicht funktioniert, ist falsch. Hierfür ist „synchron“ <strong>in</strong> §3.8.1 zu schwach def<strong>in</strong>iert, da<br />

hierfür selbst die Abhängigkeit von der Position <strong>in</strong>nerhalb der Nachricht reicht. E<strong>in</strong> Beispiel<br />

möge dies erläutern: OFB ist e<strong>in</strong>e synchrone Stromchiffre, aber solange man ke<strong>in</strong>e Schlüsseltextbits<br />

des Authentikators ändert oder Schlüsseltextbits wegläßt, kann man im Schlüsseltext<br />

beliebig ändern.}<br />

PCBC: Um die bei CBC beschriebenen Vorteile, d.h. gleiche Erfolgswahrsche<strong>in</strong>lichkeit wie<br />

bei ECB, zu erreichen, kann e<strong>in</strong> Angreifer auch bei PCBC versuchen, die Werte <strong>in</strong> den beiden<br />

Speichern aktiv zu setzen, um e<strong>in</strong>en ihm genehmen Wert von h e<strong>in</strong>zustellen. Außer bei Initialisierungen<br />

hat er aber hierbei gegenüber CBC zusätzliche Schwierigkeiten, was der folgende<br />

Versuch, bei PCBC die Werte <strong>in</strong> den Speichern auf gewünschte Werte zu setzen, verdeutlicht:<br />

Sende Klartextblock K1. Danach ist der Wert im Speicher für den Klartextblock bekannt (K1)<br />

<strong>und</strong> durch Beobachtung des ausgegebenen Schlüsseltextblocks S1 auch der Wert im Speicher<br />

für den Schlüsseltextblock. Hieraus kann h(K1,S1) berechnet werden. Trotzdem ist es nun<br />

schwierig, beide Werte <strong>in</strong> den Speichern auf gewünschte Werte zu setzen. Zwar kann man den<br />

Klartextblock K2 so wählen, daß K2+h(K1,S1) e<strong>in</strong>en gewünschten Wert annimmt <strong>und</strong> dadurch<br />

der diesem Wert zugeordnete Schlüsseltextblock S2 entsteht. Aber hierzu muß man den<br />

Klartextblock K2 variieren <strong>und</strong> hierdurch ändert sich der Wert im Speicher für den Klartextblock.<br />

Entsprechendes gilt, wenn man den Wert des Klartextblocks K2 wählt. Dann bewirkt<br />

die Addition von h(K1,S1) e<strong>in</strong>en unerwünschten Wert S2.<br />

Für geeignete Funktionen h ist das E<strong>in</strong>stellen e<strong>in</strong>es Wertes aus e<strong>in</strong>er kle<strong>in</strong>en Menge von Werten<br />

also schwierig. Deshalb kann selbst e<strong>in</strong>e dem Angreifer bekannte ungleichmäßige Verteilung<br />

von Klartexten vermutlich nicht zur Erzielung von Vorteilen bei aktiven Angriffen genutzt<br />

werden, wenn die Initialisierung der Speicher geeignet erfolgt, vgl. das unter „CBC zur<br />

Authentikation“ Gesagte.<br />

d) ECB: Der Angreifer kann nicht viel erreichen, da die Blockchiffre als sicher angenommen <strong>und</strong><br />

<strong>in</strong> ECB e<strong>in</strong>s-zu-e<strong>in</strong>s als Blockchiffre verwendet wird. Somit verbleiben nur die bei der Def<strong>in</strong>ition<br />

der Blockchiffre erwähnten Nachteile <strong>und</strong> die ihnen entsprechenden Angriffe: Bei determ<strong>in</strong>istischen<br />

Blockchiffren kann der Angreifer se<strong>in</strong>e Möglichkeit zum aktiven Angriff nutzen <strong>und</strong><br />

wahrsche<strong>in</strong>liche Klartexte verschlüsseln lassen. Die zugehörigen Schlüsseltexte kann er dann<br />

mit beobachteten Schlüsseltexten vergleichen. Mit Glück kann er so manche der beobachteten<br />

Schlüsseltexte „entschlüsseln“, selbst bei Pech kann er so manche Klartexte ausschließen.<br />

CBC zur Konzelation: Der Angreifer kann durch aktive Angriffe die Werte <strong>in</strong> den Speichergliedern<br />

setzen. Werden diese Werte dann e<strong>in</strong>fach weiterverwendet, d.h. beg<strong>in</strong>nt nicht jede<br />

Nachricht mit e<strong>in</strong>em vom Sender gewählten Wert der Speicherglieder, so kann nach e<strong>in</strong>em<br />

aktiven Angriff auf den ersten Block e<strong>in</strong> Angriff wie für ECB <strong>und</strong> mit gleicher Erfolgswahrsche<strong>in</strong>lichkeit<br />

durchgeführt werden. Wird der Wert der Speicherglieder nach den aktiven Angriffen<br />

jeweils wieder neu gesetzt, so kann der Angreifer zwar im Schlüsseltext nach Blöcken<br />

suchen, deren Klartext er kennt (beispielsweise von e<strong>in</strong>em aktiven Angriff <strong>in</strong> der Betriebsart<br />

ECB oder CBC). Zu diesen Blöcken kann er dann den ihnen <strong>in</strong> der Betriebsart CBC entsprechenden<br />

Klartext errechnen: Er braucht nur den vorherigen Schlüsseltext zu subtrahieren. Aber<br />

dieses Suchen ist mühseliger, da der Angreifer die verschlüsselten Werte nicht so gut<br />

vorhersehen (<strong>und</strong> damit während se<strong>in</strong>es aktiven Angriffs verschlüsseln lassen) kann. Se<strong>in</strong>e<br />

Erfolgswahrsche<strong>in</strong>lichkeit ist also bei geeignetem Neusetzen der Werte der Speicherglieder<br />

ger<strong>in</strong>ger als bei dem entsprechenden Angriff auf ECB.<br />

OCFB: Im Gegensatz zu PCBC kann bei OCFB der Wert im Schieberegister vom Angreifer<br />

auch ohne Initialisierung e<strong>in</strong>gestellt werden, sofern<br />

• h ke<strong>in</strong>e E<strong>in</strong>wegfunktion ist <strong>und</strong><br />

• er das Ergebnis der Verschlüsselung Erg erfährt, bevor er sich auf die zugehörige E<strong>in</strong>heit<br />

des Klartextstromes festlegen muß:<br />

Mit Erg kennt der Angreifer den Wert des e<strong>in</strong>en E<strong>in</strong>gabeparameters von h <strong>und</strong> kann, sofern h<br />

ke<strong>in</strong>e E<strong>in</strong>wegfunktion ist, zu vielen gewünschten Ergebnissen von h e<strong>in</strong>en passenden Wert<br />

des zweiten E<strong>in</strong>gabeparameters ermitteln. Von diesem Wert subtrahiert der Angreifer „Wähle<br />

aus“(Erg) <strong>und</strong> erhält so die E<strong>in</strong>heit des Klartextstromes, die er e<strong>in</strong>geben muß, um das von ihm<br />

gewünschte Ergebnis von h zu erhalten. Wiederholt der Angreifer dies ⎡b/r⎤ mal, so steht im<br />

Schieberegister e<strong>in</strong> von ihm gewünschter Wert. Damit gilt das unter „CFB zur Konzelation“<br />

Gesagte entsprechend.<br />

e) Die Codierung erfolgt folgendermaßen: Hänge an den Klartext e<strong>in</strong> Bit e<strong>in</strong>es festen Wertes,<br />

z.B. 1. Entsteht hierdurch nicht e<strong>in</strong> Vielfaches der Blocklänge, so fülle danach mit Bits des<br />

anderen Wertes, z.B. 0, bis zum nächsten Vielfachen der Blocklänge auf.<br />

1. gilt, da bis zum nächsten Vielfachen der Blocklänge aufgefüllt wird.<br />

CBC zur Authentikation: Werden e<strong>in</strong>zelne Blöcke authentiziert, so gilt alles für Konzelation<br />

mit CBC Gesagte entsprechend. Bei der Authentikation mehrerer Blöcke zusammen muß der<br />

Angreifer selbst im günstigen Fall, daß die Werte der Speicherglieder nicht immer wieder neu<br />

<strong>in</strong>itialisiert werden, die genauen Werte der Blöcke <strong>und</strong> ihre Folge richtig raten, e<strong>in</strong>e bei s<strong>in</strong>nvoller<br />

Blocklänge fast aussichtslose Aufgabe. Vorausgesetzt wird hierbei, daß die zu authentisierenden<br />

Werte vom Angreifer nicht schon während se<strong>in</strong>es aktiven Angriffes „abgefragt“<br />

werden können, da hiergegen ke<strong>in</strong> kryptographisches Verfahren <strong>Sicherheit</strong> bieten kann. Dieses<br />

„Nicht-rechtzeitig-vorher-Wissen“ sicherzustellen, ist Aufgabe des umgebenden Protokolls.<br />

Im e<strong>in</strong>fachsten Fall könnte jeweils der Partner e<strong>in</strong>en Teil der zu authentisierenden Nachricht<br />

erzeugen.<br />

CFB zur Konzelation: Der Angreifer ist immer dann bezüglich der folgenden Ausgabee<strong>in</strong>heit<br />

erfolgreich, wenn er die Verschlüsselung des im Schieberegister bef<strong>in</strong>dlichen Wertes kennt.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!