Einführung in die Kryptographie (Teil 1)
Einst den Militärs und der hohen Diplomatie vorbehalten, prägt Kryptographie in immer stärkerem Maß unser Alltagsleben. Das gilt nicht bloß fürs Online-Banking oder den Remote-Zugriff auf Firmennetze, die ohne die Nutzung von Techniken wie SSL und VPN praktisch nicht mehr vorstellbar sind: Selbst dort, wo wir sie zunächst nicht vermuten, sind heutzutage Verschlüsselungsmechanismen im Einsatz, zum Beispiel bei den elektronischen Wegfahrsperren in unseren Autos oder wenn wir das Handy einschalten und uns beim Mobilfunknetz unseres Providers anmelden.
Aber auch in den aktuellen Debatten über die ausufernden Phishing-Attacken und das Digital Rights Management spielt Kryptographie eine tragende Rolle!
Kurz: Kryptographie ist aus unserer vernetzten Wissens- und Informations-Gesellschaft nicht mehr wegzudenken, und jeder, der sich darin zurechtfinden will, sollte zumindest einige ihrer Grundprinzipien kennen.
Im folgenden Artikel wird ein Basiswissen über Kryptographie und die dazu notwendigen Sicherheits-Infrastrukturen vermittelt.
Grundlagen der Kryptographie
Am einfachsten erläutern lassen sich diese am Beispiel der Verschlüsselung. Deren Ziel besteht darin, Daten in einer solchen Weise einer mathematischen Transformation zu unterwerfen, dass es einem Unbefugten unmöglich ist, die Original- aus den transformierten Daten zu rekonstruieren. Damit die verschlüsselten Daten für ihren legitimen Benutzer dennoch verwendbar bleiben, muss es diesem aber möglich sein, durch Anwendung einer inversen Transformation aus ihnen wieder die Originaldaten zu generieren. Die Originaldaten bezeichnet man als Klartext (clear text, plain text, message), die transformierten Daten werden Schlüsseltext (Chiffretext, Chiffrat, Kryptogramm, cipher text) genannt. Die Transformation heißt Verschlüsselung, ihre Inverse folglich Entschlüsselung.
Das generelle Ziel der Verschlüsselung kann folgendermaßen formuliert werden: Die Entschlüsselung darf nur dem legalen Empfänger/ Besitzer der übermittelten/ gespeicherten Informationen möglich sein, nicht jedoch anderen Personen im Extremfall nicht einmal dem Absender selbst, der die Information verschlüsselt hat. Dieses Ziel lässt sich offensichtlich genau dann erreichen, wenn nur der legale Empfänger/ Besitzer die zur Entschlüsselung benötigten Information - wie den Algorithmus als auch abhängig vom Verfahren den Schlüssel - kennt und es ohne diese Kenntnis nicht möglich ist, die ursprüngliche Information aus dem Schlüsseltext zu bestimmen. Es wäre also auf den ersten Blick ausreichend, wenn Sender und Empfänger eine nur ihnen bekannte Transformation untereinander absprechen und die Kenntnisse darüber geheim halten (s. Abb. 1).

Einfachste mögliche Vorgehensweise bei einer Verschlüsselung
Dieser Ansatz ist jedoch aus drei Gründen nicht praktikabel:
- Definition und Realisierung eines Verschlüsselungs-Algorithmus erfordern einen erheblichen Aufwand. Dieses Argument wiegt umso schwerer, als es von Zeit zu Zeit notwendig ist, die Verschlüsselung zu wechseln. In diesem Fall müsste ein neuer Algorithmus entwickelt werden.
- Zumindest theoretisch ist es jedem Unbefugten (im Folgenden: Angreifer) möglich, aus der Struktur der verschlüsselten Daten mittels geeigneter Verfahren, der sog. Kryptoanalyse, den Klartext oder die zur Verschlüsselung bzw. Entschlüsselung verwendete Transformation abzuleiten, also die Verschlüsselung zu brechen. Umgekehrt lässt sich der Gegenbeweis, dass ein insbesondere willkürlich gewählter Algorithmus gegen solche Attacken hinreichend gesichert ist, nur schwer führen. Der Einsatz solcher individuellen Verfahren bietet also zu wenig Schutz.
- Damit die gewünschte Vertraulichkeit gewahrt bleibt, muss also für jeweils zwei Partner ein separater Verschlüsselungs-Algorithmus zur Verfügung stehen. Der mit deren Entwicklung, Übermittlung, Aufbewahrung und Geheimhaltung verbundene Aufwand ist organisatorisch kaum zu bewältigen und wirtschaftlich nicht vertretbar.
Als Lösung dieser Probleme bietet sich an, zur Verschlüsselung nur einige wenige Algorithmen einzusetzen, deren Sicherheit erwiesen ist. Um dennoch die Forderung nach einer Vielzahl von Verschlüsselungsverfahren zu erfüllen, kann man diese zusätzlich von einem Parameter abhängig machen, dem so genannten Schlüssel, der den Ablauf der Transformation so stark beeinflusst, dass ohne seine Kenntnis keine Entschlüsselung möglich ist (s. Abb. 2).

Grundlegende Vorgehensweise bei einer sicheren Verschlüsselung
Bleibt dieser Schlüssel geheim, so kann der Verschlüsselungs-Algorithmus selbst durchaus publik gemacht werden; dies sollte sogar der Regelfall sein, da sich dessen Sicherheit nur in einer öffentlichen Diskussion hinreichend beweisen lässt.
No Security by Obscurity
Diese Betrachtungsweise hat unter Mathematikern, die sich wissenschaftlich mit Verschlüsselung befassen, eine lange Tradition und geht zurück auf den niederländischen Linguisten und Kryptologen Auguste Kerckhoffs von Nieuwenhof, der 1883 in seiner Abhandlung La Cryptographie militaire einige Grundsätze für schlüsselbasierte Verfahren entwickelte, von denen einer noch heute als Kerckhoffs-Prinzip bekannt ist:
Die Sicherheit eines Kryptosystems darf nur von der Geheimhaltung der Schlüssel, aber nicht von der Geheimhaltung der Verfahren abhängig sein.
Dennoch sind noch immer wesentliche Einsatzfelder von Kryptographie durch den gegenteiligen Ansatz geprägt, der oft mit Security by Obscurity (Sicherheit durch Geheimhaltung) bezeichnet wird, von dem sich die Entwickler entsprechender Verfahren eine stärkere Sicherheit erhoffen. Ein Beispiel für geheime Verfahren stellen die Kryptoalgorithmen des Bundesamtes für Sicherheit in der Informationstechnik (BSI) dar, die zum Schutz der geheimen Informationen der Bundesrepublik Deutschland genutzt werden; ein ebenfalls recht kritisches Beispiel sind die bei der zurzeit meistverbreiteten Mobilfunktechnik GSM eingesetzten Algorithmen A3, A8 und A5/1. Diese gelten schon seit ca. 7 Jahren nicht mehr als sicher und sind mit moderner Technik leicht zu brechen.
Ob diese Herangehensweise einer Überprüfung Stand hält, darf indes mit einigem Recht bezweifelt werden: Denn die Entwicklung neuer kryptographischer Verfahren ist äußerst schwierig, weswegen die wenigen auf diesem Gebiet tätigen Fachleute ihre Arbeit in der Regel einem fachkundigem Publikum vorstellen. Dieses bewertet zunächst die theoretische Stärke des vorgestellten Verfahrens, also die Wahrscheinlichkeit, dass es durch eine so genannten Kryptoanalyse gebrochen (kompromittiert) wird. Erst wenn ein Verfahren einige Jahre nicht gebrochen wurde gilt es als sicher und darf sich dann praktisch bewähren.
Analyse und Einschätzung von Kryptosystemen
Algorithmus und Schlüssel bilden zusammen ein so genanntes Verschlüsselungs- oder Kryptosystem. Für die Analyse derartiger Systeme gibt es verschiedene grundlegende Strategien, aus denen sich Anforderungen an die Qualität ableiten lassen.
- Brute-Force-Methode
Die vollständige Suche (Brute-Force-Methode) besteht im Wesentlichen im Ausprobieren aller möglichen Schlüsselkombinationen. Bei einem Known-Plaintext-Angriff verschlüsselt man z. B. den bekannten Klartext in jeder möglichen Weise und vergleicht den entstehenden Schlüsseltext mit dem bekannten Original. Bei einer Schlüssellänge von 128 Bits gibt es 2^128 verschiedene Kombinationen, die ausprobiert werden müssen. Unter der Voraussetzung, dass eine Operation 1 * 10^-9 s benötigt, dauert die vollständige Suche 5,3 * 10^19 Jahre, d. h. solche Verfahren sind praktisch sicher.
Forderung: Der Schlüssel muss lang genug gewählt werden.
- Trial-and-Error-Methode
Bei der Trial-and-Error-Methode wird die vollständige Suche dadurch reduziert, dass man aus dem gesamten Schlüsselraum Teilräume herausgreift, in denen der gesuchte Schlüssel vermutet wird. Dies ist etwa der Fall, wenn es viele äquivalente Schlüssel mit übereinstimmenden Eigenschaften gibt (z.B. Vornamen, Spitznamen etc.). Beispiel: Es werden als Schlüssel nur darstellbare ASCII-Zeichen verwendet, also die Ziffern 0 bis 9 sowie alle Klein- und Großbuchstaben des lateinischen Alphabets insgesamt 62 verschiedene ASCII-Zeichen, die in 5 Bit codiert werden können. Damit reduziert sich die Zahl der möglichen Kombinationen auf 2^80 und damit die Entschlüsselungszeit.
Forderung: Eine qualitative Schlüsselgenerierung ist sehr wichtig.
- Statistischen Methoden
Bei den statistischen Methoden versucht der Analytiker, statistische Strukturen wie z.B. Buchstaben- oder Worthäufigkeiten einer Sprache im Chiffrat wieder zu finden, um dadurch an den Klartext zu gelangen.
Forderung: Ein Verschlüsselungs-Verfahren muss solche Angriffe nach Möglichkeit ausschließen.
- Short-Cut-Methode
Die Strukturanalyse des Kryptosystems (Short-Cut-Methode) ist immer nur auf ein spezielles Kryptosystem zugeschnitten. Sind alle Parameter außer dem Schlüssel bekannt, versucht der Analytiker mit ihrer Hilfe eine Funktion aufzustellen, mit der sich der Klartext berechnen lässt. Das kann z. B. dann schnell zum Erfolg führen, wenn er den Schlüsseltext, den verwendeten Algorithmus und die Struktur des Originaldokuments kennt.
Forderung: Ein Verschlüsselungs-Verfahren muss mindestens fünf Jahre öffentlich diskutiert werden, bevor es als sicher gelten kann.
Anhand der hier vorgestellten Verfahren lassen sich Kryptosysteme in zwei Kategorien einteilen solche, die absolute, und solche, die rechnerische oder praktische Sicherheit bieten. Absolute Sicherheit liegt vor, wenn es auch theoretisch unmöglich ist, das System zu brechen. Diese Anforderung erfüllen zurzeit nur Einmal-Schlüssel-Verfahren mit definierten Eigenschaften. Die rechnerische oder praktische Sicherheit ist dagegen bereits dann gegeben, wenn die Kompromittierung so viel Rechenzeit bzw. Speicherplatz erfordert, dass der damit verbundene Aufwand einem jeden Kryptoanalytiker sinnlos erscheinen muss. Dies ist z.B. bei allen Verfahren der Fall, die sich nur mit der Brute-Force-Methode brechen lassen. Ob ein Kryptosystem dieser Anforderung genügt, kann durch eine mathematische Analyse der Komplexität festgestellt werden.
Ein Wettlauf um die Sicherheit
Für die Sicherheit einer Verschlüsselung sind vier Faktoren ausschlaggebend: der verwendete Algorithmus, die Schlüsselgenerierung, die Schlüssellänge sowie die Aufbewahrung des Schlüssels. Bei symmetrischen Verschlüsselungs-Verfahren geht man heute davon aus, dass die praktische Sicherheit gegeben ist, wenn die Schlüssellänge 128 Bit beträgt.
Um einen solchen Schlüssel zu ermitteln, sind 2^128 Versuche nötig. Damit stößt man auf ein praktisches Problem, denn mit den derzeitigen Ressourcen ist die Berechnung in einer angemessenen Zeit nicht möglich. Da aber die Rechenleistung von Computern ständig wächst, müssen auch die Schlüssellängen von Zeit zu Zeit angepasst werden: Gegenüber den vor zehn Jahren gebräuchlichen Verfahren wie DES hat sich diese inzwischen verdoppelt, im Jahr 2016 werden wir möglicherweise 256-Bit-Schlüssel wie z.B. AES benötigen.
Gesetzliche Anforderungen an Schlüssellängen
Neben den technischen Möglichkeiten bestimmt auch der Gesetzgeber, welche Verschlüsselungsverfahren als sicher gelten, wobei dieser i. d. R. recht allgemeine Anforderungen formuliert, die per Verordnung konkretisiert werden. In Deutschland sind diese im Signaturgesetz (SigG) sowie in Anlage 1 Abschnitt I Nr. 2 der Signaturverordnung (SigV) niedergelegt. Ob ein Verschlüsselungs-Verfahren und die zugehörigen Parameter als sicher gelten können, legt danach die Bundesnetzagentur (BNetzA) fest. Für die technische Überprüfung ist das Bundesamt für Sicherheit in der Informationstechnik (BSI) zuständig, das internationale Standards zugrunde legt und mit Experten aus Wirtschaft und Wissenschaft zusammenarbeitet. Die BNetzA hat die Ergebnisse z.B. am 23. März 2006 im Bundesanzeiger Nr. 58, S. 1913-1915, veröffentlicht. Dort finden sich eine Liste geeigneter Verfahren mit ihren Schlüssellängen sowie Angaben zum Zeitraum des sicheren Einsatzes und Empfehlungen für den Einsatz längerer Schlüssel.

Empfehlungen für Schlüssellängen vom BSI am Beispiel des RSA-Verfahrens
Zu den Autoren:
Prof. Dr. Norbert Pohlmann ist Informatikprofessor für Verteilte Systeme und Informationssicherheit sowie geschäftsführender Direktor des Instituts für Internet-Sicherheit der Fachhochschule Gelsenkirchen.
E-Mail:
norbert.pohlmann at informatik.fh-gelsenkirchen.de
Dipl.-Inform. (FH) Malte Hesse ist wissenschaftlicher Mitarbeiter am Institut für Internet-Sicherheit der Fachhochschule Gelsenkirchen.
E-Mail:
hesse at internet-sicherheit.de
-
Datenlecks verhindern
Kaum eine Woche vergeht, in der nicht ein neuer Fall von Datenpannen bekannt wird. Eine... -
Sicherheit in ERP-Systemen
Systeme für die Planung und das Controlling von Einkauf, Warenwirtschaft und Produktion –... -
Zusammenführung von Context & Content Awareness: Mehr Effizienz in der Endpoint-DLP
In der unternehmensinternen Informationssicherheit dominiert in den letzten Jahren der... -
%^ef$g73$5r(@!! – Über Verschlüsselung und Algorithmen
Was ist Verschlüsselung? Es gibt viele Definitionen dieses Begriffs. Manche sind detailliert und... -
Sicherheit im elektronischen Geschäfts- und Behördenverkehr (2)
Webmailer - Eine Alternative zum Versand mittels Internetmail ist die Bereitstellung der...

Artikel versenden
Druckversion





