Was ist Kryptographie?

Kryptographie ist die Wissenschaft des Informationsschutzes durch Kodierung (Verschlüsselung) der vorliegenden Daten in ein nicht lesbares Format. Kryptographie war in früheren Zeiten eine „schwarze“ Wissenschaft, die streng geheim gehalten wurde. Insbesondere im Mittelalter, als an vielen Königshöfen „schwarze Kammern“ entstanden sowie nach dem zweiten Weltkrieg, als die gesamte kryptographische Forschung unter die militärische Geheimhaltung fiel, war es kaum möglich, wertvolle Informationen über Verschlüsselung zu erhalten.

Heute ist es jedem Interessierten mit ein wenig Aufwand möglich, wichtige Daten bei Bedarf zu verschlüsseln. Insbesondere Phil Zimmermann, der mit Pretty Good Privacy (PGP) das erste für den Privatanwender frei verfügbare und einfach zu bedienende Verschlüsselungsprogramm erstellt hat (und prompt dafür eingesperrt wurde), aber auch Autoren wie Bruce Schneier (das Buch „Applied Cryptography“ ist das Referenzwerk schlecht hin und enthält den Source Code vieler Algorithmen) oder Eric Young (erstellte die erste freie SSL-Implementierung für Webserver, heute OpenSSL) ist die einfache Nutzung von verschlüsselten Mails und dem sicheren Zugriff auf Webserver für jedermann zu verdanken.

Kryptoanalyse, die Wissenschaft zum brechen von Verschlüsselung ist das genaue Gegenteil. Bei der Kryptoanalyse versucht man Schwächen in Algorithmen, in Schlüsselmanagement oder in der Implementierung zu nutzen, um ohne Schlüssel Zugriff auf die geschützten Daten zu erhalten. Gute Verschlüsselungsverfahren sind nur durch gute Kryptoanalyse überprüfbar.

Symmetrische Verschlüsselung

Bei einer symmetrischen Verschlüsselung wird für die Verschlüsselung und für die Entschlüsselung der gleiche Schlüssel verwendet. Symmetrische Verfahren sind typischerweise sehr schnell und effizient implementierbar. Verfahren mit einer Schlüssellänge ab 128 Bit gelten bereits als sehr sicher und sind praktisch nicht zu brechen.

Die Sicherheit der Verschlüsselung basiert dabei auf zwei Dingen:

  1. Der Verschlüsselungsalgorithmus ist heute typischerweise eine mathematische Transformation, die den Klartext in den verschlüsselten Text (den Chiffretext, auch Ciphertext) umwandelt und den Chiffretext auch wieder zurück in den Klartext umwandeln kann.
  2. Der Schlüssel (auch: Session Key oder Secret Key) kann eine beliebige Bitfolge sein, z.B. eine Zahl, ein Wort oder ein Satz, der als Parameter für den Verschlüsselungsalgorithmus verwendet wird. Dadurch wird für verschiedene Schlüssel aus dem Klartext jeweils ein anderer Ciphertext erzeugt. Der Schlüssel muß möglichst zufällig gewählt werden.

Bei modernen Algorithmen hängt die Sicherheit der verschlüsselten Daten ausschließlich von der Geheimhaltung des Schlüssels ab. Der Algorithmus selbst sollte allgemein bekannt sein und am besten von vielen Experten analysiert worden sein. Kryptographie selbst ist oft derart komplex, daß ein auf den ersten Blick guter Algorithmus von einem guten Kryptoanalytiker innerhalb kurzer Zeit gebrochen werden kann. Der Wettbewerb zur Ermittlung des neuen Advanced Encryption Standard (AES) war hier sehr bezeichnend.

Achtung! Kryptographisch sicher ist dabei keine Aussage über die absolute Sicherheit eines Verfahrens. Ein Verfahren kann kryptographisch sicher aber trotzdem absolut unsicher sein, wenn z.B. die Schlüssellänge zu klein ist. RC-2 oder RC-4 mit 40 Bit Schlüssellänge sind kryptographisch sichere Verfahren, die trotzdem leicht zu brechen sind.

Das große Problem bei symmetrischen Verfahren ist, wie der geheime Schlüssel zum Empfänger übertragen werden soll. Der Aufwand, eine große Nachricht sicher zu übertragen ist praktisch genauso hoch, wie den Schlüssel sicher zu übertragen. Deshalb können symmetrische Verfahren nur eingesetzt werden, wenn sowohl Sender als auch Empfänger der Nachricht den Session Key bereits kennen.

Asymmetrische Verschlüsselung

Asymmetrische (oder auch Public Key) Verfahren lösen das Problem der Schlüsselübertragung weitestgehend. Bei asymmetrischen Verfahren hat jeder Teilnehmer nicht nur einen Schlüssel sondern ein Schlüsselpaar, bestehend aus einem öffentlichen Schlüssel (Public Key) und einem privaten Schlüssel (Private Key). Die beiden Schlüssel sind natürlich direkt voneinander abhängig. Der Public Key kann beliebig im Internet veröffentlich bzw. anderen Personen einfach bekannt gegeben werden. Der Private Key jedoch muß streng geheim gehalten werden.

Der Public Key wird jetzt in der Regel dazu verwendet, um Nachrichten zu verschlüsseln. Durch das gewählte Verfahren ist es nicht möglich, den verschlüsselten Text mit dem Public Key wieder zu entschlüsseln. Die Entschlüsselung der Nachricht ist nur mit dem Private Key möglich. Da der Private Key jedoch geheim ist, kann nur der richtige Empfänger der Nachricht diese entschlüsseln.

Die Sicherheit von asymmetrischen Verfahren basiert zwar auch auf dem verwendeten Algorithmus sowie dem Schlüssel, hängt jedoch ganz stark davon ab, wie leicht es ist, vom Public Key auf den Private Key zu schließen. Deshalb müssen die Verfahren mit deutlich höherer Schlüssellänge arbeiten. Die Sicherheit eines asymmetrischen Verfahrens mit 2048 Bit Schlüssellänge ist in etwa vergleichbar mit der Sicherheit eines symmetrischen Verfahrens mit 128 Bit!

One-Time-Pads

One-Time-Pads bzw. sogenannte Einmalschlüssel sind die sicherste Möglichkeit überhaupt, Nachrichten zu verschlüsseln, leider jedoch auch die aufwendigste. Bei der Verschlüsselung mit einem One-Time Pad wird eine zufällige Zeichenfolge generiert, die genau die gleiche Länge hat, wie der Text selbst. Der Text selbst wird dann mit dieser Zeichenfolge verschlüsselt. Der Vorteil dieses Verfahrens ist, daß durch die identische Länge von Nachricht und Schlüssel mathematische Textanalysen (z.B. auf die Häufigkeit von Zeichen) nicht funktionieren. Der große Nachteil ist, daß das gesamte One-Time-Pad wie ein normaler Secret Key ebenfalls geheim übertragen werden muß und tatsächlich kryptographisch zufällig erzeugt werden muß.

Obwohl diese beiden Anforderungen sehr einfach klingen, sind One-Time-Pads überhaupt nicht praktikabel zu implementieren und es gibt wohl nur einen einzigen bekannten Einsatz in der jüngeren Geschichte, nämlich einen heißen Draht zwischen Washington und Moskau, mit dem Texte telegraphisch übertragen werden konnten. Die Begründung für den Einsatz des One-Time Pads war angeblich auch nur der, daß sich beide Seiten nicht auf ein gemeinsames Verschlüsselungsverfahren einigen konnten.

Hybride Verfahren

Hybride Systeme sind Systeme, bei denen vor der eigentlichen Datenübertragung der Austausch des Session Keys mittels eines asymmetrischen Verfahrens passiert, die Datenübertragung selbst jedoch mit dem Session Key mit einem symmetrischen Verfahren verschlüsselt wird. Praktisch alle heute verwendeten Verfahren zur verschlüsselten Datenübertragung sind hybride Verfahren.

Ein bekanntes Beispiel ist PGP. Dort wird die E-Mail mit dem symmetrischen 128 Bit IDEA-Verfahren verschlüsselt. Der IDEA Session Key wird mit dem asymmetrischen RSA-Verfahren mit 2048 Bit verschlüsselt und an die E-Mail einfach angehängt.

Hashverfahren

Hash-Verfahren sind im Grunde keine richtige Verschlüsselungsverfahren, verwenden jedoch vergleichbare Algorithmen. Jeder normale Verschlüsselungsalgorithmus kann einfach in ein Hash-Verfahren umgewandelt werden.

Kennzeichnend für Hash-Verfahren ist, daß das Ergebnis der Verschlüsselung eine Prüfsumme ist, die sehr kurz ist (meist zwischen 128 und 168 Bit) und aus der der Originaltext nicht wieder errechnet werden kann. Durch ein Hash-Verfahren kann bewiesen werden, daß ein elektronisches Dokument (z.B. ein Text oder ein Programm) nicht verändert wurde. Für die Sicherheit von Hash-Verfahren ist deshalb entscheidend, daß es möglichst schwierig sein muß, einen anderen Text oder ein anderes Programm zu erzeugen, das eine identische Prüfsumme hat. Falls mehrere unterschiedliche Texte mit gleicher Prüfsumme bekannt sind, spricht man von einer Kollision. Ziel von Hash-Algorithmen ist deshalb die Kollisionsfreiheit.

Das zur Zeit am häufigsten verwendete Hash-Verfahren ist der Message Digest 5 (MD5). Als zur Zeit sicherstes Verfahren gilt der Secure Hash Algorithm (SHA-1), der von der amerikanischen National Security Agency (NSA) entwickelt wurde.

 Autor: cg
 Veröffentlichung: 23. September 2004
 Kategorie: Bericht
 Tags:

Schreibe einen Kommentar