Sicherheit in Netzen

Prof. Jürgen Plate
Dipl.-Ing. Jörg Holzmann

5 Kryptologie

Kryptologie ist die Lehre vom Verschlüsseln (Kryptographie) und Entschlüsseln (Kryptoanalyse). Sie ist wesentliche technische Grundlage für die Sicherheit und den Datenschutz in offenen Informations- und Kommunikationssystemen. Andererseits ist sie ein Gebiet, in dem viele Teile der Mathematik plötzlich im Zentrum außermathematischer Anwendungen stehen.

Verschlüsselung ist ein wesentlicher Bestandteil moderner Informationssicherheit. Chiffrierung, Kryptierung, Codierung, Kryptografie. Es gibt viele Worte für Verschlüsselung. Kryptografie kommt vom griechischen Kryptos und Logos und meint "verstecktes Wort". Man unterscheidet Kryptografie und Kryptoanalyse. Der Kryptologe entwickelt Verfahren, um die Sicherheit von Informationen zu gewährleisten. Der Kyptoanalyst versucht, Verschlüsselungssysteme zu brechen. Dieses Kapitel beschäftigt sich mit einigen Grundlagen der Kryprologie mit Blick auf die Anwendung bei der Netzwerkadministration.

5.1 Kryptologie-Grundlagen

Verschlüsselungsmechanismen sind historisch gesehen immer wieder Angriffen ausgesetzt gewesen und mußten deshalb mit fortschreitender Technologie laufend verbessert werden. Das war und ist ein nie endender Kreislauf. Man weiß, daß heute als sicher anzusehende Verschlüsselungsverfahren irgendwann einmal unsicher sind.Verschlüsselungsmechanismen bestehen heute aus einem mathematischen Algorithmus und einem (manchmal auch zwei) Schlüssel. Hinzu kommt, daß der Anwender von Verschlüsselung dem Verfahren vertrauen können muß. Im allgemeinen kann der Nachweis über die Sicherheit eines Kryptoverfahrens niemals vollständig geführt werden, und zwar in dem Sinne, daß es ohne Kenntnis des Dechiffrierschlüssels, auch mit stärkstem Computereinsatz, in der realen Welt nicht möglich ist, den Ursprungstext innerhalb einer bestimmten Zeit zu rekonstruieren. In der Theorie gibt es nur ein Kryptosystem, das unter dem Namen "One-Time-Pad" bekannt ist, und das als absolut sicher gilt. Aber in der Praxis ist es eher schwerfällig, da der Schlüssel nur einmal verwendet werden kann, ohne die Sicherheit des Systems zu verletzen. In einigen Fällen ist es möglich, den Nachweis darüber zu bringen, daß die Auflösung des Kryptosystems gleichwertig mit dem Lösen eines besonderen mathematischen Problems ist, wie z. B. das Problem der Faktorisierung von großen Zahlen. ("groß" bedeutet hier, daß es sich um Zahlen von mehreren hundert Stellen handelt). Wenn viele Mathematiker über viele Jahre hinweg erfolglos an der Lösung dieses Problems gearbeitet haben, dann gibt es Anlaß zu der Vermutung, daß ein Kryptosystem, das auf diesem Problem basiert, als sicher angesehen werden kann. Man hat deshalb vor etwa 30 Jahren begonnen, Algorithmen zu veröffentlichen, weil man wollte, daß sie analysiert und gegebenenfalls angegriffen werden. Natürlich ist die Veröffentlichung von Algorithmen ein Risiko, weil ein Geheimnis preisgegeben wird. Nachdem ein Algorithmus publiziert war, erhielt der Schlüssel als einzige geheime Information die wichtige Funktion, die Sicherheit zu gewährleisten. Angreifer kennen den Algorithmus. Die einfachste Art der Kryptoanalyse ist es, einem unachtsamen Anwender den Schlüssel zu entlocken. "Brute Force"-Attacken (also der Versuch, alle mögliche Schlüssel so lange zu testen, um irgend einen Chiffriertext zu entziffern, bis der Schlüssel gefunden ist) können zum Vergleich von Kryptosystemen herangezogen werden, da sich die durchschnittliche Zeit, die für eine erfolgreiche Brute-Force-Attacke aufgewendet werden muß, aus dem Produkt der Hälfte der Anzahl aller möglichen Schlüssel mit der Zeit ergibt, die für den Test eines einzigen Schlüssels nötig ist. Es leuchtet ein, daß ein Kryptosystem gegenüber einer Brute-Force-Attacke anfällig ist, wenn die Größe des mit dem Kryptosystem assoziierten Schlüsselraumes (d.h. die Menge aller möglichen Schlüssel) klein ist. Besitzt das Kryptosystem hingegen einen großen Schlüsselraum, ist eine Brute-Force-Attacke nicht mehr sinnvoll. Im allgemeinen kann die Sicherheit eines Kryptosystems nur durch seinen Widerstand gemessen wenn, den es den aktuellen Versuchen in der Praxis entgegenstellt, die das System aufbrechen wollen. Diejenigen, die geknackt worden sind, haben offensichtlich keine Sicherheit. Diejenigen Systeme, die der Aufmerksamkeit von vielen Kryptoanalytikern über viele Jahre Widerstand geleistet haben, sind zur Sicherheit verurteilt, zumindest solange, bis bessere Methoden der Krypotanalyse erfunden werden. Um ein Kryptosystem als stark einzuschätzen, sollte es die folgenden Eigenschaften besitzen:

Es gibt viele legitime Gründe, Information zu schützen, z.B.:

  1. Firmen besitzen oft Datenbanken über ihre Angestellten, die vertraulichen Schutz geniessen, wie etwa medizinische Aufzeichnungen, Gehaltslisten usw. Angestellte würden sich sicherer fühlen, wenn sie wissen, daß diese Dateien verschlüsselt und für eine beiläufige Inspektion durch Büroangestellte, die mit der Aufgabe der Dateneingabe betraut sind nicht zugängig sind.
  2. Personen teilen möglicherweise den Arbeitsplatz mit anderen, über deren Vertrauenswürdigkeit sie sich nicht im Klaren sind, und sie könnten eine Absicherung haben wollen, daß im Fall ihrer Abwesenheit niemand etwas herausfinden kann, indem er in ihrer Festplatte herumschnüffelt.
  3. Eine Firma möchte sensible Geschäftsdaten zwischen zwei Orten, etwa den Zweigstellen, übertragen. Oder sie könnte die Absicht haben, vertrauliche Informationen (z.B. Verhandlungspositionen, Verfahrensweisen oder Eigentumsnachweise) an einen Bereichsagenten (unter Umständen ins Ausland) zu senden. Wenn die Information vor der Versendung verschlüsselt wird, dann braucht sich niemand darüber Sorgen machen, ob diese Sendung abgefangen werden kann, denn die verschlüsselten Daten sind unverständlich (ohne den Dechiffrierschlüssel).
  4. Ein Mitbewerber hat Interesse an Informationen aus der eigenen Firma, z. B. Forschungsresultate, Kunden, Formeln und Rezepturen oder Details über Herstellungsprozesse, zukünftige Fusions- und Expansionspläne oder Pläne für die Entwicklung neuer Produkte.
  5. Eine Person oder eine Firma beabsichtigen, einen Computer, der sensible Informationen enthält, an einen entfernten Ort zu transportieren, ohne sich Gedanken darüber machen zu müssen, ob der Computer während seiner Reise untersucht wird.
  6. Außendienstmitarbeiter sollen ans Firmennetz angebunden werden, verwenden aber unsichere Übertragungswege (Telefonnetz, Internet).
  7. Zwei Personen haben vielleicht die Absicht, über private Dinge per E-Mail zu korrespondieren.

Verschlüsselung ist somit der zentrale und vielseitige Schutzmechanismus. Verschlüsselung ist bei den folgenden Sicherheitsfunktionen beteiligt:

Diese vier Kriterien müssen erfüllt sein, wenn eine optimale Datensicherheit gewährleistet sein soll. Für jedes Kriterium gibt es eigene Lösungsmöglichkeiten, die Kunst liegt aber darin, mit einem Verschlüsselungssystem möglichst alle vier Kriterien gleichzeitig zu erfüllen.

Benutzerauthentisierung

Benutzer von Computern zur lokalen oder entfernten Bearbeitung und Speicherung von Informationen müssen sich als berechtigte Personen ausweisen, um Zugang zu erhalten. Das Thema wurde bereits in Kapitel 3 ausführlich besprochen, deshalb erfolgt hier nur eine kurze Zusammenfassung. Die Zugriffskontrolle wird heute überwiegend mittels Benutzerkennung und Paßwort durchgeführt.Neben dem bekannten Paßwort wierden zunehmend PIN-Codes, Smart-Cards oder biometrische Merkmale eingesetzt.

Datenauthentisierung

Man unterscheidet die beiden Authentisierungsarten
  1. Datenauthentisierung und
  2. Authentisierung des Absenders.
Daten können in Computersystem und auf Kommunikationswegen von Unberechtigten Personen verändert werden. Ein großes Problemm stellt die Tatsache dar, daß man eine Manipulation oft nicht erkennen kann. Durch auf Verschlüsselung basierende Integritätsprüfungen von Daten kann man Manipulationen zwar nicht verhindern, aber erkennen. Für den Empfänger einer Information ist es wichtig zu wissen, wer sie abgesandt hat denn jeder könnte sich als ein anderer ausgeben und dessen Rolle übernehmen. Das ist nicht nur bei Nachrichten wichtig. Besonders, wenn es um kaufmännische Vorgänge wie z. B. Bestellungen oder Zahlungen geht, ist eine eindeutige Authentisierung des Datenabsenders notwendig.

Integritätsprüfung der Daten

Die Integritätsprüfung ist immer im Zusammenhang mit der Prüfung des Datenabsenders zu sehen. Das ausforschen von Daten, beispielsweise durch "Abhören" der Leitung ist ausschließlich eine Frage der Kosten. Das Lesen und Ändern von Nachrichten ist schwieriger als nur Lesen. Bei jeder Form von Kommunikation sollte die Frage der Erhaltung der Datenintegrität selbstverständlich sein. Denken Sie daran, daß Personen existieren könnten, denen jeder Geldaufwand recht ist, um dem Wettbewerber Schaden zuzufügen oder an sein Wissen heranzukommen. Und vergessen Sie nicht: Information ist mittlerweile zu einem der wichtigsten Produktionsfaktoren avanciert.

Authentisierung des Absenders einer Nachricht

Man muß sicherstellen, daß die Person, die behauptet, Urheber einer Nachricht zu sein, sie auch wirklich ist. Dazu ein Beispiel: Ein unbekannter Dritter (Bad Boy) sendet eine Information an B und gibt vor, sie kommt von A oder A sendet eine Information an B. Der unbekannte Dritte fängt sie ab, ändert sie und sendet sie weiter an B.
Obwohl die Datenauthentisierung aus zwei Komponenten besteht wird sie mit einem Mechanismus durchgeführt. Aus der Menge der Bits einer Information wird eine Prüfsumme (Hash) errechnet die mit dem geheimen Schlüssel (Public-Key-Verschlüsselung, siehe später) des Absenders verschlüsselt wird. Sie wird mitgesandt. Der Empfänger ermittelt dieselbe Prüfsumme und verschlüsselt sie mit dem öffentlichen Schlüssel des Absenders. Stimmen beide Prüfsummen überein, sind die Integrität der Information und ihr Ursprung bewiesen. Das ist das Prinzip der digitalen Signatur, die später näher erläutert wird.

Verbindlichkeit von Daten

Sie soll sicherstellen, daß der Urheber einer Information (z.B. einer Bestellung) diese nicht leugnen kann. In der Welt von Kugelschreiber und Papier übemimmt diese Funktion die handgeschriebene Unterschrift. Ein Sicherheitssystem muß durchgängig die Beweisbarkeit des Ursprungs einer Information sicherstellen. Dazu gehört neben der oben beschriebenen Datenauthentisierung auch die sorgfältige Schlüsselgenerierung, die gewährleistet, daß kein anderer persönliche geheime Schlüssel kennen kann. Deshalb werden Schlüssel möglichst vom Benutzer selbst generiert. Hinzu kommen Zertifikate, die eine vertrauenswürdige Stelle (Trust Center) ausgestellt hat und die untrennbar mit der Identität des Besitzers verbunden sind. Zertifikate enthalten unter anderem die Benutzerkennung, den öffentlichen Schlüssel ihres Besitzers und ein Gültigkeitsdatum. Sie sind mit dem geheimen Schlüssel des Trust Centers signiert und können von jedem Empfänger auf ihre Echtheit überprüft werden. Sie dienen der Verbindlichkeit signierter Nachrichten.

Vertraulichkeit von Daten

Die Wahrung der Vertraulichkeit ist die älteste und bekannteste Funktion der Verschlüsselung. Heute spielt diese Form der Verschlüsselung neben der Benutzerauthentisierung eine große Rolle, vor allem in der Wirtschaft. Vertraulichkeit wird auch vom Datenschutzgesetz gefordert. Maßnahmen zum Schutz der Vertraulichkeit können Wirtschafts- oder Konkurrenzspionage wirksam verhindern. Mit einem Verschlüsselungsmechanismus wird ein Text (Klartext) in einen unverständlichen Schlüsseltext umgewandelt. Der Empfänger eines Schlüsseltextes wandelt diesen mit demselben Verschlüsselungsmechanismus in Klartext zurück. Der Schlüssel ist alles, was ein Teilnehmer in einer verschlüsselten Kommunikation benötigt. Er ist unbedingt geheimzuhalten. Die verwendeten Verfahren und Programme sollten
  1. ausreichend sicher sein und
  2. keine absichtlichen Hintertüren (Trap Doors) enthalten, die eine unberechtigte Entschlüsselung der Daten ermöglichen würden.
Moderne Verschlüsselungssysteme basieren auf einem Schlüssel, d.h. es wird ein einheitliches Programm zur Ver- und Entschlüsselung verwendet, das zum Ver- und Entschlüsseln einen Schlüssel benötigt. Dieser Schlüssel beeinflußt aktiv den Verschlüsselungsalgorithmus des Programms und erzeugt eine verschlüsselte Datei. Ein Schlüssel besteht aus einer Abfolge von Bits. Während die ersten Generationen von Verschlüsselungsmechanismen mit Schlüsselgrössen von 40 bis 56 Bits arbeiteten, arbeiten heutige Mechanismen in der Regel mit 128 Bits, PGP beispielsweise sogar mit Schlüssel von bis zu 2.048 Bits. Zum Vergleich: In Frankreich benötigten 1997 120 zusammengeschaltete Computer einen Monat, um einen Schlüssel zu knacken, der eine Länge von lediglich 40 Bit aufwies.

Es gibt bei der Verschlüsselung zwei grundsätzlich unterschiedliche Ansätze:

5.2 Symmetrische Verschlüsselung

In symmetrischen Verschlüsselungsverfahren existiert ein Schlüssel, der gleichzeitig beim Absender zum Ver- und beim Empfänger zum Entschlüsseln einer Nachricht verwendet wird. Symmetrische Verschlüsselungsalgorithmen sind sehr schnell und auch sehr sicher, wenn z. B. ein Schlüssel nur für den Datenaustausch zwischen zwei Personen verwendet wird und er über einen sicheren Weg weitergegeben wird (z. B. direkte Schlüsselübergabe vom Hand zu Hand). Die Schwierigkeiten beginnen, wenn der Schlüssel nicht so ohne weiteres persönlich an den Empfänger übergeben werden kann. Kommt ein Unbefugter in den Besitz des Schlüssels, kann er alle Nachrichten entschlüsseln, die mit diesem Schlüssel codiert wurden und auch eigene Nachrichten mit diesem Schlüssel codieren und sich selbst als Absender ausgeben. Das bekannteste symmetrische Verschlüsselungsverfahren ist der DES ("Data Encryption Standard"), der in den 70er Jahren von IBM entwickelt wurde und mit einer Schlüssellänge von 56 Bit arbeitet. Zur Verschlüsselung gibt es u. A. folgende, teilweise Jahrhunderte alte, Verfahren:

Ein klassisches Verfahren ist ROT13, eine Verschiebechiffre auf dem Alphabet {A, ..., Z}, die bei E-Mail und Usenet-News-Nachrichten verwendet wird. Es wird jeder Buchstabe durch denjenigen ersetzt wird, der im Alphabet 13 Stellen weiter steht. Als Hilfe dient die Tabelle

A B C D E F G H I J K L M
N O P Q R S T U V W X Y Z

Als Verschlüsselung ist das trivial; der Zweck ist, bestimmte Textteile, etwa anstößigen Inhalts, vor der direkten Lesbarkeit zu schützen - das Lesen ist dann ein bewusster Akt. Da 13 + 13 = 26, stellt die doppelte Verschlüsselung den Klartext wieder her, anders ausgedrückt: Verschlüsselung = Entschlüsselung.

Eines der bekanntesten moderenen Verfahren ist der DES Algorithmus (Data Encryption Standard), der bei der ISO als DEA-1 bezeichnet wird. Hier wird ein Text in Blöcke von 64-Bit-Binärworten eingeteilt und blockweise mit einem 56-Byte Schlüssel verschlüsselt. Dazu wird auf den Klartext 16mal eine Kombination von Substitution und Permutation angewandt. Der Algorithmus wurde später weiterentwickelt zum 3-fach DES (Triple DES), hier wird mit zwei Schlüsseln gearbeitet. Der Test wird mit Schlüssel 1 verschlüsselt, mit Schlüssel 2 entschlüsselt und wieder mit Schlüssel 1 verschlüsselt. RC2 und RC4 sind Verschlüsselungsalgorithmen mit variabler Schlüssellänge. Die Algorithmen sind in einer Reihe kommerzieller Produkte verfügbar (Netscape, Novell Netware, Lotus Oracle ...). Die Verschlüsselungsgeschwindigkeit hängt nicht von der Schlüssellänge ab. Üblicherweise wird eine Schlüssellänge von 128 Bit verwendet, für den Export wird die Schlüssellänge auf 40 Bit beschränkt. Ein weiteres bekanntes Verfahren ist der 1990 entwickelte IDEA-Algorithmus. Mit einer Schlüssellänge von 128 Bit werden Blocks von 64 Bit Länge verschlüsselt. Hierbei wird durch bitweises Exclusiv-Oder, durch Addition mod 216 (65536) sowie Multiplikation modulo 216+1 (65537) ein verschlüsselter Text erzeugt. IDEA gilt als sicherer als DES oder sogar Triple DES.

5.3 Asymmetrische Verschlüsselung

In asymmetrischen Verschlüsselungsverfahren existieren zwei verschiedene, gleichlange Schlüssel, die mathematisch miteinander zusammenhängen, der "Private Key" und der "Public Key":

Beide Schlüssel stehen in einem komplexen mathematischen Zusammenhang. Asymmetrische Verschlüsselungsverfahren arbeiten deutlich langsamer als symmetrische, sind jedoch auch in Mehrnutzerumgebungen (z. B. Netzwerke oder das Internet) sicher, da der Schlüssel zur Entschlüsselung immer beim Eigentümer verbleiben kann und er niemandem bekannt sein muß.

Den interessantesten Ansatz, der auch schon rege benutzt wird, stellt ein mathematisches Verfahren dar, das auf Verwendung von Methoden der Restklassenalgebra (auf Primzahlen) basiert. Entwickelt wurde dieses Verfahren von den Amerikanern Rivest, Shamir und Adleman, die auch ein Patent auf einen entsprechenden Algorithmus haben (RSA-Algorithmus).

Ein anderes Verfahren ist DSA (Digital Signature Algorithm). Während RSA universell einsetzbar ist, ist DSA nur für digitale Signaturen einsetzbar. Es gibt zwei wesentliche Anwendungen:

In einer bestehenden Verbindung können auch beide Verfahren gleichzeitig zur Anwendung kommen, dann benötigen Sender und Empfänger zwei entsprechende Schlüsselpaare. Basis für die Berechnung von Schlüsseln sind möglichst große Primzahlen (100 bis über 200 Bits), wobei das Produkt dieser Primzahlen Teil der Schlüssel ist. Es wird vorausgesetzt, daß es genauso schwierig ist, einen mit einem Public Key verschlüsselten Text mit demselben Schlüssel wieder zu entschlüsseln, wie die Zerlegung des Produkts zweier Primzahlen zu finden. Ein Angriffspunkt ist jedoch die Verbreitung des öffentlichen Schlüssels. Man kann seinen öffentlichen Schlüssel in einer Datei speichern, die man dann an seine Freunde weitergeben oder im Internet veröffentlichen kann. Was aber, wenn ein Fremder einen öffentlichen Schlüssel unter Ihrem Namen veröffentlicht? Eine mit diesem Schlüssel chiffrierte Nachricht kann dann nur von dem Fremden gelesen werden und nicht von Ihnen.

Im folgenden wird gezeigt, wie man prinzipiell die Schlüssel berechnen kann: Wissen Sie aus Ihrer Schulzeit noch, was Primzahlen sind? Das sind Zahlen, die nur durch sich selbst und durch 1 teilbar sind. Also z. B. 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, aber auch 28 + 1 = 257 und 216 + 1 = 65537. Machen Sie es sich einfach und nehmen Sie die Primzahlen p=13 und q=19. Damit ergibt sich das Produkt

n = p*q = 247

Um den Public Key zu finden, wird noch die Funktion

s = (p-1)*(q-1)

benötigt, hier ergibt sich s zu 12 * 18 = 216. Nun wählt man einen Public Pey (e,n) so, daß e und s keinen anderen gemeinsamen Teiler besitzen als die Zahl 1. Hier könnte z.B. e = 5 zufällig gewählt werden. Der Public Key ist in diesem Beispiel damit (5,247). Ein Private Key (d,n) wird nun so gewählt, daß der Rest der ganzzahligen Division von d*e/s den Wert 1 ergibt. Hier kann z.B. d = 173 gewählt werden. Damit ist der Private Key (173,247). Sind die Schlüssel generiert, werden p und q vernichtet Verschlüsselt wird nun die Nachricht im Klartext, z. B. ein ASCII-Zeichen mit dem Wert 12:

5.4 Hybride Verschlüsselungsverfahren

Aufgrund der Langsamkeit des asymmetrischen und die Verwundbarkeit des symmetrischen Verfahrens, ist man dazu übergegangen, in Verschlüsselungssysteme beide Verfahren zu kombinieren. Prinzipiell wird in hybriden Verschlüsselungsverfahren die zu verschlüsselnde Datei zunächst mit einem symmetrischen Verschlüsselungsverfahren bearbeitet und der dazu verwendete Schlüssel mit einem asymmetrischen Verschlüsselungsverfahren nachbearbeitet. Auf die Weise ist die verschlüsselte Datei genauso sicher, wie bei einem herkömmlichen symmetrischen oder asymmetrischen Verfahren. Die gesicherte Kommunikation läuft dann in vier Schritten ab:
  1. Zunächst wird durch eine zufällige Generierung ein Sitzungsschlüssel (wird nur dieses eine Mal verwendet) für das symmetrische Verschlüsselungsverfahren erzeugt.
  2. Dann wird dieser Sitzungsschlüssel mit Hilfe des öffentlichen Schlüssels des Empfängers verschlüsselt. Hierdurch wird ein gesicherter Kanal für den Schlüsselaustausch des asymmetrischen Verfahrens geschaffen.
  3. Letztlich werden die eigentlichen "Nutzdaten" mittels des Sitzungsschlüssels mit symmetrischen Verfahren chiffriert und das Ganze an den Empfänger übertragen.
  4. Der Empfänger entschlüsselt zunächst den Sitzungsschlüssel mit Hilfe seines privaten Schlüssels für das asymmetrische Verfahren und kann dann mit diesem Schlüssel die chiffrierte Nachricht entschlüsseln und einsehen.

Diffie und Hellmann gehen beispielsweise den Weg, lediglich den Schlüsselaustausch über ein asymmetrisches Verfahren zu realisieren, bei dem Verfahren für die Verschlüsselung der Daten gehen sie aber von einem symmetrischen Verfahren aus. Philip Zimmermann vom MIT hatte das RSA-Verfahren mit anderen kryptographischen Methoden kombiniert. Herausgekommen ist das leicht zu bedienende Freeware-Programm "pretty good privacy" (PGP), das inzwischen weltweit verbreitet ist und überall einen hervorragenden Ruf genießt.

Natürlich gibt es kein absolut sicheres kryptographisches Verfahren. Auch das von Public-Key-Verfahren hat Sicherheitsrisiken. Da wäre zum einen die Verwaltung der Schlüssel. Selbstverständlich ist, daß Sie keinem anderen Menschen den Zugang zu Ihrem privaten Schlüssel erlauben. Sollte jemand nun in den Besitz Ihres Paßwortes gelangen, so kann er alle Ihre Dateien entschlüsseln und Ihre elektronische Signatur benutzen.

Ein weiterer Angriffspunkt ist die Verbreitung des öffentlichen Schlüssels. Sie können Ihren öffentlichen Schlüssel in einer Datei speichern, die Sie dann an Ihre Freunde weitergeben oder im Internet veröffentlichen können. Was aber, wenn ein Fremder einen öffentlichen Schlüssel unter Ihrem Namen veröffentlicht? Eine mit diesem Schlüssel chiffrierte Nachricht kann dann nur von dem Fremden gelesen werden und nicht von Ihnen. Am besten wäre es, wenn es eine vertrauenswürdige Institution gäbe, die eine Art Telefonbuch der öffentlichen Schlüssel führen würde. Leider wird es diese Institution auf absehbare Zeit nicht geben. Also müssen Sie sicherstellen, daß ein von Ihnen benutzter öffentlicher Schlüssel auch wirklich der gewünschten Person gehört.

Einen weiteren Angriffspunkt gibt es zumindest theoretisch. Mit enormem Rechenaufwand ist es möglich, aus dem öffentlichen Schlüssel den dazugehörigen privaten Schlüssel auszurechnen. In der Praxis gibt es niemanden, der eine solche Rechenkraft zur Verfügung hat, denn selbst auf den momentan leistungsfähigsten Rechnern der Welt würde das Knacken eines Schlüssels der geringsten Sicherheitsstufe noch mehrere Wochen benötigen.

Beispiel: Mail-Verschlüsselung mit PGP

Vergleich mit Ein-Schlüssel-Verfahren (z.B. DES)

Nachteil: Geheimer Schlüssel muß beiden Verbindungspartnern bekannt sein.

Verfahren mit öffentlichem Schlüssel (z. B. PGP) Versenden von verschlüsselter Mail:

Zum Weiterlesen: Manuela Jürgens: PGP - Briefumschläge für Ihre Emails

5.5 Digitale Signaturen

Zur Verwendung für Signaturen besteht das Problem, daß ein großer Aufwand getrieben wird, wenn die gesamte Nachricht verschlüsselt werden muß. Abhilfe schafft die Verwendung sogenannter Einweg-Prüfsummen (oder "Message Digests" bzw. "One Way Hash"-Funktionen) h=H(M), wobei M die Nachricht ist (M für Message). Ein solcher Message Digest besitzt (unabhängig vom Umfang der zu sichernden Nachricht) eine feste Länge m (wie z.B. 64 oder 128 bit, das National Institute of Standards and Technology NIST empfiehlt 160 bit für Hashfunktionen). Damit werden die Verschlüsselungs- und Entschlüsselungszeiten gegenüber der Zeit zur Verschlüsselung der ganzen Nachricht erheblich verkürzt. Um fälschungssichere Nachrichten zu senden, muß ein Message Digest so generiert werden, daß folgende Eigenschaften erfüllt sind:

Sehr oft ist auch noch eine weitere Eigenschaft, die sogenannte Kollisionsresistenz erforderlich: Es ist schwierig, zwei beliebige Nachrichten M und N zu finden mit H(M) = H(N) Der entsprechende Message Digest identifiziert damit eindeutig eine bestimmte Nachricht, er liefert sozusagen einen eindeutigen Fingerabdruck. Das folgende Beispiel zeigt, was geschieht, wenn die Kollisionsresistenz nicht erfüllt ist:

Es gibt verschiedene Einweg-Hashfunktionen. Die bekanntesten sind:

Digitale Signatur und Public Key Verfahren werden häufig kombiniert und gewährleisten damit Sicherheit und Authentizität.

Beispiel: Elektronische Unterschrift mit PGP:

  1. Der Absender einer Nachricht verschlüsselt mit seinem privaten Schlüssel eine persönliche Notiz (= digitale Unterschrift).
  2. Der Empfänger erhält vom Absender dessen öffentlichen Schlüssel.
  3. Nun kann der Absender am Ende jeder seiner Nachricht seine digitale Unterschrift anhängen.
  4. Der Empfänger kann mit dem öffentlichen Schlüssel des Absenders dessen digitale Unterschrift verifizieren.

---------BEGIN PGP SIGNATURE-------
Vesion: 2.6.2i

iQB1AwUBMALA1zhgfzaigfhdfgakgpfhbvf35iztikahffhkfdfgflgfgGRFG
hdfgfgfgf9trerzutibvie04374ggisezrfwjegrrvyaaSDE7e4378723EEaq
hdc<23adsfqe124da<dafbbbigfb££hvdfvedfvd
=8e>Asd
---------END PGP SIGNATURE---------

5.6 Zertifikate

Auch mit modernen Verschlüsselungsverfahren ist die Verbindlichkeit der Nachricht ohne zusätzliche Massnahmen nicht kontrollierbar. Deshalb muß ein öffentlicher Schlüssel "vertrauenswürdig" eingestuft werden, wenn damit wirklich sicher kommuniziert werden soll. Am sichersten ist diese Vertrauenswürdigkeit herzustellen, indem der Empfänger dem Absender seinen Public-Key persönlich überreicht und gleichzeitig seinen Personalausweis vorzeigt. Dies ist jedoch z. B. bei Online-Shops nicht realisierbar. Deshalb gibt es "Certificate Authorities" (CA), die eine solche "Zertifizierung" vornehmen. Sie überprüfen die Identität des Absenders und unterschreiben als Nachweis den Public-Key des Besitzers mit ihrem eigenen Private-Key und garantieren so die Identität. Zur weiteren Sicherheit sind alle Zertifizierungen zeitlich befristet und müssen regelmässig wiederholt werden. Zusätzlich werden alle unterschriebenen Zertifikate von der CA veröffentlicht. Die Vertrauenswürdigkeit einer CA wird anhand von gesetzlichen Grundlagen und stichprobenartigen Überprüfungen gesichert.

Besitzer einer Website können sich bei einer Zertifizierungsstelle ein Site-Zertifikat ausstellen lassen, das in die Serversoftware integriert wird und geschützte Verbindungen zu der Site ermöglicht. Entsprechend ausgerüstete Browser können dann diese gesicherten Seiten genauso nutzen wie normale Webseiten. Diese Technologie namens SSL ("Secure Sockets Layer") wurde von Netscape entwickelt (siehe Kapitel 8). Darüberhinaus gibt es im SSL-Verfahren noch eine zusätzliche Möglichkeit der Client-seitigen Authentifizierung, zum Beispiel anwendbar für Server, zu denen nur bestimmte Rechner einen Zugang haben sollen: Hier muß auch der Client ein Zertifikat besitzen und dieses mit dem Server austauschen. Der Server hat dabei die Möglichkeit, eine sichere Verbindung zu verweigern, wenn das Zertifikat des Clients nicht akzeptiert wird.

Der wichtigste Standard für digtale Zertifikate ist der X.509 Standard. Ein X.509 Zertifikat, das Alice an Bob schicken kann, muß folgende Informationen enthalten:

Nachdem verschiedene Algorithmen für digitale Signaturen verwendet werden können, muß der benutzte Algorithmus ebenfalls angegeben werden. Zudem haben Zertifikate oft eine begrenzte Gültigkeit. Zertifikate können bei Mißbrauch von der austellenden CA widerrufen werden. Sie veröffentlich dazu eine sogenannte Certificate Revocation List (CRL), die periodisch aktualisiert wird. Jeder Teilnehmer einer Kommunikation, der ein Zertifikat erhält kann anhand dieser Liste überprüfen, ob es noch gültig ist. Für jedes Schlüsselpaar (private und public key) wird ein eigenes Zertifikat ausgestellt. Wenn genügend Personen einer bestimmten Certificate Authority vertrauen, läßt sich so eine ganze Hierarchie von gesicherten Verbindungen realisieren. Wichtig zu wissen ist, daß nicht der Besitz eines Zertifikats ausschlaggebend für den Nachweis einer Identität ist (Zertifikate sollen ja frei verteilt werden können), sondern der Nachweis, daß man im Besitz des private keys ist, der zum im Zertifikat genannten public key gehört.

5.7 Schlüsseltausch

Es wurde bisher gezeigt, daß asymmetrische Verschlüsselung auf einen sicheren Übertragungskanal zum Austausch von Schlüsseln verzichten kann. Auf der anderen Seite aber sind asymmetrische Verschlüsselungsverfahren wesentlich aufwendiger als symmetrische. Daher werden gerade zur Verschlüsselung langer Nachrichten nach wie vor gerne symmetrische Verschlüsselungsverfahren bevorzugt. Hier stellt sich aber, wie bereits gesagt, das Problem des Schlüsseltausches vor der eigentlichen Nachrichtenübertragung. Der häufigste Weg, eine gesicherte Verbindung aufzubauen, ist, daß einer der Kommunikationspartner (z.B. Bob) einen secret key an den anderen Kommunikationspartner (Alice) überträgt, in dem er ihn mit dem public key von Alice verschlüsselt. Für die eigentliche Dauer der Kommunikationsbeziehung wird nun als Sitzungsschlüssel der secret key verwendet.
Hier ist allerdings noch zu klären:
  1. Wie der Sitzungsschlüssel generiert wird
    Der Sitzungsschlüssel kann entweder durch Bob selbst erfolgen und dann auf geeignetem Weg zu Alice transportiert werden (z.B. verschlüsselt mit dem public key von Alice) oder aber durch das Einschalten einer neutralen Stelle, mit der beide Kommunikationspartner vorab einen Schlüssel vereinbart haben.
  2. Wie Bob den public key von Alice erhält
    Bob kann den public key entweder von Alice selbst oder aus einer Datenbank für public keys eines Dritten (Trust Center oder CA) erhalten haben Die letztere Variante hat den Vorteil, daß eine Kommunikation auch mit einem anderen (auch bisher unbekanntem) Gesprächspartner erfolgen kann, wenn derjenige einen public key besitzt, der dem Trust Center bekannt ist.
  3. Wie Bob sicher sein kann, daß er überhaupt mit Alice kommuniziert
    Hier müssen entsprechende Verfahren zur Verteilung öffentlicher Schlüssel zum Einsatz kommen oder einen Mechanismus geben, mit dem nachgewiesen werden kann, daß die Verteilung richtig erfolgt ist.

Eine mögliche Variante des Schlüsseltauschs für symmetrische Schlüssel ist das Diffie-Hellmann-Verfahren. Es funktioniert wie folgt:

  1. Bob und Alice einigen sich auf zwei natürliche Zahlen s und p, wobei p eine große Primzahl ist und s < p. s und p können auch öffentlich bekannt sein.
  2. Bob wählt nun eine sehr große Zahl a < p-1, Alice entsprechend b < p-1. Diese Zahlen werden geheimgehalten.
  3. Bob berechnet A = sa MOD p und Alice berechnet B = sb MOD p. Dann schickt jeder dem anderen sein Ergebnis.
  4. Bob berechnet k = Ba MOD p und Alice berechnet k' = Ab MOD p. k bzw. k' ist der gemeinsame Schlüssel.
Eläuterung: Es gilt
Ab MOD p = (sa)b MOD p = sab MOD p
und
Ba MOD p = (sb)a MOD p = sba MOD p
sowie
k' = sba MOD p = sab MOD p = k

Die Partner können k direkt als Schlüssel verwenden oder aus k den Schlüssel eines symmetrischen Verfahrens errechnen.

Statt einer direkten Kommunikation gibt es die Möglichkeit für den Generation oder aber auch nur den Austausch von Schlüsseln eine dritte Stelle einzuschalten, der beide vertrauen. Diese Stelle wird als Schlüsselverteilungszentrum (Key Distribution Center KDC), Trusted Authority (TA) oder Trust Center bezeichnet. Beispielsweise kann sich nun einer der Kommunikationspartner (Bob) an das Trust Center wenden, um einen Sitzungsschlüssel für die Kommunikation mit einem anderen Teilnehmer (Alice) zu erhalten. Dieser wird vom Trust Center generiert und in zwei Versionen (jeweils verschlüsselt mit den öffentlichen Schlüsseln von Bob und Alice) an Bob gesandt. Bob decodiert seinen Sitzungsschlüssel und sendet die zweite Version an Alice, der seine Version des Sitzungsschlüssels ebenfalls dekodiert. Damit kann der Sitzungsschlüssel für die nachfolgende Kommunikationsbeziehung verwendet werden.

Eines der grundsätzlichen Probleme bei der Verteilung von public keys ist das Problem, eine Vetrauenskette zu bilden. PGP geht beispielsweise davon aus, daß jeder Benutzer seine eigenen Kriterien hat, nach denen er anderen zertifizierten Schlüsseln vertraut und wie weit er diesen Zertifikaten vertraut. PGP erlaubt daher eine beliebige Verflechtung von Zertifikaten. Ein Benutzer signiert nun zunächst seinen public key selbst und kann nun seinen Schlüssel mit beliebigen anderen E-Mail Teilnehmern austauschen und deren Schlüssel ebenfalls signieren. Im Lauf der Zeit ergibt sich eine Sammlung unterschiedlichster Schlüssel und Zertifikate die als Key Ring bzw. Schlüsselbund bezeichnet wird. Zu jedem Schlüssel wird gespeichert ein Zertifikat gespeichert, das festhält, mit welchem Algorithmus der Schlüssel erzeugt wurde (RSA, DSS etc.) und welcher Vertrauensumfang diesem Zertifikat entgegengebracht wird. Über den Vertrauensumfang wird sozusagen festgelegt, ob man einer estimmten Person zutraut, das Verfahren zur Zertifizierung von Schlüsseln zu beherrschen oder nicht. Je nach Version von pgp werden unterschiedliche Verschlüsselungsverfahren und Algorithmen verwendet.

Beispiel: E-Mail-Verschlüsselung mit PGP (Kommadozeilenversion)

Um die Verschlüsselung mit PGP zu ermöglichen muß natürlich zunächst ein Schlüselpaar erzeugt werden. Dies kann mit dem Befehl "pgp -kg" geschehen. Nach dem Kommandoaufruf muß man noch einige Informationen angeben, welche die Erzeugung des Schlüssels betreffen. Man muß die Schlüssellänge (sinnvoller Wert: 1024 Bit), Namen und E-Mail-Adresse angeben. Diese Information wird in den Schlüssel codiert, damit der Schlüssel einer Person zugeordnet werden kann. Als nächstes wird nach einer "Pass Phrase" gefragt. Diese Phrase ist ein Passwort oder ein Satz (PGP erlaubt auch Leerzeichen). Diese Pass Phrase schützt den privaten Schlüssel vor unerlaubter Benutzung. Um den Schlüssel zu erzeugen, benötigt PGP noch einige Zufallszahlen, die PGP aus der Zeit zwischen den Tastaturanschlägen berechnet. Deshalb fordert PGP jetzt zur Eingabe eines beliebigen Textes auf. Dann wird das Schlüsselpaar erzeugt.

Das erzeugte Schlüselpaar ist bei UNIX im Verzeichnis $HOME/.pgp/ zu finden. Der geheime Schlüssel befindet sich in der Datei secring.pgp (secret key ring) und der öffentliche Schlüssel in der Datei pubring.pgp (public key ring). Die Datei pubring.pgp kann an alle weitergegeben werden, die einem mit PGP verschlüsselte E-Mails schreiben wollen. Der "Schlüsselbund" kann mit dem Befehl pgp -kvv angezeigt werden. Bei diesem Befehl wird immer der Inhalt der Datei $HOME/.pgp/pubring.pgp angezeigt. Mit pgp -kvv $HOME/.pgp/secring.pgp kann auch der Inhalt vom geheimen Schlüsselbund angezeigt werden. Um den eigenen öffentlichen Schlüssel weitergeben zu können, muß man zunächst den Schlüssel als ASCII-Text exportieren. Dies ist mit dem Befehl pgp -kxa <userid> möglich. Diesen ASCII-Text kann man dann per E-Mail verschicken oder auf der eigenen Homepage zum Download anbieten.
Folgende Kommandos sind zum Verschlüsseln und Signieren notwendig:

Am sinnvollsten ist es natürlich, eine E-Mail zu verschlüsseln und gleichzeitig zu signieren. Wird beim Entschlüsseln auch eine Signatur gefunden, wird diese automatisch überprüft.

Bei vielen Mail-Programmen wird inzwischen PGP direkt eingebunden und erlaubt so die automatische Ver- und Entschlüsselung (unter UNIX, Linux und Windows). Auch bei der Verwendung von Microsft-Outlook und Microsoft-Exchange-Servern empfiehlt sich die Verwendung von PGP, denn auch wenn man bei Outlook die Option "verschlüsselt übertragen" wählt, wird zwischen Arbeitsplatz und Exchange-Server unverschlüsselt übertragen.

5.8 Steganographie als Verschlüsselungstechnik

Immer wieder wird von Politikern darüber debattiert, ob Kryptoverfahren wie PGP reglementiert werden sollen, damit unser 'Großer Bruder' trotzdem mitlesen kann. Die Reaktion der Computerleute darauf war die Wiederbelebung der Steganographie. Damit bezeichnet man den verdeckten Gebrauch eines Verfahrens, mit dessen Hilfe eine Botschaft in einem scheinbaren Klartext versteckt wird. Neben den Daten selbst bleibt damit im Gegensatz zu anderen Techniken auch die Tatsache des Verschlüsselns selbst geheim. Steganographie (wörtlich: 'verdecktes Schreiben') ist die Wissenschaft vom Verstecken von Daten. Ein einfaches Verschlüsselungsprinzip sieht man beispielsweise an folgendem Postkartentext:

Liebe Bea,
ich geniesse nun den Urlaub hier auf dieser Insel im Atlantik. Das Wetter gut, die Unterkunft toll, ebenso das exotische Essen. Super! Gruß, Heini.

Die enthaltene Botschaft läßt sich entziffern, indem man die Buchstaben bis zum nächsten Leerzeichen - also einschließlich Satzzeichen - zählt und folgende Regel anwendet: 'Ist die Anzahl ungerade, ergibt sich eine 0, sonst eine 1'. Mit dieser Vorschrift ergeben die ersten acht Wörter 01010011, was dezimal 83 entspricht und nach der ASCII-Tabelle den Buchstaben S ergibt. Die nächsten acht Wörter 01001111 (79, Buchstabe O) und die letzten acht Wörter wieder 01010011 (also den Buchstaben S). Im Gegensatz zum positiven Ton des Postkartentextes liest man nun 'SOS' heraus. Ähnlich einfache Verfahren zum Verstecken von Nachrichten in Texten basieren auf dem Buchstaben an einer verabredeten Position eines jeden Wortes oder darauf, ob ein Leerzeichen vor einem Satzzeichen steht oder nicht. Auch mathematische oder chemische Formeln eignen sich zum Verstecken von Information. Eine andere Möglichkeit war das Anordnen der 'wichtigen' Wörter auf den Falzkanten eines Briefs und das Auffüllen mit unverfänglichem Text.
Steganographie hat Ihre Wurzeln im militärisch-politischen Bereich und war einst die Domäne der Spione. Heute unterscheidet man zwei verschiedene Zielsetzungen:

Bei rechnergestützten steganographischen Verfahren werden geheime Nachrichten innerhalb anderer, harmlos wirkender Daten versteckt, ohne daß ein Außenstehender dies nachweisen könnte. Die Informationen können so in digitalen Bild- oder Tondateien verpackt oder auch über das Hintergrundrauschen beim Telefonieren übertragen werden.
Die Sicherheit eines guten steganographischen Systems sollte ebenso wie Kryptoverfahren nicht von der Kenntnis der verwendeten Methode abhängen, sondern nur von einem geheimen Schlüssel. Die meisten existierenden Verfahren gehen aber nur davon aus, daß ein Verstecken von Daten gar nicht bemerkt wird. Deshalb muß das Verfahren auch statistischen Angriffen widerstehen. Einfache Programme verstecken die Daten bitweise in Sound- oder Grafikdateien. In jedem Datenwort wird das niederwertige Bit entsprechend der geheimen Daten modifiziert. Im Vergleich zur Originaldatei ändert sich die codierte Datei nur unwesentlich. Die leichten Tonveränderungen bei einer Sounddatei oder Farbtonverfälschungen einer Grafikdatei sind nicht wahrnehmbar. Die 'Hülldatei' muß aber eben achtmal so groß sein, wie die zu codierende Information - oder noch größer. Im Netz sind schon diverse Steganographie-Programme zu finden, z. B. auf ftp.information.uni-hamburg.de im Verzeichnis /pub/virus/crypt/stego oder auf eris.giga.or.at im Verzeichnis /pub/hacker/stego.

Zum Weiterlesen über Steganographie ein Vortragsmanuskript von Alexandra Weikert.

6 VPN

VPN steht für 'Virtual Private Network' oder auch für 'Virtual Protected Network'. Ein VPN ist ein gesicherter Kommunikationskanal, der über öffentliche Netze (internet, aber auch Frame-Relay oder ATM) etabliert wird. Aus dieser sehr allgemeinen Definition lassen sich die beiden Hauptcharakteristika eines VPN ableiten: VPNs erlauben es Unternehmen, private WANs aufzubauen, ohne dafür die realen Kosten zahlen zu müssen und ohne das technische Know-How einkaufen zu müssen. Am Übergang zwischen den lokalen Netzen der einzelnen Niederlasssungen zum Internet werden VPN-Server eingerichtet, die ausgehende Daten verschlüsseln und eingehende Daten entschlüsseln. Per VPN lassen sich aber nicht nur zwei oder mehr Standorte mit lokalen Netzen verbinden, sondern auch Kunden oder Zulieferer ins Unternehmensnetz einbinden (Extranet). Eine dritte Möglichkeit bietet sich mit der Einbindung von Aussendienst- und Telearbeitern ins Firmen-LAN (Remote-Access-VPN).

VPNs werden zwischen den beteiligten Endknoten manuell konfiguriert, zwischen den Endknoten werden Tunnels aufgebaut. Ein Endknoten kann entweder ein Router, ein Firewall-Rechner oder ein Arbeitsplatz-Rechner sein. Als 'Tunnel' wird eine Netzwerkverbindung bezeichnet, die zwei Endpunkte scheinbar direkt miteinander verbindet. Diese Verbindung läuft normalerweise über ein anderes Netzwerk. Der Datenverkehr innerhalb des Tunnel kann zur Erhöhung der Sicherheit verschlüsselt werden.

Im Normalfall hat jeder Standort seinen VPN-Server als Internet-Gateway, meist ein Firewallsystem. Authentifizierung geschieht zwischen den Servern. Bei einem Extranet-VPN finden Verschlüsselung und Authentifizierung zwischen Firewall und dem VPN-Client statt, also auf Benutzerebene. Desgleichen bei Remote Access. Die neueste Entwicklung stellen Intranet-VPNs dar. Darunter versteht man die Möglichkeit, innerhalb eines Unternehmens wichtige Informationen zu schützen. Dort greifen Benutzer auf Server zu, die ihre Daten verschlüsseln und den Benutzern Zugriff nur auf einzelne, der Sicherheits-Policy entsprechende Server, Dienste und Daten ermöglichen.

Ein VPN auf Basis des Netzwerkprotokolls hat bei TCP/IP eigentlich zwei Möglichkeiten: Die Verschlüsselung von TCP (beziehungsweise UDP), und der Eingriff direkt auf IP-Ebene. Im ersten Fall sind nur wenige Änderungen notwendig, unter Windows reicht meist sogar ein Austausch der WinSock.DLL. Diverse Hersteller (etwa Aventail, www.aventail.com, oder Attachmate, www.attachmate.com) bieten solche Produkte an, die aus Software für die Client-PCs und speziellen Server-Anwendungen besteht. Allerdings sind dies oft Hersteller-spezifische Implementationen. Zudem werden hier wirklich nur TCP- und UDP-Verbindungen geschützt - Datenverkehr über ICMP (Internet Control Message Protocol) geht beispielsweise weiter unverschlüsselt über die Leitung. Es bleiben also unter Umständen weiter Einfallstore für Angreifer offen.

Besser wäre es da, wenn alle Protokolle verschlüsselt würden - das VPN muß also direkt auf IP-Ebene ansetzen. Hier hat sich inzwischen eine weitgehende Standardisierung durchgesetzt: IPSec (IP Security) ist nahezu vollständig von der Internet Engineering Task Force (IETF) in den RFCs 1825, 1826 und 1827 festgelegt ( www.ietf.org/html.charters/ipsec-charter.html). IPSec ist auch Teil der Version 6 von TCP/IP.

Der Vorteil von IPSec besteht auf jeden Fall in der Verschlüsselung aller Übertragungs- und Anwendungsprotokolle. Allerdings müssen unter Umständen für seinen Einsatz schon existierende Firewalls und Proxy-Server angepaßt werden. Denn in den Definitionen von IPSec sind neue Protokoll-IDs festgelegt, um die Verschlüsselungs- und Authentifizierungsmechanismen überhaupt zu ermöglichen.

Mit Windows NT 4.0 hat eine andere Möglichkeit für ein VPN eine gewisse Popularität erlangt: der Eingriff direkt auf der Verbindungsebene. Diese Methode ist prinzipiell unabhängig vom eingesetzten Netzwerkprotokoll, unterstützt also nicht nur TCP/IP. Microsofts Technik nennt sich PPTP (Point-to-Point Tunneling Protocol). Sie basiert auf PPP (Point-to-Point Protocol), das heutzutage meist für die Einwahl bei einem Internet-Provider eingesetzt wird. PPTP ist aber nicht nur für solche Wahlverbindungen geeignet, sondern kann den gesamten Datenverkehr eines Netzes absichern. Allerdings ist zumindest eine gültige IP-Verbindung notwendig, über die der PPTP-Tunnel aufgebaut wird. Durch ihn lassen sich dann auch Protokolle wie NetBEUI oder IPX gesichert übertragen.

Dank eines Konkurrenzvorschlags zu PPTP, L2F (Layer 2 Forwarding) von Cisco sah es anfangs so aus, als würden sich bei VPNs auf dieser Ebene zwei nicht zueinander kompatible Methoden etablieren. Microsoft und Cisco haben sich aber glücklicherweise zusammengerauft - eine PPP Working Group, in der neben Cisco und Microsoft auch Ascend und 3Com vertreten sind, hat im Oktober 1998 bereits die zwölfte Version eines Standardentwurfs herausgegeben, der auf beiden Vorschlägen aufbaut (www.totalb.com/~l2tp/). L2TP (Layer 2 Tunneling Protocol) bietet Authentifizierung für SLIP- und PPP-Verbindungen, zur Verschlüsselung kann optional IPSec eingesetzt werden. Allerdings eignet sich L2TP im Gegensatz zu PPTP nur für Wählverbindungen.

Cisco hat natürlich bereits in einigen Routern L2TP implementiert. Provider, die Cisco-Geräte einsetzen, können damit auch entsprechende Einwahlpunkte anbieten. Manche Internet-Provider unterstützen aber auch PPTP, das inzwischen nicht nur für NT, sondern auch für die neuesten Service-Releases von Windows 95 und für Windows 98 verfügbar ist. Neben den Windows-Systemen unterstützt auch Linux PPTP ( bmrc.berkeley.edu/people/chaffee/linux_pptp.html). An den Clients sind nicht unbedingt Änderungen notwendig, wählt man sich über einen PPTP- oder L2TP-Zugang beim Provider ein - die Verbindung zum Provider ist dann allerdings ungesichert, erst ab dem Einwahlpunkt erfolgt eine gesicherte Übertragung. Eine direkte Nutzung von PPTP oder L2TP von den Clients aus ist bei entsprechender Unterstützung natürlich ebenfalls möglich.

Für VPNs ist nicht nur die eigentliche Verschlüsselung wichtig (die L2TP beispielsweise gar nicht selbst erledigt, sondern dafür auf IPSec zurückgreift). Um überhaupt verschlüsseln zu können, muß nicht nur die Methode auf beiden Seiten gleich sein - ein Schlüssel, der beiden Seiten bekannt ist, hat ebenfalls zu existieren. Ansonsten kommen zwar die Daten gesichert an, können aber nicht dekodiert werden.

Die Vereinbarung von Schlüsseln und ihre Bekanntmachung bei den Kommunikationspartnern ist ein möglicher Angriffspunkt auf die Sicherheit von VPNs. Der sicherste Weg wäre, die Schlüssel auf einem garantiert nicht angreifbaren Weg auszutauschen - im Zweifelsfall, indem sich die Beteiligten an einem VPN vor der Inbetriebnahme treffen oder durch den Austausch von Chip-Karten, auf denen alle notwendigen Schlüssel gespeichert sind.

In den meisten Fällen setzt man bei VPNs aber auf eine sogenannte Certification Authority (CA). Es handelt sich dabei um eine zentrale Instanz, die sogenannte Zertifikate, bestehend aus Benutzerkennung, öffentlichem Schlüssel und beispielsweise Ablaufdatum des Schlüssels ausgibt. Die Zertifikate versieht die CA mit einer Signatur, anhand derer die Kommunikationspartner die Richtigkeit der Zertifikate überprüfen können. Der Wartung einer solchen CA sollte man besonderes Augenmerk widmen - zwar bieten sie große Flexibilität, ist es aber einem Angreifer gelungen, ein falsches Zertifikat einzuschleusen oder einen Schlüssel zu brechen, kann dies verheerende Folgen haben. Eine CA bietet daher auch immer die Möglichkeit, ein Zertifikat wieder zurückzuziehen, sobald bekannt wurde, daß der Schlüssel eines Beteiligten geknackt wurde.

In unserer zunehmend mobilen Welt besteht immer mehr der Bedarf, sich von jedem Punkt der Welt in das heimatliche LAN einwählen zu können. Heute besitzt jeder Rechner am Internet eine eigene eindeutige IP-Adresse. Wechselt man mit seinem Notebook das LAN oder den Internetprovider, so erhält heute der Rechner am neuen Standort eine neue IP-Nummer. Bei großen Providern erhält man bei jedem neuen Besuch eine andere Nummer.
Zur Beseitigung dieses Problems wurde das Mobile-IP Protokoll entworfen. Bei diesem bedient sich der mobile Rechner eines Tunnels 'nach Hause', und arbeitet intern mir seiner Stamm-IP Adresse. Nur der externe Endpunkt des Tunnels verwendet die vom Provider vergebene IP-Nummer.
Mobile IP befindet sich erst in der Einführungphase, es gibt derzeit außerhalb der UNIX-Welt nur einen MIP-Client. Ebenso gibt es nur eine handvoll Tunnel-Clients mit zugehörigen Servern, die den Aufbau eines verschlüsselten Tunnels zum Heimat-LAN erlauben.

Einige Firewallsysteme unterstützen den Aufbau von Firewall-to-Firewall VPNs. Diese verwenden entweder herstellereigene Kryptoverfahren, oder sie unterstützen bereits die von der IETF (Internet Engineering Task Force, technisch bestimmendes Gremium im Internet) vorgeschlagenen IPSec Protokolle. Einige Hersteller haben sich zur S/WAN-Initiative (S/WAM = Secure WAN) zusammengeschlossen.

Zum vorhergehenden Abschnitt Zum Inhaltsverzeichnis Zum nächsten Abschnitt


Copyright © FH München, FB 04, Prof. Jürgen Plate