Sicherheit in Rechnernetzen: - Professur Datenschutz und ...
Sicherheit in Rechnernetzen: - Professur Datenschutz und ...
Sicherheit in Rechnernetzen: - Professur Datenschutz und ...
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
382<br />
A. Pfitzmann: Datensicherheit <strong>und</strong> Kryptographie; Lösungen, TU Dresden, WS2000/2001, 15.10.2000, 15:52 Uhr<br />
381<br />
A. Pfitzmann: Datensicherheit <strong>und</strong> Kryptographie; Lösungen, TU Dresden, WS2000/2001, 15.10.2000, 15:52 Uhr<br />
3-3 Steigerung der <strong>Sicherheit</strong> durch Gebrauch von mehreren kryptographischen<br />
Systemen<br />
Beim Schutzziel Konzelation kann man die kryptographischen Systeme <strong>in</strong> Serie verwenden,<br />
d.h. der Klartext wird mit dem Konzelationssystem 1 verschlüsselt, danach der resultierende<br />
Schlüsseltext mit Konzelationssystem 2, usw. Z.B. bei e<strong>in</strong>em symmetrischen System <strong>in</strong> der<br />
Kurzschreibweise aus Bild 3-2, wenn ki der Schlüssel des i-ten Systems ist: S := kn(… k2 (k1 (x))…). Man muß natürlich für jedes System e<strong>in</strong>en unabhängigen Schlüssel gewählt <strong>und</strong> die<br />
Reihenfolge festgelegt haben.<br />
Entschlüsselt wird <strong>in</strong> umgekehrter Reihenfolge, d.h. zuletzt mit Konzelationssystem 1, was<br />
wieder den Klartext liefert. Im Beispiel x = k –1<br />
1 (k2 –1 (… kn<br />
–1 (S)…)).<br />
k 1<br />
k n<br />
k 2<br />
k 1<br />
Verschlüsselung<br />
2<br />
jemand anderes, auch nicht der den Algorithmus oder das Algorithmenpaar erf<strong>in</strong>dende<br />
Kryptograph, die <strong>Sicherheit</strong> brechen kann. Folglich müßte der erf<strong>in</strong>dende Kryptograph<br />
beseitigt oder zum<strong>in</strong>dest <strong>in</strong> Isolationshaft genommen werden, denn er kennt den geheimen<br />
Algorithmus. Während im Altertum so etwas vorgekommen se<strong>in</strong> soll, verbietet es sich, seit<br />
allen Menschen, selbst Kryptographen, Menschenrechte zuerkannt werden.<br />
– Wie soll die <strong>Sicherheit</strong> des kryptographischen Algorithmus analysiert werden? Jeder, der<br />
e<strong>in</strong>en symmetrischen Algorithmus analysiert, ist genauso e<strong>in</strong> <strong>Sicherheit</strong>srisiko wie der<br />
Erf<strong>in</strong>der. Bei asymmetrischen Algorithmen ist zum<strong>in</strong>dest jeder, der zur Überprüfung der<br />
<strong>Sicherheit</strong> auch den geheimen Algorithmus erfährt, e<strong>in</strong> <strong>Sicherheit</strong>srisiko.<br />
– E<strong>in</strong>e Implementierung der kryptographischen Systeme <strong>in</strong> Software, Firmware oder gar<br />
Hardware ist nur möglich, wenn der Benutzer <strong>in</strong> der Lage ist, sie selbst durchzuführen.<br />
Andernfalls gilt für den Implementierer Gleiches wie für den Algorithmenerf<strong>in</strong>der.<br />
– In öffentlichen Systemen, wo potentiell jeder mit jedem gesichert kommunizieren können<br />
möchte, wären nur Softwareimplementierungen mit Algorithmen- statt Schlüsselaustausch<br />
möglich – Firmware ist masch<strong>in</strong>enabhängig <strong>und</strong> Hardwareaustausch erfordert physischen<br />
Transport. Selbst bei Softwareimplementierungen besteht der Nachteil, daß die bei symmetrischen<br />
kryptographischen Systemen vertraulich <strong>und</strong> <strong>in</strong>teger <strong>und</strong> bei asymmetrischen<br />
Systemen <strong>in</strong>teger auszutauschende Bitmenge erheblich größer ist: Algorithmen (sprich:<br />
Programme) s<strong>in</strong>d üblicherweise länger als Schlüssel.<br />
– E<strong>in</strong>e Normung von kryptographischen Algorithmen wäre aus technischen Gründen<br />
unmöglich.<br />
c) Die Hauptvorteile der Benutzung von Schlüsseln s<strong>in</strong>d: Die kryptographischen Algorithmen<br />
können öffentlich bekannt se<strong>in</strong>. Dies ermöglicht<br />
+ e<strong>in</strong>e breite öffentliche Validierung ihrer <strong>Sicherheit</strong>,<br />
+ ihre Normung,<br />
+ beliebige Implementierungsformen,<br />
+ Massenproduktion sowie<br />
+ e<strong>in</strong>e Validierung auch der <strong>Sicherheit</strong> der Implementierung.<br />
x<br />
Entschlüsselung<br />
1<br />
k<br />
...<br />
1(x)<br />
Entschlüsselung<br />
n<br />
... k n(… k 2(k 1(x))…)<br />
k 1(x)<br />
Verschlüsselung<br />
1<br />
x<br />
Natürlich können auch asymmetrische Konzelationssysteme auf diese Weise verwendet<br />
werden. Auch e<strong>in</strong> gemischter E<strong>in</strong>satz von symmetrischen <strong>und</strong> asymmetrischen Konzelationssystemen<br />
ist möglich. Im Beispiel können hierzu für jedes e<strong>in</strong>zelne i, 1 ≤ i ≤ n, jeweils die ki l<strong>in</strong>ks<br />
durch ci <strong>und</strong> das ki rechts durch di ersetzt werden, 1 ≤ i ≤ n.<br />
Die beschriebene Konstruktion geht natürlich nur, wenn der Schüsseltextraum von Konzelationssystem<br />
i e<strong>in</strong> Teilraum des Klartextraumes des Konzelationssystems i+1 ist. Dies läßt sich <strong>in</strong><br />
der Praxis meist problemlos erreichen. (Genauer später <strong>in</strong> der Vorlesung: §3.8.1 Block- <strong>und</strong><br />
Stromchiffren sowie §3.8.2 Betriebsarten für Blockchiffren). Haben Klartext <strong>und</strong> Schlüsseltexte<br />
bei allen n Systemen die gleiche Länge, verändert diese Maßnahme den Speicher- bzw. Übertragungsaufwand<br />
nicht. (Meistens wird er aber wegen Blockung e<strong>in</strong> bißchen wachsen.) Der<br />
Berechnungsaufwand ist die Summe aller Berechnungsaufwände der e<strong>in</strong>zelnen Konzelationssysteme<br />
(allerd<strong>in</strong>gs auf den evtl. etwas verlängerten Nachrichten).<br />
Nebenbei: Das durch die Verwendung mehrerer Konzelationsysteme <strong>in</strong> Serie entstehende<br />
Konzelationssystem heißt Produktchiffre der verwendeten Konzelationsysteme.<br />
Beim Schutzziel Authentikation kann man die kryptographischen Systeme parallel verwenden,<br />
d.h. mit jedem System wird e<strong>in</strong> Authentikator der ursprünglichen Nachricht x gebildet, <strong>und</strong><br />
alle werden h<strong>in</strong>tere<strong>in</strong>ander an x gehängt (mit Trennzeichen o.ä.). (Z.B. gemäß Bild 3-6: x,<br />
k1 (x),… , kn (x).) Der Empfänger prüft jeden Authentikator getrennt mit dem passenden System;<br />
alle müssen stimmen.<br />
Natürlich können auch digitale Signatursysteme auf diese Weise verwendet werden, ebenso ist<br />
e<strong>in</strong> gemischter E<strong>in</strong>satz möglich. Im Beispiel können hierzu für jedes e<strong>in</strong>zelne i, 1 ≤ i ≤ n, jeweils<br />
die ki l<strong>in</strong>ks durch si <strong>und</strong> das ki rechts durch ti ersetzt werden.<br />
Auch hier müssen die verwendeten Schlüssel unabhängig vone<strong>in</strong>ander gewählt werden.<br />
Berechnungsaufwand <strong>und</strong> Speicher- <strong>und</strong> Übertragungsaufwand für den Authentikator s<strong>in</strong>d<br />
genau die Summe derer aus den e<strong>in</strong>zelnen Systemen. Die Berechnung kann problemlos parallel<br />
erfolgen, so daß bei geeigneter Implementierung das Gesamtsystem fast so schnell wie das<br />
langsamste verwendete Authentikationssystem arbeitet.<br />
3-2a Schlüsselabgleich bei teilnehmerautonomer Schlüsselgenerierung?<br />
Der E<strong>in</strong>wand gegen teilnehmerautonome dezentrale Schlüsselgenerierung ist falsch (s.u.). Folglich<br />
ist der Vorschlag unnötig <strong>und</strong> – bekanntermaßen – bzgl. der Vertraulichkeit der geheimen<br />
Schlüssel sehr gefährlich.<br />
Gr<strong>und</strong>sätzlich gilt: Natürlich kann nicht völlig ausgeschlossen werden, daß bei der Erzeugung<br />
der Zufallszahl, die die Schlüsselgenerierung parametrisiert, dieselbe Zufallszahl mehrfach auftritt<br />
<strong>und</strong> dann auch der geheime Teil des Schlüsselpaares mehrfach generiert werden kann. Die<br />
Schlußfolgerung, deshalb müsse die Schlüsselgenerierung koord<strong>in</strong>iert ablaufen, ja gar von sogenannten<br />
TrustCentern durchgeführt werden, ist aber uns<strong>in</strong>nig. Tritt dieselbe Zufallszahl mehrfach<br />
auf, dann ist entweder der Zufallsgenerator schlecht oder die Zufallszahl zu kurz. In beiden Fällen<br />
hilft es nicht, die Zufallszahl nur beim ersten mal zu verwenden <strong>und</strong> bei wiederholtem Auftreten<br />
zu verwerfen. Denn wer sollte e<strong>in</strong>en Angreifer daran h<strong>in</strong>dern, mit dem gleichen Zufallsgenerator<br />
Zahlen gleicher Länge zu erzeugen <strong>und</strong> zu hoffen, daß er Glück hat? Da dies nicht verh<strong>in</strong>dert<br />
werden kann, hilft nur: Zufallsgenerator gut wählen <strong>und</strong> validieren sowie Zufallszahl lang genug<br />
wählen. Alles andere ist Kosmetik, die vom eigentlichen Problem ablenkt.<br />
Und nebenbei: Falls überhaupt Schlüssel verglichen werden, dann genügt es, öffentliche<br />
Schlüssel zu vergleichen. Die Schlüsselgenerierung kann also selbst dann teilnehmerautonom<br />
bleiben – der Schlüsselvergleich erfolgt als Teil der Schlüsselzertifizierung.