Einführung in die Kryptografie

netplanet Werbung

Die Kryptografie ist von je her eine komplexe, hochmathematische und sensible Angelegenheit. Eine geheime Information sicher über ein unsicheres Medium zu übermitteln, beschäftigt die Menschheit bereits seit Jahrtausenden - mit unterschiedlichem Erfolg. Das Internet stellt Kryptologen und sicherheitsbedürftige Menschen vor neue Herausforderungen, denn erst mit dem dezentralen Internet, der Möglichkeit, online beispielsweise einzukaufen oder Behördengänge zu absolvieren, wird auch der normale Nutzer mit der Notwendigkeit an kryptografischen Mechanismen direkt konfrontiert.

Kryptografie als Wissenschaft und Notwendigkeit

Die Kryptografie ist die Wissenschaft der Informationsverschlüsselung und eine Teilmenge der Lehre der Kryptologie. Im Gegensatz zu einer anderen Teilmenge der Kryptologie, der Steganografie (siehe weiter unten), ist das Ziel der Kryptografie nicht, eine Informationsübermittlung lediglich zu verschleiern, sondern eine Information derart zu bearbeiten, dass sie vor dem Zugriff von Unbefugten geschützt und nur dem Absender und dem berechtigten Empfänger zugänglich ist.

An eine vertrauenswürdige Kommunikation werden drei grundlegende Anforderungen gestellt, die im übrigen auch in weiten Teilen der Informationstechnik gelten:

  • Authentizität
    Sicherstellung, dass eine Nachricht wirklich vom Absender stammt, der sich als Absender der Nachricht herausgibt. Erhält ein Kunde zum Beispiel eine Rechnung, so muss er davon ausgehen können, dass die Rechnung auch tatsächlich vom dem Absender stammt, von dem sie vorgibt, zu sein.
  • Vertraulichkeit
    Sicherstellung, dass eine Nachricht nur von der Person gelesen werden kann, für die die Nachricht vom Absender bestimmt ist. Eine Rechnung sollte also tatsächlich nur vom eigentlichen Empfänger geöffnet werden können.
  • Integrität
    Sicherstellung, dass eine Nachricht während dem Transport auf dem Übertragungsweg nicht verändert wird. Es darf also beispielsweise nicht passieren können, dass Beträge einer Rechnung durch Unbefugte ungemerkt geändert werden können.

Für viele Anwendungen werden nur eine oder einige Kriterien benötigt. Beispielsweise fällt bei einer elektronischen Signatur das Kriterium Vertraulichkeit weg, da eine elektronische Signatur nur die Authentizität und Integrität einer Nachricht garantieren soll, nicht die Vertraulichkeit. Ein umfassendes Verschlüsselungssystem wird jedoch im Idealfall alle diese drei Anforderungen abdecken.

Eine kurze und frühe Geschichte der Kryptografie

Die Kryptografie ist so alt wie der Willen der Menschheit, Information niederzuschreiben und zu kommunizieren. Die ersten Funde von kryptografischen Methoden finden sich im alten Ägypten in Hieroglyphen, die vom bekannten Satz von Hieroglyphen abweichten und offenbar als Geheimzeichen dienten. Später wurden Geheimschriften angewandt, mit denen Briefe abgefasst wurden, die nur jemand wieder entschlüsseln konnte, der wusste, wie die Geheimschrift funktionierte.

Geheimschriften erlebten eine Renaissance, als Ende des 19. Jahrhunderts die elektrische Kommunikation mit der Telegrafie aufkam. Telegrafenleitungen waren vergleichsweise einfach abhörbar und mit Geheimschriften konnten auch sensible Informationen über potentiell unsichere Medien übertragen werden. Diese Entwicklungen wurden immer weiter verfeinert, ebenso wie die kryptografischen Methoden immer weiter entwickelt wurden. Im Zweiten Weltkrieg wurde ein erheblicher Teil aller weit reichenden militärischen Befehle via Funk oder Draht elektrisch übermittelt und durch kryptografische Methoden gesichert. Während bis dato Kryptografie eine weitgehend manuelle Angelegenheit war, gab es nun mechanische Systeme wie die deutsche Verschlüsselungsmaschine Enigma, die eine schnelle Ver- und Entschlüsselung von zu übertragender Information bot (deren System jedoch im Laufe des Krieges durch britische Fachleute geknackt werden konnte).

Die moderne Kryptografie wird Ende der 40er Jahre des 20. Jahrhunderts durch einen Artikel namens Communication Theory of Secrecy Systems von Claude Shannon eingeleitet. In diesem Artikel wird dargelegt, dass die moderne Kryptografie vornehmlich auf mathematische Verfahren und Algorithmen basiert. Die aufblühende Computertechnik und nicht zuletzt der Kalte Krieg begründen die Notwendigkeit von komplexeren kryptografischen Ansätzen und Verfahren, die zu Beginn auch weiterhin stark militärisch geprägt sind und weitgehend im Geheimen entwickelt und genutzt werden.

Verschlüsseln versus Codieren

Moderne Verschlüsselungssysteme arbeiten, wie der Name schon herausklingen lässt, schlüsselbasiert, im Gegensatz zu kryptografischen Anwendungen, die ohne einen vom Benutzer änderbaren Schlüssel nur codieren. Eine codierende Kryptografieanwendung, die codierend arbeitet, ist beispielsweise das ShowView-System der Firma Gemstar zur Programmierung von Sendezeiten in Videorecorder.

In schlüsselbasierten Kryptografieanwendungen ist der Algorithmus und der individuelle Schlüssel getrennt. Das heißt, dass die Verschlüsselung in einem eigenen "Modul" erfolgt und der einzig variable und vom Benutzer geheim zu haltende Teil der Schlüssel ist. Diese Vorgehensweise hat den Vorteil, dass der Programmcode und die Vorgehensweise eines solchen Algorithmus gefahrlos veröffentlicht und durch Experten in so genannten Kryptoanalysen geprüft und bewertet werden kann, ohne dass damit mit diesem Algorithmus bereits verschlüsselte Informationen pauschal gefährdet werden, da zur Entschlüsselung eben noch der individuelle Schlüssel erforderlich ist, den der Anwender nur selbst kennt.

Dieses Prinzip der Trennung zwischen Algorithmus und Schlüssel wird auch als Kerckhoffs-Prinzip bezeichnet, erstmals formuliert vom niederländischen Militär-Kryptologen Auguste Kerckhoffs von Nieuwenhof (1835-1903):

Die Sicherheit eines Kryptosystems darf nicht von der Geheimhaltung des Algorithmus abhängen. Die Sicherheit gründet sich nur auf die Geheimhaltung des Schlüssels.

Kerckhoffs-Prinzip

Das Gegenteil des Kerckhoffs-Prinzip ist übrigens die Vorgehensweise Security by Obscurity, also "Sicherheit durch Vertuschen". Das mag auf den ersten Blick funktionieren und auch der Grundsatz der Steganografie sein (siehe auch weiter unten), in der Kryptografie ist dieser Ansatz jedoch fatal fehl am Platze. Durch Unterschätzung der Analysefähigkeit Dritter ist so manch als stabil geltendes Kryptosystem geknackt und damit verschlüsselte Information durch Dritte entschlüsselt worden. Einer der besten Beispiele ist hierbei die weiter oben bereits angesprochene Enigma-Verschlüsselungsmaschine.

"Schwache" und "starke" Verschlüsselung

Wird über Verschlüsselungssysteme, Algorithmen oder Schlüssellängen gesprochen, fallen früher oder später die klassifizierenden Begriffe "schwache Verschlüsselung" oder "starke Verschlüsselung". Damit ist gemeint, dass die Sicherheit einer verschlüsselten Nachricht grundlegend mit der Stärke einiger Verschlüsselungsparameter steht und fällt:

  • Die Kryptografieanwendung und die verwendeten Verschlüsselungsalgorithmen
    Bei einer Bewertung, ob eine Verschlüsselung als schwach oder als stark einzustufen ist, liegt ein sehr großer Augenmerk auf der Kryptografieanwendung und die von ihr genutzten Verschlüsselungsalgorithmen. Die Anwendung und die verwendeten Verschlüsselungsverfahren müssen nachweislich zuverlässig arbeiten und auch Analysen von Kryptoanalytikern standhalten können. Dazu gehört auch, den Programmcode entweder vollständig zu veröffentlichen oder zumindest berechtigten Personenkreisen zu Analysezwecken zur Verfügung zu stellen, damit eine unabhängige Bewertung möglich ist.
  • Das Übertragungsmedium
    Eine verschlüsselte Nachricht sollte zwar im Idealfall in jedem Übertragungsmedium sicher sein, dennoch gibt es hier vor allem Voraussetzungen, die die Integrität der verschlüsselten Nachricht betreffen, also eine Nachricht korrekt übertragen werden kann.
  • Der Schlüssel
    Dem Schlüssel kommt einer Verschlüsselung buchstäblich die größte Bedeutung zu und in vielen Definitionen von schwacher bzw. starker Verschlüsselung wird allein die Schlüssellänge als einziger oder zumindest größtes Kriterium angesehen.

    • Die Schlüssellänge
      Die Schlüssellänge definiert den Schlüsselraum, also die Anzahl der möglichen Schlüsselkombinationen. Die Schlüssellänge wird in Bit definiert, so dass beispielsweise ein Schlüssel mit einer Länge von 3 Bit einen Schlüsselraum von 8 verschiedenen Kombinationen aufweist. Dieser Raum verdoppelt sich pro weiterem Bit, so dass beispielsweise ein Schlüssel von 40 Bit Länge genau 1.099.511.627.776, also knapp 1,1 Billionen Kombination bietet. Das mag unvorstellbar hoch klingen und es hat in der Vergangenheit auch Jahre gedauert, so einen Schlüsselraum komplett durchzuprobieren (also alle möglichen Kombinationen an einer verschlüsselten Nachricht auszuprobieren, um den dazugehörigen Schlüssel zu finden), dennoch sind moderne Computer inzwischen in der Lage, auch einen sehr großen Schlüsselraum teilweise innerhalb weniger Stunden zu testen, wobei diese Geschwindigkeit im Laufe der Zeit immer größer wird, da immer mehr Computerpower zur Verfügung steht. Eine grundlegende Verbesserung besteht darin, den Schlüsselraum durch weitere Bit in der Schlüssellänge zu vergrößern; beispielsweise bietet ein Schlüssel mit einer Länge von 128 Bit dann schon einen Schlüsselraum von genau 340.282.366.920.938.463.463.374.607.431.768.211.456 (also über 340 Sextillionen). Das ist, zumindest aus der heutigen Sicht, tatsächlich unvorstellbar hoch; derzeit gibt es kein Computersystem, das einen Schlüsselraum dieser Größe in einer absehbaren Zeit durchprobieren kann.
    • Die Schlüsselentropie
      Die Entropie ist das Maß für den Informationsgehalt und der Zufälligkeit einer Information. Besitzt eine Information einen vollkommen zufälligen Inhalt und nutzt die volle Bandbreite eines Informationsraumes aus, beträgt die Entropie 1. Gibt es aber innerhalb einer Information statistische Regelmäßigkeiten, Wiederholungen oder gar fest definierte Bestandteile, sinkt der mögliche Schlüsselraum und damit auch die Entropie ab bis auf 0, wenn eine Information überhaupt keine zufälligen Bestandteile mehr besitzt.
    • Der Schutz des Schlüssels
      Ein wichtiger Aspekt kommt auch dem Schutz des Schlüssels zugute, denn dieser ist ein eminent wichtiger Teil der Verschlüsselung. Hier muss sichergestellt sein, dass der Schlüssel in einem Datenformat vorliegt, der einerseits die Integrität des Schlüssels sichert, andererseits auch den unbefugten Zugriff darauf, beispielsweise durch eine eigene Verschlüsselung und eine Absicherung durch ein Passwort.
  • Der Computer und sein Benutzer
    Bewertend kommt letztendlich auch der Computer und sein Benutzer hinzu, auf dem die Kryptografieanwendung läuft. Ist dieser Computer beispielsweise öffentlich zugänglich und nur unzureichend geschützt, besteht hier eine potentielle Gefahr, dass Verschlüsselungsparameter, beispielsweise Passwörter, abgehört werden könnten. Ebenso kann eine unbedachte oder missbräuchliche Nutzung der Kryptografieanwendung die Verschlüsselungsstärke entscheidend schwächen. Wird beispielsweise jeden Tag zu einer gleichen Zeit eine gleiche, bekannte und verschlüsselte Nachricht übertragen, so lässt diese Zahl an Bekannten die Verschlüsselungsstärke möglicherweise entscheidend schwächen. Die Verschlüsselung kann dann noch so stark sein, dennoch wären die verschlüsselten Informationen möglicherweise ungeschützt, weil eine Kryptoanalyse erheblich einfacher ist, wenn einige Unbekannte definierte Größen sind.

Kryptoanalysen

Die Kryptoanalyse ist die dritte Teilmenge innerhalb der Kryptologie und beschäftigt sich mit der Analyse von kryptografischen Anwendungen. Landläufig wird dies vor allem mit dem "Knacken" von Verschlüsselungssystemen und Kryptogrammen gleichgesetzt, also Methoden, um mit Analysen von Verschlüsselungsverfahren oder mit "roher Gewalt" Passwörter und/oder Schlüssel zu ermitteln, um so verschlüsselte Information zu entschlüsseln.

Aufgrund der Tiefe dieser Thematik sei die Kryptoanalyse nur der Vollständigkeit halber an dieser Stelle erwähnt. Zu näheren Informationen zum Thema Kryptoanalysen empfiehlt sich der gleichnamige Artikel in der Wikipedia (siehe Link am Ende dieses Artikels).

Verschlüsseln versus Verstecken

Oftmals wird der Begriff "Verschlüsseln" mit "Verstecken" verwechselt, sei es nun ungewollt oder beabsichtigt. Man mag zwar Dateien mit dem Vorgang des Verschlüsselns "verstecken" wollen, dennoch sind diese beiden Terminologien höchst unterschiedlich und zwei getrennte Wissenschaften innerhalb der Kryptologie. Die Steganografie hat deshalb nichts mit der Kryptografie zu tun, außer dass beide eben Teilmengen der Kryptologie sind.

Vom Verstecken (dem Steganografieren) spricht man in der Informationstechnik, wenn eine Informationsübertragung verschleiert werden soll. Der Informationsgehalt einer Nachricht wird also nicht beeinträchtigt, es wird durch das Steganografieren lediglich die Information verschleiert. Dies soll dabei möglichst so vonstatten gehen, dass diese Verwebung so unauffällig wie möglichst ist und nicht jedem ins Auge scheint, durch statistische Analyse oder durch bekannte Implementierungsfehler extrahiert werden können.

Ein Beispiel für eine klassische Steganografie-Anwendung ist das Schreiben eines Textes mit Geheimtinte auf einem ansonsten leeren Blatt Papier. Ist die Tinte getrocknet, ist der geschriebene Text nicht sichtbar notiert und kann erst sichtbar gemacht werden, wenn das "Gegenstück" der Geheimtinte angewandt wird, beispielsweise, je nach Geheimtinte, durch eine Ansicht des Blattes mit UV-Licht, die Anwendung einer Flüssigkeit, die die Geheimtinte wieder sichtbar macht etc. In der Computerwelt funktioniert Steganografie beispielsweise durch das Verstecken einer Information in einer Grafik oder einer Audiodatei. Für diesen Zweck gibt es eine Vielzahl von Programmen, die sich die Eigenschaft zunutze machen, dass kleine Fehler beziehungsweise Änderungen in solchen Grafik- oder Audiodateien nicht unbedingt sofort sicht- bzw. hörbar sind.

Diese Definition zeigt auch schon den fundamentalen Unterschied zwischen der Kryptografie und der Steganografie: Eine Information wird beim Verstecken nicht verändert, sie wird lediglich verschleiert oder einer anderen Information "untergejubelt", ist also nach wie vor vorhanden. Die Sicherheit der Information ist nur dadurch gegeben, wie unauffällig genug sie verwoben wurde. Beim Verschlüsseln wird hingegen durch bestimmte mathematische Algorithmen und Verschlüsselungsverfahren der Zustand der zu verschlüsselnden Information so verändert, dass die unbefugte Entschlüsselung unter Umständen, je nach Stärke und Aufwendigkeit der Verschlüsselung, erheblich länger dauert, wenn nicht gar fast unmöglich wird.

Um es noch einfacher auszudrücken: Wenn Sie eine brisante Nachricht an Ihre beste Freundin übertragen wollen, können Sie sie verschlüsseln; dann genügt es, die verschlüsselte Information (das Chiffre) auf eine Postkarte zu schreiben. Jeder darf das Chiffre sehen, denn es wird nur derjenige die Nachricht entschlüsseln können, der weiß, wie sie verschlüsselt wurde. Wenn Sie die Nachricht nur verstecken wollen, nehmen Sie zwei Postkarten, kleben diese aneinander und verstecken zwischen den beiden Postkarten ein Blatt mit der Nachricht. Sie haben dann ein Steganogramm.

Weiterführende Links

http://de.wikipedia.org/wiki/Kryptoanalyse
Wikipedia-Artikel über Kryptoanalyse

http://de.wikipedia.org/wiki/ShowView
Wikipedia-Artikel über ShowView

WERBUNG
Zum Beginn dieser Seite