Was ist eigentlich Kryptographie?

Im Folgenden geben wir Ihnen eine kleine Einführung in das Thema der Kryptographie:

 

Kryptographie und Steganographie

Mit Kryptographie bezeichnet man die Wissenschaft, Nachrichten (durch Verschlüsselung) geheim zu halten. Jemand, der eine verschlüsselte Nachricht abfängt, kann zwar vermuten, dass es sich um eine geheime Botschaft handelt, muss jedoch den zur Verschlüsselung verwendeten Schlüssel kennen oder in irgendeiner Weise ermitteln, um sie lesen zu können.

Steganographie hingegen dient dazu, zu verschleiern, dass es überhaupt ein Geheimnis gibt, indem die geheime Botschaft in einer anderen versteckt wird. Normalerweise schreibt dazu der Absender der Nachricht eine harmlos erscheinende Nachricht und versteckt in dieser (auf demselben Blatt Papier, in derselben E-Mail o. ä.) die geheime. In früheren Zeiten hat man das durch Benutzen von unsichtbarer Tinte, Markierung an bestimmten Buchstaben, kleine Unterschiede in der handschriftlichen Schreibweise verschiedener Buchstaben oder ähnliches versucht. Eine moderne Methode besteht darin, die Nachricht in digitalen Bildern zu verstecken, in dem beispielsweise das letzte Bit eines jeden Byte des Bildes durch ein Bit der Nachricht ersetzt wird. Den Unterschied wird man kaum bemerken, da die meisten Grafikformate mehr Farbschattierungen zulassen als das menschliche Auge unterscheiden kann. In einem Bild der Größe 1024x768 Pixel (früher übliche Bildschirmauflösung) mit 256 Farben pro Pixel (d. h. ein Byte pro Pixel) könnte man auf diese Weise eine Nachricht von 96 Kilobytes (etwa 20 bis 25 Schreibmaschinenseiten) unterbringen.

Kategorien von Verschlüsselungsverfahren

Es gibt drei Kategorien von Verschlüsselungsverfahren:

  • Symmetrische Verschlüsselungsverfahren
  • Asymmetrische Verschlüsselungsverfahren
  • Hybride Verschlüsselungsverfahren

 

Zur Vereinfachung der Schreibweise bezeichnet im folgenden V den zum Verschlüsseln und E den zum Entschlüsseln verwendeten Schlüssel.

Symmetrische Verschlüsselungsverfahren

Ein symmetrisches Verschlüsselungsverfahren (auch konventionelle Verschlüsselungsverfahren genannt) zeichnet sich dadurch aus, dass man E aus V berechnen kann (und umgekehrt), wobei meistens E und V übereinstimmen, d. h. es wird derselbe Schlüssel sowohl zum Ver- als auch zum Entschlüsseln verwendet. Um die Sicherheit der verschlüsselten Nachrichten zu gewährleisten, muss in diesem Fall deshalb E (bzw. V) geheim gehalten werden (Secret-Key-Algorithmus). Jeder, der über den Schlüssel verfügt, kann damit verschlüsselte Nachrichten dekodieren und lesen.

Das (paradoxe) Problem von Secret-Key-Algorithmen liegt darin, dass Sender und Empfänger sich vorher in sicherer Form auf einen Schlüssel einigen, d. h. einen sicheren Kommunikationsweg zum Austausch des Schlüssels finden müssen, ehe sie sicher miteinander kommunizieren können.

Asymmetrische Verschlüsselungsverfahren

Asymmetrische Verfahren versuchen das oben genannte Problem symmetrischer Verfahren zu umgehen, indem die zum Ent- bzw. Verschlüsseln verwendeten Schlüssel E bzw. V verschieden gewählt werden. Dabei soll es nicht möglich sein, aus V den Schlüssel E zu bestimmen, d. h. der zum Entschlüsseln verwendete Schlüssel soll sich nicht aus dem zum Verschlüsseln benutzten Schlüssel V ermitteln lassen. V verwendet man zum Verschlüsseln von Nachrichten an die betreffende Person. Dieser Schlüssel kann und sollte öffentlich zugänglich gemacht werden, quasi wie in einem öffentlichen Telefonbuch. Daher wird V auch öffentlicher Schlüssel und asymmetrische Verfahren Public-Key-Verfahren genannt. Auf diese Weise kann man Nachrichten an jemanden senden, ohne den Empfänger je persönlich getroffen und sich auf einen Schlüssel geeinigt zu haben, wie es bei symmetrischen Verschlüsselungsverfahren der Fall wäre. Public-Key-Verfahren lösen so das Dilemma der symmetrischen Secret-Key-Algorithmen (s. o.), die einen sicheren Kommunikationskanal zum Austausch des Schlüssels erfordern, ehe man sicher kommunizieren kann.

 

Das Verschlüsselungsprogramm PGP, das sich als Quasi-Standard insbesondere für den Austausch von verschlüsselter E-Mail etabliert hat, benutzt verschiedene Public-Key-Algorithmen, dessen Sicherheit auf der Annahme beruht, dass der private Schlüssel nur ermittelt werden kann, indem eine im Algorithmus verwendete große Zahl mit mehreren hundert Dezimalziffern in ihre beiden Primfaktoren zerlegt wird, und dass andererseits dieses Problem in gewissem Sinne "schwierig" ist, d. h. erst nach einem Zeitraum gelöst werden kann, der (je nach Größe des verwendeten Schlüssels) bei den bislang bekannten Algorithmen und Techniken viele Jahre länger als die restliche "Lebensdauer" des Universums beträgt. Forschungsarbeiten der respektiertesten Mathematiker auf diesem Gebiet lassen vermuten, dass ein Durchbruch bei Faktorisierungsalgorithmen nicht zu erwarten ist. Schlüssel mit einer Größe von 1024 oder gar 2048 Bits befinden sich derzeit weit außerhalb der Reichweite auch der technologisch am besten ausgestatteten Organisationen der Welt, selbst wenn diese sich gemeinsam bemühen würden. Der aktuellste Algorithmus ist der AES – Advanced Encryption Standard. 

Wenn man nun eine verschlüsselte Nachricht an jemanden schicken möchte, benutzt man dessen öffentlichen Schlüssel V, den man z. B. von dem Empfänger persönlich bekommen oder sich aus einem öffentlichen Schüsselverzeichnis besorgt hat, zum Verschlüsseln der Nachricht. Die verschlüsselte Nachricht kann nur derjenige entschlüsseln, der den zugehörigen privaten Schlüssel E hat, also der Empfänger selbst. Auch der Absender selbst kann die verschlüsselte Nachricht also danach nicht mehr lesen, es sei denn, er verschlüsselt die Nachricht zusätzlich an sich selbst!

Dreht man dieses Vorgehen um, so können Public-Key-Verfahren auch zum Signieren von Dokumenten verwendet und so als Mittel benutzt werden, um z. B. über das Internet rechtsgültige Verträge zu schließen (siehe dazu auch das Signaturgesetz). Dazu wird aus dem zu unterschreibenden Text mittels einer sogenannten Hash-Funktion ein kurzer (wenige Zeichen langer) Extrakt der Nachricht derart ermittelt, dass sich nicht ohne erheblichen Aufwand eine Nachricht finden ließe, die denselben Extrakt liefert. Dieser Extrakt wird mit dem privaten Schlüssel E verschlüsselt und der Nachricht angehängt. Jeder, der den öffentlichen Schlüssel V des Absenders hat, kann nun mit diesem überprüfen, ob der entschlüsselte Extrakt mit dem berechneten Extrakt übereinstimmt und so die Authentizität der Nachricht und die Identität des Absenders prüfen, denn nur dieser hat den geheimen Schlüssel, um diesen verschlüsselten Extrakt zu erzeugen.

Das Problem bei Public-Key-Verfahren liegt nun darin, dass man nicht sicher sein kann, dass ein öffentlicher Schlüssel wirklich zu dem in der Benutzer-ID des Schüssels genannten Absender gehört, solange man den Schlüssel nicht persönlich erhalten hat. Nehmen wir an, Benutzer B hätte seinen öffentlichen Schlüssel zu einem öffentlichen Verzeichnis hinzugefügt. Ein Angreifer A könnte nun den echten öffentlichen Schlüssel von B durch seinen eigenen ersetzen und als (falsche) Benutzer-ID die von B angeben. Wenn Benutzer C an B, den er nicht kennt, eine Nachricht schicken möchte, so sucht er im öffentlichen Schlüsselverzeichnis nach dem Schüssel von B, den er auch gefunden zu haben glaubt, obwohl es sich um den Schlüssel von A handelt. C verschlüsselt dann die Nachricht mit dem vermeintlichen Schlüssel von B und schickt diese an ihn. Wenn A nun auf dem Kommunikationsweg zwischen B und C die Nachricht abfängt - bei E-Mail-Verkehr im Internet könnte er z. B. an einem derjenigen Rechner die Mail herausfiltern, die letztere auf dem Weg von B zu C durchläuft -, so kann er diese entschlüsseln (schließlich hat er den passenden privaten Schlüssel), lesen und danach entweder vernichten oder gar mit dem wirklichen Schlüssel von B verschlüsseln, an diesen weiterleiten und weder B noch C haben bemerkt, dass jemand mitliest (sogenannte Man-in-the-Middle-Attack).

Zur Lösung dieses Problems benötigt man sogenannte Trust Center. Diese überprüfen, je nach Zertifikatklasse auf unterschiedliche Weise, die Identität der Schlüsselinhaber und bestätigen als Zertifizierungsinstanz durch eine (digitale) Unterschrift unter dem betreffenden öffentlichen Schlüssel, dass der Schlüssel wirklich zu demjenigen gehört, der in der Benutzer-ID angegeben ist. Derzeit findet die Überprüfung entweder nur per E-Mail statt (Class 1-Zertifikat) oder aber zusätzlich durch Überprüfung des Personalausweises ("Passport"-Zertifikat) oder anderen geeigneten Verfahren, um die Identität eindeutig festzustellen.

Hybride Verschlüsselungsverfahren

Leider sind auch asymmetrische Verschlüsselungsverfahren nicht der Weisheit letzter Schluss. Sie können die symmetrischen Verfahren nicht ersetzen, sondern nur ergänzen. Das hat zweierlei Gründe:

Public-Key-Verfahren sind im Vergleich zu symmetrischen Algorithmen extrem langsam; letztere sind um den Faktor 1000 (!) und mehr schneller.

Public-Key-Verfahren sind verwundbar gegenüber Angriffen, wenn nur eine begrenzte Anzahl von Klartextblöcken mit hoher Wahrscheinlichkeit zur Auswahl steht, die den betreffenden Block des verschlüsselten Textes ergeben können. Ein Angreifer verschlüsselt dann alle in Frage kommenden Klartextblöcke mit dem bekannten öffentlichen Schlüssel und vergleicht das Ergebnis mit dem Block des verschlüsselten Textes solange, bis er eine Übereinstimmung gefunden hat. Das ist eine mit brachialer Gewalt durchgeführte Abart einer sogenannten "Chosen-Plaintext-Attack", mit der zwar nicht der geheime Schlüssel, wohl aber die ursprüngliche Nachricht ermittelt werden kann.

Um die Vorteile der Public-Key-Verfahren zu erhalten, gleichzeitig aber das letztgenannte Problem zu umschiffen und die höhere Geschwindigkeit der symmetrischen Algorithmen zu nutzen, kombiniert man diese zu hybriden Verschlüsselungsverfahren.

Anstatt die gesamte Nachricht mit Hilfe des Public-Key-Verfahrens zu verschlüsseln, erzeugt man für jede Nachricht einen zufälligen Schlüssel (sogenannter Session Key) für das symmetrische Verfahren, verschlüsselt nur diesen mit dem Public-Key-Verfahren, und fügt den so verschlüsselten Session Key an die mit dem symmetrischen Verfahren (unter Benutzung des Session Keys) verschlüsselte Originalnachricht an. Damit wird der oben beschriebene Angriff praktisch unmöglich, weil die Anzahl der zur Auswahl stehenden und sämtlich gleich wahrscheinlichen symmetrischen Schlüssel viel zu groß ist, als dass sie alle als Klartextblock des Public-Key-Verfahrens ausprobiert werden können.

Weitere Interessante Informationen finden sich im Internet unter den in diesem Text mehrfach verwendeten „Schlüssel“-Wörtern sowie in den Handbüchern der PGP Produkte, die einen umfangreichen, gut verständlichen Einblick in die gesamte Thematik geben.

Lesen Sie hierzu auch die PGP Einführung in die Kryptographie.

Zertifikate:

Zertifikat ist ein allgemeiner Ausdruck für elektronische Schlüssel, die entweder zur Verschlüsselung, zur Identifikation, zur Signierung oder zu einer Kombination davon genutzt werden. Die bekanntesten Zertifikate sind die SSL-Zertifikate, die bei Webservern zur sicheren, verschlüsselten Kommunikation verwendet werden und zudem auch noch nachweisen, dass die besuchte Webseite und der genutzte Service tatsächlich die Originale sind und die Webseite dem eingetragenen Inhaber auch wirklich gehört. Bei jeder Kommunikation mit einer Webseite, bei der es um persönliche Daten geht, Geschäfte oder Zahlungen getätigt werden, sollte diese Kommunikation verschlüsselt und sicher sein.

Das geschieht völlig automatisch und ohne Benutzereingaben. Lediglich an einem kleinen Symbol, dem "geschlossenen Schloss", meist oben in der URL-Leiste angezeigt, kann man erkennen, dass die Verbindung verschlüsselt ist. Durch einen Klick auf das Schlosssymbol erhält man weitere Informationen über das Zertifikat, den Besitzer und die CA (Certificate Authority), welche das Zertifikat nach Überprüfung aller Angaben des Antragstellers signiert und damit für gültig erklärt hat.

 

Bei der Beantragung von Zertifikaten unterstützen wir Sie gerne.

Zurück zu den Lösungen

Onlinepräsentationen

Nutzen Sie die Erfahrung unserer Consultants und schauen sich unsere Lösungen in Live-Online-Demonstrationen an.

Lösungsüberblick

Lösungsüberblick
Network Security Intrusion Prevention Endpoint Security Management DLP, Port- und Device Management Risk- & Vulnerability Management, Complience Allgemeines Sicherheitsmanagement IT Notfall Management Gateway & Content Security Verschlüsselungstechnologien Mitarbeiterschulung & Awareness Consulting & Supportvereinbarungen