Auf dieser Seite erfahren Sie vieles über die Konzepte, die kryptographischen Applikationen zugrundeliegen. Dieses Wissen hilft auch dabei, mögliche Schwächen und Risiken bei ihrer Anwendung besser zu verstehen und darauf adäquat zu reagieren.

Hintergrundwissen zur Kryptographie

Im engeren Sinne beschäftigt sich Kryptographie mit dem Ver- und Entschlüsseln von Nachrichten. Das hat aber nur dann einen Sinn, wenn die geheimen Schlüssel sicher vereinbart werden könnnen (sozusagen ein Henne-Ei-Problem) und man dabei auch sicher sein kann, dass man mit dem richtigen Gegenüber kommuniziert. Dann ist aber immer noch nicht garantiert, dass die Nachricht unterwegs nicht verändert wurde. Kryptographie behandelt daher mehrere Themen, die scheinbar völlig verschieden, tatsächlich aber eng miteinander verwoben sind: Verschlüsseln, Prüfzahlen, digitale Signaturen und Zufall.

Verschlüsseln

Die Vertraulichkeit gewährleistet man durch Ver- und Entschlüsseln. Dabei steuert ein geheimer Schlüssel einen Algorithmus, die sogenannte Chiffre, der normalerweise nicht geheim ist sondern auf breiter Basis erforscht und auf Schwachstellen analysiert sein sollte (Kryptanalyse).

In der IT werden E-Mail, Bilder, Fetsplatteninhalte usw. von allesamt einfach als Zahlenreihen betrachtet: Wie auch immer die Daten am Bildschirm oder über den Lautsprecher dargestellt werden, systemintern sind es ja immer Folgen von 0 und 1. Ebenso ist ein Schlüssel eine Zahl – allerdings eine sehr große – oder eine Folge von Zahlen. Der Rest ist Mathematik.

Die Sicherheit eines Verschlüsselungsverfahrens hängt vor allem von zwei Faktoren ab:

  • die verschlüsselten Daten dürfen keinerlei strukturellen Merkmale der Originaldaten aufweisen – sie dürfen nicht von reinen Zufallszahlen unterscheidbar sein;
  • die Schlüssellänge (in Bit gemessen) muss so groß sein, damit ein Durchprobieren unmöglich ist, zuzüglich eines Aufschlags für den Fall, dass Fortschritte der Kryptanalyse der vorige Faktor nur teilweise erfüllt ist.

Am Caesar-Alphabeth lässt sich das gut illustrieren; beschränken wir uns der Einfachheit halber auf die 26 Buchsaben A-Z. Beim Verschlüsseln wird jeder Buchstabe durch den jenigen ersetzt, der im Alphabeth n Stellen weiter rechts ist, wobei man nach Z wieder mit A anfängt usw. Bei n = 4 wird aus einem A ein E, aus einem B ein F, usw. und schließlich aus einem Z ein D. Die Zahl n ist hier der Schlüssel.

KlartextABC...XYZ
VerschlüsseltEFG...BCD

Beispiel:

KlartextEINE KLEINE ENTE SCHWIMMT AUF DEM SEE
VerschlüsseltIMRI OPIMRI IRXI WGLAMQQX EYJ HIQ WII


Sie können das übrigens auf den Webseiten von CrypTool selbst ausprobieren.

Dieses Verfahren hat entsprechend den obgenannten Faktoren zwei Probleme:

  • der verschlüsselte Text spiegelt die unterschiedliche Häufigkeit der Buchstaben des Klartexts wider. Wer errechnet, welcher Buchstabe im verschlüsselten Text am Häufigsten vorkommt, kennt sofort den Schlüssel.
  • es gibt nur 25 verschiedene Schlüssel (Schlüssellänge 4,6 Bit), was sich leicht durchprobieren lässt.

Über Schlüssel

Kryptographisch gesehen sind Schlüssel einfach nur große Zahlen. Wie lang Schlüssel heute mindestens sein sollten, hängt vom verwendeten Verfahren hab. Das Spektrum reicht etwa von 256 bis 2048 Bit (eine Zahl mit 617 Ziffern).

Damit niemand den Schlüssel erraten kann, muss er eine echte Zufallszahl sein. Da ein Computer nicht würfelt, verwendet man Faktoren, die Aussenstehende nicht erraten können: Uhrzeit (die aber ungefähr erratbar ist), Dauer von Festplattenzugriffen, und vieles mehr. Daraus Zufallszahlen ohne erkennbares Muster zu generieren, ist alles andere als einfach und auch schon mehrfach spektakulär misslungen.

Ist ein Schlüssel schließlich generiert, kann man ihn sich natürlich nicht merken und bei Bedarf eintippen. Gespeichert wird er je nach Schutzbedarf und Anwendung in einer geschützten (z.B. Webserver) oder verschlüsselten Datei (am PC). In Sonderfällen benutzt man spezielle [[http://de.wikipedia.org/wiki/Hardware-Sicherheitsmodul|Hardware Security Modulue]] dafür.

Will man die Daten nicht für den Eigengebrauch (z.B. die Festplatte) sondern zur Übermittlung an wen anderen (z.B. E-Mail) verschlüsseln, ergibt sich ein Problem: Wie soll die andere Partei den geheimen Schlüssel erfahren? Eine Antwort darauf geben die sogenannten asymmetrischen Verfahren oder Public-Key-Kryptosysteme. Deren besonderer Trick besteht darin, dass die Schlüssel zum Ver- und zum Entschlüsseln verschiedene sind und sich nicht auseinander berechnen lassen. Der Gebrauch sieht dann so aus:

  1. EmpfängerIn gibt den Schlüssel zum Verschlüsseln öffentlich bekannt (Public Key)
  2. AbsenderIn verschlüsselt mit dem öffentlichen Schlüssel
  3. Nachricht wird transportiert
  4. Empfängerin entschlüsselt mit dem anderen, dem privaten Schlüssel (Private Key).

Dieser ansich geniale Ansatz führt aber zu einem neuen Problem: Wie stellt man fest, ob ein bestimmter Public Key tatsächlich der Person gehört, für die die Nachricht gedacht ist und nicht etwa irgendeinem Spion? Darauf geben digitale Signaturen eine Antwort.

Unverfälscht und authentisch

Hier geht es um die Fragen: Von wem ist eine Nachricht (oder irgendwelche Daten) und wurde sie irgendie verändert? Gelingt es, beides zu beantworten, erhält man die digitale Signatur. Zu dieser gelangt man in drei Schritten.

1. Der Hash

Zunächst benötigt man einen Weg, die Nachricht (oder die Daten), deren Länge ja beliebig groß werden kann, an einer Kennzahl überschaubarer Größe (z.B. 256 Bit) zweifelsfrei zu erkennen. Dazu berechnet man einen sogenannten Hashwert, das ist eine Prüfzahl die etwa wie ein Fingerabdruck der Nachricht verwendet wird. Das Hash-Verfahren ist so gestaltet, dass selbst kleinste Änderungen zu anderen Hashwerten führen. Es darf auch nicht gelingen, eine zweite Nachricht zu konstruieren, die zum selben Hashwert führt. Nehmen wir als Beispiel ein kleines "Gedicht" und seinen nach dem Verfahren SHA256 berechneten Hash:

Der Faelscher ist ganz arg frustriert
denn diese Nachricht ist signiert.
Ist auch ihr Inhalt nur Gewaesch,
ist sie geschuetzt durch einen Hash!

SHA256: a921454d7418a1de8662908874d4fd7c9b7d77463381a2740632cf676a228709

Sie können selbst online ausprobieren, was passiert, wenn Sie auch nur Kleinigkeiten an der Nachricht ändern oder ob es Ihnen gelingt, eine andere Nachricht zu erzeugen, die zum selben Hashwert führt.

2. Die Unterschrift

Um aus dem Hash eine Unterschrift zu machen, benötigt man wieder die asymmetrische Verschlüsselung - nur umgekehrt. Die/der AbsenderIn verschlüsselt den Hash dem privaten Schlüssel. Das Ergebnis wird mit oder neben der Nachricht übermittelt.

Die/der EmpfängerIn macht nun zweierlei: Selbst den Hash der Nachricht berechnen und die Signatur mit dem öffentlichen Schlüssel der/des behaupteten AbsenderIn entschlüsseln. Stimmen die Ergebnisse überein, so sind die Daten unverfälscht und, auf den öffentlichen Schlüssel bezogen, authentisch. Noch ist allerdings nicht gesichert, wem der Schlüssel (eigentlich das Schlüsselpaar) gehört.

3. Die Identität

Mit der Signatur einer Nachricht ist diese zwar einem Schlüssel(paar) zugeordnet, aber noch nicht desse EigentümerIn. Tatsächlich enthalten Kryptographische Schlüssel neben dem reinen Zahlenmaterial noch weitere Angaben, insbesondere über Name, E-Mail-Adresse etc.

Damit ist aber noch nichts bewiesen - immerhin kann jedeR so ein Schlüsselpaar nach Belieben erstellen. Daher lässt man den Schlüssel und damit die Zuordnung zur Person von jemandem per digitaler Signatur bestätigen. Aber wer bestätigt die Bestätigenden?

Technisch-organisatiorische Lösungen, deren Aufgabe es ist, Vertrauen in die Zuordnung eines Schlüsselpaares zu einer Person (oder Organisation, Einheit, ...) zu erzeugen, werden Public Key Infrastructures (PKI) genannt.

  • zentrale Zertifizierungsstellen, deren "Hauptschlüssel" in der Software oder dem Betriebssystem eingebaut sind (x.509 für Web-Zertifikate, S/MIME funktioniert so)
  • als "Web of Trust", das sich sozusagen basisdemokratisch durch pesönliche Kontakte bildet (PGP/GnuPG).

Beide Herangehensweisen haben Vor- und Nachteile und haben schon schlimme Niederlagen erlebt. Während das zentralistische Modell relativ leicht zu bedienen ist, muss man nolens volens staatlichen und/oder kommerziellen

Zertifizierungsstellen vertrauen, die man nicht kennt. Das Web-Of-Trust-Modell hingegen legt die Kontrolle, aber auch die volle Verantwortung in die Hände der Beteiligten, was die Sache komplex aber recht gut nachvollziehbar macht.

Problem gelöst

Kryptographie ist heute Grundlage zahlreicher erfolgreicher Anwendungen, die nicht zuletzt das Wirtschaftsleben, wie wir es heute kennen, erst ermöglichen. Verschlüsselungssysteme, Signaturen und Authentisierungen mittel Public-Key-Systemen setzen wir, oft ohne es zu merken, täglich ein.

Da die gesamte Angelegenheit komplex und ohne technische Hilfsmittel nicht nachvollziehbar ist, bedarf es zumindest eine gewissen Einschulung (siehe die Sicherheitsregeln bei https), bei komplizierteren Fällen einer sorgfältigen Planung und Betreuung.

Kryptographie ist, richtig angewandt, sehr sicher. Auf ihre Grenzen und mögliche Fehlerquellen gehen wir im Abschnitt Grenzen und Schwächen der Kryptographie ein.


Zurück zur Kryptographie-Überblicksseite

KontaktFeedback