Sicherheit in Rechnernetzen: - Professur Datenschutz und ...
Sicherheit in Rechnernetzen: - Professur Datenschutz und ...
Sicherheit in Rechnernetzen: - Professur Datenschutz und ...
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
104<br />
A. Pfitzmann: Datensicherheit <strong>und</strong> Kryptographie; TU Dresden, WS2000/2001, 15.10.2000, 15:52 Uhr<br />
103<br />
A. Pfitzmann: Datensicherheit <strong>und</strong> Kryptographie; TU Dresden, WS2000/2001, 15.10.2000, 15:52 Uhr<br />
3.8 Zum praktischen Betrieb kryptographischer<br />
Systeme<br />
Zum praktischen Betrieb kryptographischer Systeme ist es nützlich,<br />
• Begriffe wie Blockchiffre vs. Stromchiffre, synchron vs. selbstsynchronisierend,<br />
• Betriebsarten von Blockchiffren, d.h. die wichtigen Konstruktionen von selbstsynchronisierenden<br />
<strong>und</strong> synchronen Stromchiffren aus Blockchiffren, <strong>und</strong><br />
• wenigstens e<strong>in</strong>e effiziente Konstruktion von kollisionsresistenten Hashfunktionen aus Blockchiffren<br />
zu kennen. Dies wird jeweils <strong>in</strong> den folgenden Unterkapiteln behandelt.<br />
3.8.1 Blockchiffre, Stromchiffre<br />
Bei e<strong>in</strong>em gegebenen endlichen Alphabet ver-/entschlüsselt e<strong>in</strong>e<br />
• Blockchiffre nur Zeichenketten fester Länge, während e<strong>in</strong>e<br />
• Stromchiffre Zeichenketten variabler Länge bearbeiten kann.<br />
Sek<strong>und</strong>en zur Ermittlung e<strong>in</strong>es DES-Schlüssels etwa 10 10 . Für 105 US$ kann man also<br />
e<strong>in</strong>e Masch<strong>in</strong>e bauen, die <strong>in</strong> 35 St<strong>und</strong>en e<strong>in</strong>en Schlüssel ermittelt, für 106 US$ dauert es<br />
nur noch 3,5 St<strong>und</strong>en, usw. In der Vergangenheit verdoppelte sich die Rechenleistung bei<br />
gleichen Kosten etwa alle 18 Monate. Obiges Produkt ist also vermutlich auch zukünftig<br />
etwa alle 18 Monate zu halbieren <strong>und</strong> beträgt im Jahr 2000 dann etwa 109 . Im Juli 1998<br />
veröffentlichte Electronic Frontier Fo<strong>und</strong>ation (EFF), daß sie <strong>in</strong>nerhalb e<strong>in</strong>es Jahres mit<br />
e<strong>in</strong>em Gesamtaufwand von weniger als 250000 US$ e<strong>in</strong>e Spezialmasch<strong>in</strong>e zum Brechen<br />
von DES gebaut haben, die DES-Schlüssel <strong>in</strong> weniger als 3 Tagen ermittelt [EFF_98].<br />
Unter Verwendung dieser oberen Schranken liegt das tatsächlich erzielte Produkt von<br />
250000 • 3•24•60•60 = 6,48 • 10 10 leicht oberhalb der am Schreibtisch ermittelten<br />
Angaben für die 1995 verfügbare Technologie.<br />
• Die Entwurfskriterien für die speziellen Werte der Substitutionen <strong>und</strong> Permutationen (hier<br />
nicht beschrieben, bei Interesse im Standard nachzulesen) werden weiterh<strong>in</strong> geheimgehalten.<br />
In [Copp_92, Copp2_94] f<strong>in</strong>det sich allerd<strong>in</strong>gs die weitgehende Aufdeckung des Rätsels.<br />
Legt man das Alphabet {0, 1} zugr<strong>und</strong>e, s<strong>in</strong>d die Vernam-Chiffre (one-time pad), der s2-mod-n- Generator <strong>und</strong> GMR Stromchiffren, während RSA <strong>und</strong> DES dann Blockchiffren s<strong>in</strong>d. Legt man<br />
jedoch als Alphabet {0, 1, 2, 3, ..., 264-1} zugr<strong>und</strong>e <strong>und</strong> unterstellt, daß mehrere Zeichen jeweils<br />
unabhängig vone<strong>in</strong>ander verschlüsselt werden, dann ist DES nach obiger Def<strong>in</strong>ition e<strong>in</strong>e Stromchiffre.<br />
Die Unterscheidung Blockchiffre-Stromchiffre nach obiger Def<strong>in</strong>ition hängt also wesentlich<br />
vom unterstellten Alphabet ab <strong>und</strong> ist deshalb <strong>in</strong> sich nur relativ. Bei vielen Anwendungen ist das<br />
Alphabet aber vorgegeben (oder zum<strong>in</strong>dest kanonisch) <strong>und</strong> damit die Unterscheidung präzise.<br />
(Anmerkung: Manche Autoren def<strong>in</strong>ieren die Klasse der Stromchiffre restriktiver: Bei ihnen ist bei<br />
jeder Stromchiffre e<strong>in</strong> Schlüsselstrom entweder vorgegeben (one-time pad) oder wird generiert<br />
(pseudo one-time pad, z.B. s2-mod-n-Generator) <strong>und</strong> zum Klartext- bzw. Schlüsseltextstrom addiert<br />
bzw. subtrahiert. Mir ersche<strong>in</strong>t diese restriktivere Def<strong>in</strong>ition für das folgende jedoch unnötig.)<br />
Bei e<strong>in</strong>er Stromchiffre (im Deutschen auch als kont<strong>in</strong>uierliche Chiffre [Hors_85] oder Stromsystem<br />
[HeKW_85], im Englischen als stream cipher bezeichnet) werden Nachrichten als e<strong>in</strong>e Folge von<br />
Zeichen codiert, so daß e<strong>in</strong>zelne Zeichen des Alphabets verschlüsselt werden. Diese Zeichen werden<br />
jedoch nicht notwendigerweise unabhängig vone<strong>in</strong>ander verschlüsselt, sondern ihre Verschlüsselung<br />
kann auch entweder<br />
1. von ihrer Position <strong>in</strong>nerhalb der Nachrichten oder allgeme<strong>in</strong>er von allen vorhergehenden<br />
Klartext- <strong>und</strong>/oder Schlüsseltextzeichen abhängen oder<br />
2. nur von e<strong>in</strong>er beschränkten Anzahl direkt vorhergehender Schlüsseltextzeichen.<br />
Unter kryptographischen <strong>und</strong> Implementierungsgesichtspunkten bieten sich folgende Verallgeme<strong>in</strong>erungen<br />
an, die diesen zwei Kritikpunkten Rechnung tragen:<br />
1. Die je 48 Schlüsselbits der 16 Teilschlüssel werden direkt e<strong>in</strong>gegeben statt aus 56 Bit erzeugt.<br />
Der Schlüssel ist damit 16•48 = 768 Bit statt 56 Bit lang.<br />
2. Die Inhalte der Substitutionsboxen Sj (j = 1,..., 8) werden variabel. Dies verlängert den<br />
Schlüssel um maximal 8•2 6 •4 = 2048 Bits.<br />
3. Die Permutationen P <strong>und</strong> IP werden variabel. Dies verlängert den Schlüssel um maximal<br />
32•⎡ld 32⎤ + 64•⎡ld 64⎤ = 160 + 384 = 544 Bits.<br />
4. Die Expansionspermutation E wird variabel. Dies verlängert den Schlüssel um maximal 48•⎡ld<br />
32⎤ = 240 Bits.<br />
Zusammen ergibt dies maximal 3600 Bit. Bezüglich des Aufwandes der Speicherung ist dies bereits<br />
heute weniger als 56 Bit im Jahre 1977. Während wie bei DES bei der 1. Verallgeme<strong>in</strong>erung e<strong>in</strong>e zufällige<br />
Wahl des Schlüssels angebracht ist, gilt dies bei der 2., 3. <strong>und</strong> 4. Verallgeme<strong>in</strong>erung nicht<br />
unbed<strong>in</strong>gt [BiSh_93].<br />
Damit hier ke<strong>in</strong>e falschen Erwartungen an den <strong>Sicherheit</strong>sgew<strong>in</strong>n entstehen: Während der „normale“<br />
DES mittels e<strong>in</strong>es gewählten Klartext-Schlüsseltext-Angriffs, genannt differentielle Kryptoanalyse<br />
(differential cryptanalysis), mittels 247 Klartext-Schlüsseltext-Blöcken gebrochen werden<br />
kann, s<strong>in</strong>d hierfür bei der 1. Verallgeme<strong>in</strong>erung 261 Klartext-Schlüsseltext-Blöcke nötig [BiSh3_91,<br />
BiSh4_91, BiSh_93]. Dies ist zwar vom naiv erhofften Aufwand von 2768-1 weit entfernt, aber<br />
schon sehr nahe an der optimalen Schwierigkeit von 264-1: Jede permutierende Blockchiffre mit<br />
Blocklänge b kann mittels aktivem Angriff mit Aufwand 2b-1 gebrochen werden – der Angreifer läßt<br />
sich e<strong>in</strong>fach alle anderen Blöcke als den, der ihn <strong>in</strong>teressiert, ver- bzw. entschlüsseln.<br />
Im ersten Fall spricht man von synchronen Stromchiffren (synchronous stream ciphers), da Ver<strong>und</strong><br />
Entschlüsselung streng synchron erfolgen muß: bei Verlust oder H<strong>in</strong>zufügen e<strong>in</strong>es Schlüsseltextzeichens,<br />
d.h. bei Verlust der Synchronisation, kann nicht mehr ohne weiteres entschlüsselt werden,<br />
Ver- <strong>und</strong> Entschlüsseler müssen sich neu synchronisieren. Sofern Ver- <strong>und</strong> Entschlüsselung nicht nur<br />
von der Position <strong>in</strong>nerhalb der Nachrichten abhängt, sondern auch von allen vorhergehenden Klartext<br />
<strong>und</strong>/oder Schlüsseltextzeichen, müssen Ver- <strong>und</strong> Entschlüsseler sich auch bei Verfälschung e<strong>in</strong>es<br />
Schlüsseltextzeichens neu synchronisieren.<br />
Im zweiten Fall spricht man von selbstsynchronisierenden Stromchiffren (self-synchronous<br />
stream ciphers), da sich bei ihnen der Entschlüsseler auch bei Verlust oder H<strong>in</strong>zufügen beliebig vieler<br />
zusätzlicher Schlüsseltextzeichen spätestens nach Entschlüsselung der oben erwähnten beschränkten<br />
Anzahl Schlüsseltextzeichen wieder auf den Verschlüsseler synchronisiert hat.<br />
3.7.8 Verschlüsselungsleistung<br />
Mittels e<strong>in</strong>er Software-Implementierung werden auf dem Apple Mac<strong>in</strong>tosh Classic (MC68000, 8<br />
MHz) mit e<strong>in</strong>em gemäß 1., 2. <strong>und</strong> 3. verallgeme<strong>in</strong>erten DES über 100 kbit/s ver-/entschlüsselt, auf<br />
dem PowerBook 180 (MC 68030, 33 MHz) über 900 kbit/s [PfAß1_90, PfAß_93].<br />
Mittels e<strong>in</strong>er Hardware-Implementierung (Standardzellen-Entwurf, 7155 Gatteräquivalente, 2 μm<br />
Technologie) werden mit e<strong>in</strong>em gemäß 1. verallgeme<strong>in</strong>erten DES auf dem Chip 40 Mbit/s ver-/entschlüsselt.<br />
Da die E<strong>in</strong>-/Ausgabe aber nur byteweise <strong>und</strong> asynchron (2-Weg-Handshake) erfolgt,<br />
können nur 10 Mbit/s e<strong>in</strong>-/ausgegeben werden [KFBG_90].