Lade Inhalt...

Sicherheit moderner Kryptosysteme

Facharbeit (Schule) 2012 19 Seiten

Mathematik - Angewandte Mathematik

Leseprobe

Gliederung

1) Neuartige Entschlüsselungsverfahren

2) Sicherheit eines Kryptosystems
a) Beziehung: Sicherheit – Algorithmus
I. Grundlagen eines Algorithmus
II. Ein Kryptosystem als abgewandeltes One-Time-Pad
III. Axiome der Sicherheit
b) Beziehung: Sicherheit – Schlüssellänge
I. Angriffsmethode Brute-Force
II. Problematik der Berechnungsdauer
c) Beziehung: Sicherheit – Passwort
I. Angreifbarkeit von Passwörtern
II. Optimieren der Passwortsicherheit
d) Sichere Kryptosysteme

3) Ungeahnte Möglichkeiten der Kryptoanalyse

4) Kritische Auseinandersetzung als Grundregel

i. Literaturverzeichnis

ii. Abbildungs- und Tabellenverzeichnis

1) Neuartige Entschlüsselungsverfahren

Was ist das Interessante an der Sicherheit eines modernen Kryptosystems? Ist die Sicherheit nicht, wie jeher, der Status Quo im Rennen zwischen „Verschlüssler“ und „Entschlüssler“? Das trifft natürlich weiterhin zu, aber mit dem feinen Unterschied, dass sich die Herangehensweise, einen Geheimtext zu dechiffrieren, durch moderne Computer-Algorithmen geändert hat. Auch in der Kryptografie hat die digitale Revolution alle Karten neu gemischt. Tausendfach, millionenfach höhere Rechenkapazitäten eröffnen heute für die Kryptographie ganz neue Möglichkeiten. Das zeigt sich bei Methoden der Verschlüsselung sowie Entschlüsselung.

Diese modernen Systeme scheinen mit den herkömmlichen Methoden der Kryptographie nichts mehr gemeinsam zu haben. In der heutigen Zeit legen wir weder Zettel um Stäbe noch verschieben wir Alphabete gegeneinander; wir tippen Passwörter in Computer und verschlüsseln, entschlüsseln. Dabei ist die Sicherheit der Methoden jetzt weniger transparent. Doch genau diese Transparenz wäre nötig, denn Kryptosysteme werden heutzutage von jedem verwendet, sei es als Passwortspeicher, Festplattenverschlüsselung oder unbewusst am Geldautomaten. Diese Arbeit hat deshalb das Ziel, dieses Sicherheitsbewusstsein erneut zu schärfen.

In diesem Zusammenhang werden deshalb die sicherheitsrelevanten Bestandteile eines Kryptosystems, der Algorithmus, die Schlüssellänge und das Passwort, auf ihre Angreifbarkeit untersucht und einfache „Handgriffe“ genannt, um die Sicherheit des gesamten Systems zu gewährleisten. Dabei wird zwangsläufig die Frage aufkommen, durch was sich „Sicherheit“ definiert. Zwei Axiome werden dieses Problem jedoch universell lösen. Zuletzt soll ein kleiner Ausblick auf zukünftige technische Entwicklungen ein Gefühl davon vermitteln, wie schnell ein heute sicheres System schon morgen als veraltet und unsicher gelten kann.

Diese Seminararbeit richtet sich also an Personen, die vielleicht nur geringfügig an den Methoden moderner Kryptographie und Kryptoanalyse interessiert sind und an solche, die sich über Schwachstellen eines Kryptosystems informieren wollen.

2) Sicherheit eines Kryptosystems

Wenn wir die Sicherheit eines Kryptosystems beurteilen wollen, dann können wir diese (vereinfacht) von zwei Variablen abhängig machen: „[…] [ 1. ] Der Stärke des Algorithmus und [ 2. ] der Länge des Schlüssels […]“.[1] Doch auch der User trägt durch seine Passwortwahl einen wesentlichen Teil zur Sicherheit dieses Kryptosystems bei, weshalb dies als dritte Variable zu nennen ist. Alle diese Variablen bedingen sich, d.h. wurde ein schwacher Algorithmus gewählt, so kann das Kryptosystem auch dann nicht als sicher beschrieben werden, wenn Passwort und Schlüssellänge „perfekt“ sind. Das Gleiche gilt natürlich auch im umgekehrten Sinne.

So klar wie diese Aspekte voneinander abgegrenzt sind, sollten sie auch betrachtet werden, deshalb werden in den folgenden Unterkapiteln zuerst die Stärke des Algorithmus, die Schlüssellänge und dann die Sicherheit des Passworts behandelt.

a) Beziehung: Sicherheit – Algorithmus

Um die Sicherheit eines Algorithmus behandeln zu können, muss man die Funktion eines solchen vorher verstehen. Folgender Abschnitt befasst sich deshalb mit den Grundlagen eines Algorithmus.

I. Grundlagen eines Algorithmus

Der Algorithmus f ist in einem Kryptosystem für eine Sache allein zuständig: Er überführt Klartext p (engl. plaintext) in Geheimtext c (engl. ciphertext) und umgekehrt (symmetrischer Algorithmus)[2] ; es handelt sich also um eine Transformation. Dieser „Apparat“ geht dabei aber nicht immer gleich vor, sonst wäre ein entdeckter Algorithmus selbst der Schlüssel zum Dechiffrieren aller mit ihm zuvor chiffrierten Nachrichten. Er bildet hingegen Spezialisierungen für jeden vom Benutzer des Algorithmus gewählten Schlüssel k. Diese speziellen Transformationen fk sind gleichermaßen umkehrbar.[3]

Abbildung in dieser Leseprobe nicht enthalten

Abb. 1: Ein symmetrischer Algorithmus[4]

In Abbildung 1 ist ein solches Kryptosystem schematisch dargestellt: Auf der linken Seite befindet sich der Klartext, auf der rechten der Geheimtext. Die Pfeile in der Mitte stellen die möglichen Transformationen dar. Jeder Geheimtext, der direkt einer Transformation von p1 entspringt, ist dessen verschlüsselte Form (hier c1 und c3). Wird nun c1 mit dem gleichen Algorithmus und Schlüssel, sprich mit der gleichen Transformation (hier f1), entschlüsselt, so erhält man daraus erneut den Klartext p1. Verwendet man jedoch einen anderen Schlüssel, so erhält man auch einen anderen Klartext. In Abbildung 1 wäre das der Geheimtext c1, der durch eine falsche Schlüsseleingabe (hier Transformation f2) in den „Klartext“ p3 „dechiffriert“ würde. Diese „Klartexte“ p2 und p3 enthalten höchstwahrscheinlich keine lesbaren Informationen; es handelt sich hierbei lediglich um weitere Chiffretexte (deshalb grau hinterlegt).

Zuletzt sollten wir uns jedoch noch zwei Umstände klarmachen: Es ist möglich, wenn auch nicht erwünscht, dass zwei Transformationen den Klartext in denselben Geheimtext überführen. Dagegen ist es jedoch nicht möglich, dass ein Geheimtext mittels derselben Transformation von zwei unterschiedlichen Klartexten abstammt; hier könnte der Geheimtext nicht mehr eindeutig dechiffriert werden.[5] „Daraus ergibt sich zwingend, dass die Anzahl der Klartexte höchstens so groß sein kann wie die Anzahl der Geheimtexte“:[6] │p│≤│c│.

Erst das Verständnis dieser Grundlagen macht es möglich, genauer auf den Sicherheitsaspekt eines Algorithmus einzugehen. Das zeigt, dass das größte Problem bei dieser Bewertung das Verständnis selbst ist, denn Algorithmen sind mathematisch sehr komplexe Handlungsvorschriften. Um dennoch eine leicht verständliche Möglichkeit zu bieten, einen Algorithmus nach seiner Sicherheit zu beurteilen, wird das sichere Chiffresystem eines One-Time-Pad[7] auf Bit-Basis betrachtet.

II. Ein Kryptosystem als abgewandeltes One-Time-Pad

Ein One-Time-Pad verwendet für jedes Bit des Klartextes ein Bit im Schlüssel, um das Chiffrebit zu bilden. Es gibt also genau so viele Schlüssel wie Geheimtexte und Chiffretexte; │p│=│k│=│c│.[8] Was ergibt sich daraus? Bei der Verwendung eines One-Time-Pads ist der Schlüssel genauso lang wie der Klartext selbst. Deshalb kann mit dem richtigen Schlüssel auch jeder Klartext in jeden beliebigen Chiffretext überführt werden und umgekehrt. Beim One-Time-Pad überführen also nie (!) zwei Transformationen den gleichen Klartext in denselben Chiffretext; das widerspräche dem Grundsystem des One-Time-Pads. Genau diese Eigenschaft macht das One-Time-Pad perfekt und sicher. Der praktische Nutzen dieser Methode steht für die meisten Anwendungen jedoch außer Frage. So erscheint es beispielsweise nicht sinnvoll, eine 5GB große Datei im Computer mit einem Schlüssel zu chiffrieren, der, auf einer Festplatte gespeichert, ebenso 5GB groß ist. Außerdem dürfte man diesen Schlüssel auch nicht abspeichern; aber das Merken von grob Bit ist impraktikabel. Was man daher braucht, ist ein verkürzter Schlüssel, ein einfaches Passwort, das auch nicht auf Bits basiert, sondern auf Zeichen, Zahlen und Buchstaben. Dazu geht man das Problem von zwei Seiten an:

Erstens nutzt man einen Algorithmus, der iteriert, d.h. einen Algorithmus, der den Klar-bzw. Chiffretext in einzelne Blöcke fester Bit-Länge unterteilt (üblicherweise 64-128 Bit) und diese Blöcke dann nacheinander schlüsselspezifisch umwandelt. Diese Algorithmen nennt man Blockchiffrierungen.[9] Die Vorgehensweise kann dabei je Block variieren; der Algorithmus „mutiert“ in Abhängigkeit vom Schlüssel. Um das zu gewährleisten, ist der Schlüssel immer (!) länger als die Blockgröße.

Durch dieses Verfahren sind keine Schlüssel in der Länge des Klartextes mehr erforderlich. In der Regel genügen so schon Schlüssel der Länge 128-256 Bit. Es entstehen jedoch leicht Muster im Chiffretext, wenn die Blockchiffrierung nicht oder nur wenig mutiert. Deshalb ist immer darauf zu achten, wie erprobt ein Algorithmus ist, doch dazu am Ende dieses Unterkapitels mehr. Die Schlüssellänge kann durch diese Vorgehensweise also auf einen endlichen Wert reduziert werden, genauer: Bei einer Blockgröße von 128 Bit z.B. 256 Bit. Doch auch 256 Zeichen Binärcode lassen sich nicht merken.

Abbildung in dieser Leseprobe nicht enthalten

Abb. 2: Eine Hashfunktion

Deshalb geht man das Problem zusätzlich von einer zweiten Seite an. Die Rede ist hier von einem zusätzlichen Algorithmus, der dem Bit-Schlüssel sozusagen „vorgeschaltet“ ist: Eine Hashfunktion. Abbildung 2 zeigt eine solche Hashfunktion. Diese Funktionen sind nur sehr schwer umkehrbar und erzeugen aus einem beliebig großen Input einen Output fester Länge. Perfekt also, um den 256 Bit Schlüssel aus einem Passwort zu generieren. Dieses kann der User dann frei aus allen Zeichen, Zahlen und Buchstaben wählen.

Es wird folglich eine strenge Unterscheidung zwischen Schlüssel und Passwort gemacht. Das Passwort ist vom User gewählt und kann aus allen (!) Zeichen, Zahlen und Buchstaben bestehen. Aus diesem wird dann über die Hashfunktion der Schlüssel bestimmter Länge gebildet. Der Schlüssel selbst steht also nur dem Verschlüsselungs-Algorithmus zur Verfügung und auch nur für den Vorgang des Verschlüsselns/Entschlüsselns; danach wird er vom Kryptosystem gelöscht und kann nur über das richtige Passwort wieder als Hashcode vorliegen. Doch auch das Passwort wird durch einen guten Hash-Algorithmus geschützt und kann selbst aus dem richtigen Schlüssel nicht zurückgerechnet werden. Dies gewährleistet die Asymmetrie einer Hashfunktion.[10]

[...]


[1] (Schneier, 2006), S.177, 1.Abs.

[2] weiterhin handelt es sich bei den verbreitetsten Kryptosystemen um symmetrische (Bsp.: DES, AES)

[3] vgl. (Beutelspacher, 2002), S.45f

[4] Abbildung in Anlehnung an „Bild 3.1“ (Beutelspacher, 2002), S.46

[5] vgl. (Beutelspacher, 2002), S.47

[6] (Beutelspacher, 2002), S.47, 5.Abs.

[7] vgl. (Schneier, 2006), S.17ff

[8] vgl. (Beutelspacher, 2002), S.52

[9] vgl. (Schneier, 2006), S. 223, 1.Abs.

[10] vgl. (Hellman, 2001), S. 33

Details

Seiten
19
Jahr
2012
ISBN (eBook)
9783656426981
ISBN (Buch)
9783656435549
Dateigröße
558 KB
Sprache
Deutsch
Katalognummer
v210890
Note
1,17
Schlagworte
Sicherheit Kryptographie Kryptografie Verschlüsselung Kryptosysteme Schlüssellänge Schlüssel Passwort Hash Algorithmus Seminar Arbeit Seminararbeit Kryptologie Sicherheit moderner Kryptosysteme

Autor

Teilen

Zurück

Titel: Sicherheit moderner Kryptosysteme