Netzwerk-Know-how (tecCHANNEL COMPACT) Kapitel 11: Datensicherheit und Verschlüsselung

Veröffentlicht: 13. Jul 2005

Von PROF. DR. STEPHAN EULER

Mit der zunehmenden Bedeutung vernetzter Rechnersysteme wächst der Bedarf an Sicherheit. Insbesondere die Verlagerung von kritischen Abläufen wie

  • Einkaufen und Verkaufen
  • Abwickeln von Bank- und Börsengeschäften
  • Bewerbungen auf Ausschreibungen

hin zu elektronischen Formen verlangt eine sichere und vertrauliche technische Grundlage. Darüber hinaus gilt es, die direkt oder indirekt an das universelle Netz angeschlossenen Systeme gegen unberechtigte Zugriffe zu sichern.

Auf dieser Seite

In diesem Beitrag

Dn151204.ACDCF196BC98A92A7E35715F19C8C405(de-de,TechNet.10).png Firewall

Dn151204.ACDCF196BC98A92A7E35715F19C8C405(de-de,TechNet.10).png Virtuelle private Netze

Dn151204.ACDCF196BC98A92A7E35715F19C8C405(de-de,TechNet.10).png Verschlüsselung

Dn151204.ACDCF196BC98A92A7E35715F19C8C405(de-de,TechNet.10).png Monoalphabetische Verschlüsselung

Dn151204.ACDCF196BC98A92A7E35715F19C8C405(de-de,TechNet.10).png Digitale Verschlüsselung

Dn151204.ACDCF196BC98A92A7E35715F19C8C405(de-de,TechNet.10).png Gemeinsame Schlüsselvereinbarung

Dn151204.ACDCF196BC98A92A7E35715F19C8C405(de-de,TechNet.10).png Öffentliche Schlüssel

Dn151204.ACDCF196BC98A92A7E35715F19C8C405(de-de,TechNet.10).png Anwendungen

Dn151204.ACDCF196BC98A92A7E35715F19C8C405(de-de,TechNet.10).png PGP

Dn151204.ACDCF196BC98A92A7E35715F19C8C405(de-de,TechNet.10).png Sichere Transportschicht

Dn151204.ACDCF196BC98A92A7E35715F19C8C405(de-de,TechNet.10).png Literatur

Firewall

Wie bei der namensgebenden Anwendung als Schutz gegen die Ausbreitung von Bränden, hat eine Firewall die Aufgabe, ein privates Netz vor unkontrollierten Zugriffen aus anderen Netzen zu schützen.

Unter Firewall versteht man das allgemeine Konzept einer strikten Trennung zwischen internen und externen Netzen. Nach vorgegebenen Regeln entscheidet die Firewall, welche Daten passieren dürfen. Meist stellt eine Firewall ein eigenständiges Gerät (Standardrechner mit entsprechender Software oder spezielle Hardware-Firewall) dar.

Die so genannte Perimeter-Firewall sichert die Grenzen des internen Netzwerks ab und ist zwischen einem lokalen Netz und dem Internet geschaltet. Man kann dies auch als einen Router zwischen den beiden Netzen sehen, der allerdings zusätzlich den Datenverkehr kontrolliert.

Dn151204.6D9836BCA9258845EF96350B23C86CA8(de-de,TechNet.10).png

Bild 1: Eine Perimeter-Firewall trennt das lokale Netz vom Internet

Am einfachsten aufgebaut sind filterbasierte Firewalls (Paketfilter). Die Regeln beziehen sich dann auf bestimmte Adressen und Ports. Eine Möglichkeit ist, eine Tabelle mit erlaubten Quell- und Zieladressen zu führen. Als Prinzip gilt dann: „Alles, was nicht ausdrücklich erlaubt ist, ist verboten." Dann würde eine Zeile

169.254.107.238, 123, 212.125.100.86, 80

bedeuten, dass alle Pakete vom Rechner 169.254.107.238 und Port 123 zu Rechner 212. 125.100.86, Port 80, passieren dürfen. Als Alternative kann man auch das liberale Konzept einsetzen: „Alles, was nicht ausdrücklich verboten ist, ist erlaubt." In diesem Fall würde der Eintrag genau diese Kombination verbieten.

Ein Paketfilter arbeitet auf den unteren Protokollebenen. In dem beschriebenen Beispiel analysiert die Firewall die Pakete bis zur Schicht 4, um dann anhand der IP-Adresse und der Portnummer über die Weiterleitung zu entscheiden. Dieser Ansatz wird daher auch als Network Level Firewall bezeichnet.

Die Wirksamkeit einer Firewall lässt sich erhöhen, wenn sie nicht nur auf Basis eines einzelnen Pakets entscheidet, sondern eine komplette Verbindung als eine Einheit betrachtet. Am weitesten gehen in diesem Sinne Application Level Firewalls (Proxy-basierte Firewalls), die auf der höchsten Schicht 7 laufen.

In diesem Fall kommuniziert eine Anwendung im internen Netz, etwa ein Browser, nicht direkt mit dem Internet. Vielmehr wickelt den gesamten Verkehr ein Stellvertreter - der Proxy-Server - ab. Nur der Proxy hat die Berechtigung, Daten mit dem Internet auszutauschen.

Dieses Konzept erlaubt weit gehende Kontroll- und Protokollfunktionen und gilt als sehr sicher. Negativ sind eine Einschränkung der Flexibilität etwa bei exotischeren Protokollen und eine verringerte Transfergeschwindigkeit. Als Alternative kommen daher auch Mischformen zwischen den Filtern auf Paketebene und den Proxys auf Anwendungsebene zum Einsatz.

Von außen ist die Firewall der einzige Angriffspunkt auf das lokale Netz. Daher legen Administratoren besondere Sorgfalt auf die Sicherheit dieses Systems. Ist diese Hürde allerdings erst einmal genommen, so befindet sich der Eindringling bereits im relativ ungeschützten internen Netz. Um diese Gefahr zu verringern, kann das interne Netz durch eine zweite Firewall geschützt werden.

Hinter der ersten Firewall sind dann nur Rechner angeordnet, die von außen erreichbar sein müssen. Typischerweise findet man hier Webserver und E-Mail-Server. Den Übergang aus diesem ersten Sicherungsring zu dem internen Netz regelt dann eine zweite Firewall. Die Zone zwischen den beiden Firewalls bildet ein Grenznetz das man auch als De-Militarized Zone (DMZ) bezeichnet.

Zur (zusätzlichen) Absicherung von einzelnen Rechnern im internen Netz bieten sich Personal oder Desktop Firewalls an. Solche Systeme nutzen häufig Privatanwender, um ihren per Modem direkt am Internet angeschlossenen Rechner zu schützen. Die Personal Firewall wirkt dann als Paketfilter, der unerwünschten Datenverkehr zwischen dem Rechner und dem Internet blockiert. Personal Firewalls bieten sich jedoch auch in Finnen an, um kritische Rechner zusätzlich abzusichern. Denn nicht immer geschieht ein Angriff von außen. So erfolgten etwa 2003 über 63 Prozent aller Datendiebstähle von firmeninternen Mitarbeitern.

Man darf den Gewinn an Sicherheit durch eine Personal Firewall nicht überschätzen. Ein über eine E-Mail eingedrungener Virus könnte intelligent genug sein, zumindest die Firewall des befallenen Rechners von innen zu überwinden. Beispielsweise könnte er eine Regel für eine erlaubte Verbindung eintragen und diese dann für eigene Zwecke nutzen. Eine Personal Firewall ist allerdings gut geeignet, um eine Warnung bei auffälliger Netzwerkaktivität zu erhalten.

Dn151204.590B5404BFEA7F06684DB47B00539355(de-de,TechNet.10).png Zum Seitenanfang

Virtuelle private Netze

Firewalls dienen dazu, das eigene Netz gegenüber dem Internet abzuschotten. Nun gibt es allerdings häufig Situationen, in denen gerade ein externer Zugang erforderlich ist. Ein typischer Fall ist ein Mitarbeiter auf Dienstreise, der Zugriff auf interne Daten benötigt.

Ein recht sicherer Weg besteht in der Verwendung von Wählleitungen. Die Verbindung geht dann über ein Modem und eine Telefonleitung zu einem entsprechenden Firmenanschluss. Durch die leitungsbasierende Verbindungsart ist ein Abhören nicht für jeden und nicht ohne Aufwand möglich. Den Firmenanschluss schützt man durch ein starkes Passwort, zudem sollte man die Daten aber auch noch verschlüsseln.

Wesentlich eleganter als die Wählleitung ist es, auf die Infrastruktur des Internets zurückzugreifen. Der Mitarbeiter nutzt dann beispielsweise den WLAN-Zugang in seinem Hotel, um sich mit dem Internet zu verbinden. Zudem muss die Firma einen Zugang vom Internet zu den internen Daten bereitstellen. Für den Weg dazwischen wird die Infrastruktur des Internet genutzt. Das Problem ist nun, wie diese Verbindung sicher gestaltet werden kann. Der Weg durch das Internet ist nicht geschützt. Daher besteht die Gefahr, dass Unberechtigte den Inhalt der IP-Pakete einsehen oder gar manipulieren.

Betrachten wir ein Szenario, bei dem ein externer Mitarbeiter (Client) auf einen Rechner X im internen Netz zugreifen möchte. Dazu muss er Daten an die Adresse X schicken. Da es sich um vertrauliche Informationen handelt, müssen diese Daten auf jeden Fall verschlüsselt werden. Ein zusätzlicher Schutz soll zudem dafür sorgen, dass der Rechner X öffentlich gar nicht bekannt und nicht ohne weiteres aus dem Internet erreichbar ist.

Eine in diesem Sinne sichere Verbindung realisiert ein so genannter Tunnel durch das Internet. Dazu wird das eigentliche Netzwerkpaket komplett mit Header und Nutzdaten als Einheit verschlüsselt. Das daraus resultierende Packet schickt man dann als verschlüsselte Nutzlast in einem IP-Paket an einen speziellen Server (Remote-Tunnel-Server) im Firmennetz, der von außen erreichbar ist. Aus Sicht des Internets handelt es sich dabei also um eine normale IP-Verbindung zwischen einem Client und diesem Server. Die Daten in dem IP-Paket sind allerdings durch eine Verschlüsselung geschützt. Der Server nimmt das Paket entgegen und entschlüsselt die Daten. Damit rekonstruiert er das eigentliche Paket, das er dann in das interne Netz einspeist.

Durch diese Technik kann eine Endanwendung sich so verhalten, als wäre der Rechner direkt an das Firmennetz angeschlossen (Virtuelles privates Netz, VPN). Die für das interne Netzwerk bestimmten Pakete durchqueren das dazwischen liegende Internet eingebettet in ein IP-Paket. Auf diese Weise kann man eine sichere Kommunikation über das Internet erreichen. Dies ist nicht der einzige Vorteil. Der Inhalt des Paketes spielt für den Transport durch den IP-Tunnel keine Rolle. Es ist daher durchaus möglich, dass das firmeninterne Netz ein anderes Protokoll oder private IP-Adressen verwendet.

Eine komplette Lösung für den Aufbau eines VPN-Tunnels besteht aus mehreren Komponenten wie einer Benutzer-Authentifikation oder einer Datenverschlüsselung. Einige verbreitete Tunneling-Protokolle sind:

  • Point to Point Tunneling Protocol (PPTP)
  • Layer 2 Tunneling Protocol (L2TP), RFC 2661
  • IP-Security-Protokoll (IPSec)

Sie wurden für verschiedene Anwendungsmöglichkeiten entwickelt und unterscheiden sich dementsprechend in ihren Möglichkeiten.

Dn151204.590B5404BFEA7F06684DB47B00539355(de-de,TechNet.10).png Zum Seitenanfang

Verschlüsselung

Der Inhalt der Pakete im Internet ist relativ leicht einsehbar. Mit wenig Aufwand kann man auf einem Rechner beispielsweise alle ankommenden und abgehenden IP-Pakete lesen. Ohne weitere Maßnahmen sind daher kritische Daten wie Kennwörter oder die Nummern von Kreditkarten nicht vor Unberechtigten geschützt. Im Internet hat man als Anwender keinen Einfluss auf den Übertragungsweg. Man muss daher davon ausgehen, dass die Übertragung nicht abgesichert ist und der Inhalt der Pakete auch Fremden zugänglich ist.

Um trotzdem sensible Daten übermitteln zu können, muss man diese Daten durch eine Verschlüsselung schützen. Im Prinzip handelt es sich dabei um eine Art von Kodierung, ähnlich wie der Einbau von Paritätsinformationen. Der Verschlüsselungsalgorithmus bringt die Nachricht - den Klartext - in eine andere Form. Diese kodierte Nachricht wird im Netz übertragen. Der Empfänger kann den Verschlüsselungsalgorithmus umkehren und den Klartext rekonstruieren.

Die Besonderheit bei diesem Vorgehen ist allerdings, dass der Algorithmus oder dabei verwendete Parameter geheim gehalten werden. Nur Sender und Empfänger kennen den Algorithmus oder die benötigten Schlüssel. Dritte können zwar während der Übertragung die Nachricht abfangen, aber sie können diese nicht verstehen oder gar manipulieren.

Anschaulich kann man sich die Nachricht wie ein Paket mit einem Schloss vorstellen. Der Sender verschließt das Paket und nur mit dem richtigen Schlüssel kann es wieder geöffnet werden. Die Methoden der Verschlüsselung sind Gegenstand der Kryptografie. Demgegenüber bezeichnet Kryptoanalyse die Wissenschaft von der Entschlüsselung ohne Kenntnis des Schlüssels.

Der folgende Abschnitt führt zunächst anhand eines einfachen Beispiels in die Grundregeln ein. Anschließend folgt der Übergang zu digitalen Systemen mit einer Beschreibung einiger wesentliche Verfahren. Darauf aufbauend werden einige konkrete Anwendungen vorgestellt. In der Literatur zur Kryptografie erhalten die beteiligten Personen oft Namen in der Reihenfolge des Alphabets (Alice, Bob, Carol...). Im Rahmen dieses Textes werden aber weiterhin die Bezeichnungen Sender und Empfänger verwendet. In symmetrischen Fällen, bei denen diese Unterscheidung nicht sinnvoll ist, werden diese durch die Abkürzungen A und B ersetzt.

Dn151204.590B5404BFEA7F06684DB47B00539355(de-de,TechNet.10).png Zum Seitenanfang

Monoalphabetische Verschlüsselung

Betrachten wir ein einfaches Beispiel für einen Algorithmus zur Verschlüsselung von Texten. Gegenüber einer starren Umsetzung arbeitet diese Verschlüsselung bereits mit einem variablen Schlüssel, so dass die Kenntnis des Algorithmus noch nicht zur Entschlüsselung genügt:

  • Die Buchstaben eines Schlüsselwortes werden in umgekehrter Reihenfolge aufgeschrieben. Eventuelle doppelt vorkommende Buchstaben werden dabei nur einmal berücksichtigt.
  • Alle noch fehlenden Buchstaben des Alphabets werden in umgekehrter Reihenfolge angehängt.
  • Dem ersten Buchstaben der so entstandenen Zeichenkette ordnet man dann den Buchstaben „A" zu, dem folgenden „B" und so weiter.

Nach dieser Vorschrift wird aus dem Schlüsselwort HAMLET folgende Tabelle zur Verschlüsselung erzeugt:

Dn151204.0C4CAFB8B068DBE932C38B973CDFF563(de-de,TechNet.10).png

Bild 2: Der monoalphabetische Algorithmus ordnet jedem Buchstaben einen anderen zu

Anhand dieser Tabelle wird der zu übermittelnde Text umgesetzt. Jeder einzelne Buchstabe wird gemäß dieser Zuordnung durch einen anderen ersetzt. Als Beispiel ergibt sich folgende Verschlüsselung:

Dn151204.22F6A7AC62EAB567818602CDAEC5968F(de-de,TechNet.10).png

Bild 3: Die Frage aller Fragen in transformierter Form

Die Leerzeichen verraten noch relativ viel über die Satzstruktur und bieten Ansatzpunkte zur Entschlüsselung. Es ist daher eine gute Idee, entweder das Leerzeichen als weiteres Zeichen in die Übersetzungstabelle aufzunehmen oder einfach alle Leerzeichen zu entfernen. In aller Regel wird der Empfänger nach der Entschlüsselung aller Buchstaben die Wortgrenzen leicht rekonstruieren können. Ohne Leerzeichen erhält man in dem Beispiel die verschlüsselte Nachricht

KAXRQMÄNRXLYJKAXR

Für den Uneingeweihten handelt es sich hier um eine sinnlose Buchstabenfolge. Der Empfänger kann demgegenüber - sofern er das Schlüsselwort kennt - den Prozess der Verschlüsselung umkehren. Dazu konstruiert er zuerst nach der obigen Vorschrift die Zuordnungstabelle. Dann ersetzt er die empfangenen Zeichen wieder durch die ursprünglichen Zeichen. Aus der resultierenden Buchstabenfolge rekonstruiert er dann durch Einfügen der Leerzeichen an den passenden Stellen den ursprünglichen Text.

Da nur ein Alphabet zur Verschlüsselung benutzt wird, bezeichnet man derartige Verfahren als monoalphabetisch. Weiterhin handelt es sich um ein symmetrisches Verfahren: Es gibt genau einen Schlüssel, der sowohl zum Verschlüsseln als auch zum Entschlüsseln benötigt wird. Sender und Empfänger benötigen die gleichen Informationen. Kennt ein Unbefugter den Schlüssel, so kann er abgefangene Nachrichten entschlüsseln und gefälschte selbst versenden.

Solche Verfahren waren in unterschiedlichen Varianten jahrhundertelang in Gebrauch. Allerdings bieten sie nur einen geringen Schutz. Die Verschlüsselung kann relativ leicht durch den Einsatz der Häufigkeitsanalyse gebrochen werden. Dabei nutzt man die unterschiedliche Häufigkeit für das Auftreten der einzelnen Buchstaben aus. So treten in deutschen Texten die Buchstaben „E" mit 17 Prozent und „N" mit 10 Prozent am häufigsten auf.

Daher kann man davon ausgehen, dass der häufigste Buchstabe in einem derart verschlüsselten Text mit recht hoher Wahrscheinlichkeit eigentlich das „E" darstellt. Weiterhin kann man nach häufig vorkommenden Buchstabenpaaren suchen. So sind die Kombinationen LL, MM, NN, EE oder TT gute Kandidaten für häufig doppelt vorkommende Zeichen.

Auch immer wiederkehrende längere Zeichenfolgen wie „SCH" bieten Ansatzpunkte für die Entschlüsselung. Auf diese Art und Weise kann durch systematisches Raten unter Berücksichtigung der bekannten Häufigkeiten von Buchstaben und Buchstabenfolgen eine monoalphabetische Verschlüsselung relativ leicht entschlüsselt werden.

Eine besondere Hilfe ist dabei, wenn man einige der Wörter im Klartext kennt. In militärischen Telegrammen taucht zum Beispiel oft ein Hinweis auf das Wetter auf. Darin kann ein Angreifer also gezielt nach der Folge ETTE beziehungsweise dem Muster XYYX suchen. Findet er ein Muster XYYX, so kann er die Zuordnung X=E und Y=T ausprobieren.

Derartige einfache Verschlüsselungsverfahren sind zwar nicht vollkommen nutzlos, aber sie bieten nur einen geringen Schutz. Ob dieser Schutz als ausreichend erachtet werden kann, hängt von der Anwendung ab. Soll nur eine sehr kurze Nachricht geschützt werden oder ist der Schutz nur für eine kurze Zeit erforderlich, so kann eine solche einfache Verschlüsselung durchaus ausreichen. Die verschlüsselte Nachricht ist zunächst gegenüber Unbefugten geschützt. Jemand, der zufällig oder absichtlich die Nachricht liest, erkennt nicht direkt den Inhalt.

Dn151204.590B5404BFEA7F06684DB47B00539355(de-de,TechNet.10).png Zum Seitenanfang

Digitale Verschlüsselung

Mit dem Aufkommen von Rechenautomaten und Computern änderte sich zunächst nichts am Prinzip der Verschlüsselung. Allerdings beschleunigen sie die Verschlüsselung erheblich und ermöglichen deutlich aufwendigere Kodierverfahren. Andererseits erhöhen sie auch die Anzahl der möglichen Versuche zum Brechen des Codes um Größenordnungen gegenüber dem manuellen Ansatz. Mit zunehmender Rechenleistung verkürzt sich die Zeitspanne, für die ein Code Sicherheit bietet. So wurden die ersten Rechner während des zweiten Weltkrieges in den britischen Geheimlaboren zur Entschlüsselung des deutschen Funkverkehrs eingesetzt [1]. Diese Rechner hatte man speziell für diesen Zweck entwickelt.

Die beginnende Digitalisierung erforderte neuartige Verschlüsselungsverfahren. Diese arbeiten nicht mehr mit einzelnen Zeichen, sondern auf Bitebene. Die Nachricht wird dabei unabhängig von ihrem Inhalt als Bitstrom behandelt. Bei den im Folgenden vorgestellten Verfahren handelt es sich um so genannte Blockcodes. Sie unterteilen den Bitstrom in Blöcke mit einer vorgegebenen Anzahl von Bits. Jeden Block verschlüsseln sie dann durch eine Bitmanipulation.

Ein solches Verfahren ist der Data Encryption Standard (DES). Der Algorithmus wurde Mitte der 70er Jahre entwickelt und später vom amerikanischen National Institute of Standards and Technology (NIST) als Standard eingeführt [2]. DES beruht auf der Verwürfelung von Gruppen mit jeweils 64 Bit. In einem mehrstufigen Verfahren verknüpft er die einzelnen Bits miteinander und überschreibt damit den Block. Dabei durchläuft DES insgesamt 16 Iterationen - auch als Runden bezeichnet. Die Details der Verknüpfungsfunktion legt ein Schlüssel mit einer Länge von 56 Bit fest. In jedem Durchlauf wird aus diesem Hauptschlüssel ein spezifischer Rundenschlüssel berechnet.

Im Grunde ist DES in dieser Basisversion ein monoalphabetisches Verfahren. Es bildet Wörter der Länge 64 Bit auf andere Wörter der gleichen Länge ab. Kennt man die Struktur der ursprünglichen Daten, so eröffnet diese Eigenschaft die Möglichkeit zur Manipulation. Handelt es sich beispielsweise um Datensätze für Mitarbeiter, so kann man einen Block von 64 Bit, beispielsweise eine achtstellige Mitarbeiterkennung, einfach durch einen anderen Block ersetzen. Um derartige Manipulationen auszuschließen, besteht die Möglichkeit, in die Verschlüsselung eine Abhängigkeit von vergangenen Blöcken einzubauen. Damit ergibt ein bestimmter Datenblock in Abhängigkeit vom Kontext unterschiedliche Codes und die Daten sind gegen einfachen Austausch geschützt. Generell führt diese Verkettung zu einem besseren Schutz gegen die Kryptoanalyse.

Durch den Schlüssel der Länge 56 sind bei DES insgesamt 256 verschiedene Abbildungen möglich. Kennt man ein kurzes Stück Klartext, so kann man durch erschöpfende Suche alle 256 möglichen Schlüssel ausprobieren. Geht man davon aus, dass ein handelsüblicher PC einige zehn Millionen Schlüssel pro Sekunde ausprobieren kann, so benötigt ein Test aller Schlüssel rund 100 Jahre. Im Mittel wird der richtige Schlüssel nach 50 Jahren gefunden.

Allerdings lässt sich die Aufgabe in einfachster Art und Weise parallelisieren und auf viele Rechner aufteilen. Anfang 1999 ist es gelungen, durch die Nutzung der Leerlaufzeit vieler per Internet verbundener Computer eine DES-verschlüsselte Nachricht innerhalb von 23 Stunden zu dechiffrieren. Weiterhin kann durch spezielle Hardware-Bausteine die Suche wesentlich beschleunigt werden. Daher kann man das einfache DES zumindest für Daten, die längere Zeit sicher bleiben müssen, nicht mehr empfehlen.

Eine ausreichende Sicherheit kann man durch einen längeren Schlüssel oder die dreifache Anwendung von DES erhalten. Das verbreitete Tripple-DES erreicht damit eine effektive Schlüssellänge von 168 Bit und scheint damit auch auf längere Zeit als sicher. Daneben haben verschiedene Entwicklungsteams eine Reihe anderer Verfahren vorgeschlagen. Das wohl wichtigste darunter ist IDEA (International Data Encryption Algorithm), entwickelt von Xuejia Lai und James L. Massey von der ETH Zürich [3]. IDEA basiert auf einem Schlüssel der Länge 128 Bit. Die erschöpfende Suche auf einem einzelnen PC würde über 1025 Jahre benötigen. Damit besteht ausreichend Sicherheit auch gegen Angriffe mit optimierten Hardware-Bausteinen und parallelem Einsatz vieler Rechner.

Dn151204.590B5404BFEA7F06684DB47B00539355(de-de,TechNet.10).png Zum Seitenanfang

Gemeinsame Schlüsselvereinbarung

Grundsätzlich bieten die beschriebenen Verfahren eine ausreichende Sicherheit. Sind die verwendeten Schlüssel groß genug, so können sie nach derzeitigem Stand nicht gebrochen werden. Das Problem dieser Verfahren liegt jedoch in der Verwaltung der Schlüssel. Will ein Sender eine verschlüsselte Nachricht verschicken, muss er dem Empfänger seinen Schlüssel mitteilen oder einen vom Empfänger zuvor erhaltenen Schlüssel verwenden. Neben der eigentlichen Nachricht muss man also auch den Schlüssel übertragen. Diese Übertragung ist besonders sensibel. Denn falls ein Dritter in Besitz des Schlüssels gelangt, kann er die verschlüsselte Nachricht ebenfalls lesen. Daher muss der Schlüssel auf einem besonders sicheren Weg verschickt werden. Beispielsweise kann eine Bank die Schlüssel mit einem zuverlässigen Boten an ihre Kunden ausliefern.

Mit dem zunehmenden digitalen Nachrichtenverkehr stellte die Schlüsselverteilung ein immer größeres logistisches Problem dar. Umso wichtiger war die Entdeckung, dass eine Schlüsselvereinbarung auch über einen unsicheren Kanal möglich ist. Sender und Empfänger vereinbaren dabei einen Schlüssel, den sie dann wie beschrieben für eine symmetrische Verschlüsselung verwenden. Die Vereinbarung des Schlüssels kann jedoch über einen offenen Kanal erfolgen. Ein Dritter kann den Schlüssel aus den übertragenen Informationen nicht rekonstruieren.

Diese zunächst verblüffende Möglichkeit publizierten zuerst Whitfield Diffie und Martin Hellmann [4]. Der Kerngedanke ist, eine mathematische Funktion zu verwenden, die praktisch nicht umkehrbar ist. Eine solche „Einwegfunktion" liefert für einen Eingangsparameter ohne viel Rechenaufwand ein Ergebnis. Aber die Umkehrung - die Berechnung des Ausgangswertes aus dem Funktionswert - ist in vernünftiger Zeit nicht möglich. Die Schlüsselvereinbarung nach Diffie und Hellmann (manchmal auch als Diffie-Hellmann-Merkle-Verfahren bezeichnet) nutzt die Modulo-Funktion, um diesen Einwegcharakter zu erzielen.

Die Modulo-Funktion berechnet den Rest bei einer ganzzahliger Division. Der Ausdruck 17 mod 5 als Beispiel ergibt den Wert 2, da 17=3*5+2 gilt. Bei arithmetischen Ausdrücken werden die Operanden zunächst wie gewohnt verknüpft, und auf das Ergebnis wird die Modulo-Funktion angewandt. So ergibt beispielsweise 3*3 mod 5 das Ergebnis 4. Das Resultat der Exponentialfunktion 3X mod 31 für verschiedene Werte von x zeigt folgendes Bild. Anders als bei herkömmlichen Funktionen ist hier keine klare Struktur zu erkennen. Aufgrund der Modulo-Funktion schwanken die Ergebnisse selbst für direkt aufeinander folgende Werte von x stark und lassen keinen Rückschluss auf die Nachbarwerte zu.

Dn151204.78B2F329305C825D30FF9DFCFA6DA0E4(de-de,TechNet.10).png

Bild 4: Die Modulo-Funktion lässt keinen Rückschluss auf den Ausgangswert zu

Der Einwegcharakter der Modulo-Funktion resultiert aus der Schwierigkeit, die Funktion zu invertieren. Es ist zwar relativ leicht, für ein gegebenes x die Exponentialfunktion zu berechnen und auf das Ergebnis die Modulo-Operation anzuwenden. Aber für die Umkehrung ist kein schnelles Verfahren bekannt. Die Aufgabe, für einen Wert a ein x zu finden, so dass 3X mod 3 l=a erfüllt wird, erfordert einen sehr viel höheren Rechenaufwand. Bei großen Zahlen mit mehreren hundert Stellen lässt sich mit geschickten Algorithmen die Exponentialfunktion immer noch in überschaubarer Zeit auswerten. Aber die Umkehrung erfordert dann selbst bei leistungsfähigen Systemen so viel Zeit, dass sie praktisch unmöglich ist.

Dn151204.6BDE6BBEFA3591E1A2AE503B5500AC39(de-de,TechNet.10).png

Bild 5: Schlüsselvereinbarung: Der Algorithmus nach Diffie und Hellmann erzeugt einen sicheren Schlüssel über einen unsicheren Kanal

Betrachten wir die Schlüsselvereinbarung nach Diffie und Hellmann an einem einfachen Beispiel. In der Tabelle sind die einzelnen Schritte dazu dargestellt. Zunächst vereinbaren die beiden Partner A und B zwei Zahlen Y und P Diese Zahlen müssen bestimmte Bedingungen erfüllen. So müssen Y, (Y-1 )/2 und P Primzahlen sein. Diese Zahlen können öffentlich bekannt sein. Dann wählt jeder Partner eine geheime Zufallszahl x aus und berechnet damit den Wert der Funktion YX mod P Das Resultat α beziehungsweise ß schickt er an sein Gegenüber. Schließlich berechnet er aus dem vom Gegenüber erhaltenen Wert und seiner Geheimzahl den Schlüssel. Durch die geschickte Konstruktion der Funktion erhalten beide Partner den gleichen Wert - im Beispiel die Zahl 9. Diese Zahl können sie als symmetrischen Schlüssel verwenden. In der Praxis nutzt man sehr viel größere Zahlenwerte, um einen Schlüssel ausreichender Länge zu erhalten.

Die Wirkungsweise dieses Verfahrens lässt sich leicht nachvollziehen. Ausgeschrieben ergeben die beiden Berechnungen (YB mod P)A mod P und (YA mod P)B mod P. Nach den Regeln der modularen Arithmetik kann der zweite Exponent in den ersten Ausdruck mit hinein gezogen werden. Damit sind beide Ausdrücke gleichwertig mit YAB mod P.

Ein Dritter kann über die öffentliche Leitung die Zahlen Y, P, α und ß erfahren. Um den Schlüssel zu berechnen, fehlt ihm jedoch die Zahl A (oder gleichwertig B). Dafür müsste er die Funktion

Dn151204.6A9ED626785F86DAF3143517442113A7(de-de,TechNet.10).png

nach A auflösen, wofür bislang kein effizientes Lösungsverfahren bekannt ist. In dem Beispiel mit den kleinen Zahlen kann aus der Gleichung 7A mod 11=2 der gesuchte Wert A=3 noch relativ leicht durch Probieren bestimmt werden. Aber für große Zahlenwerte führt dies zu so langen Zeiten, dass die Umkehrung praktisch nicht möglich ist.

Das Verfahren von Diffie und Hellmann ermöglicht es, über eine Leitung einen gemeinsamen Schlüssel zu vereinbaren, ohne dass die übertragenen Informationen von Dritten verwendet werden können. Allerdings ist es nicht unter allen Umständen sicher. Wenn ein Dritter X die Möglichkeit hat, Nachrichten abzufangen und zu verändern, kann er sich in das Austauschprotokoll einschalten. Er wählt eine eigene Zufallszahl und führt damit das Protokoll mit den Partnern A und B durch. Dann entstehen sichere Verbindungen zwischen A und X sowie B und X. A und B sind im besten Glauben, ihre Nachrichten direkt aneinander zu senden. In Wirklichkeit erreichen die Nachrichten immer zuerst X, der sie dann nach Belieben manipulieren kann, bevor er sie weitergibt. Eine Möglichkeit, sich gegen diese so genannten „Man in the Middle"-Angriffe zu schützen, ist die Verwendung fester Schlüssel, die eine zuverlässige Stelle verwaltet.

Dn151204.590B5404BFEA7F06684DB47B00539355(de-de,TechNet.10).png Zum Seitenanfang

Öffentliche Schlüssel

Ein praktischer Nachteil bleibt bei dem beschriebenen Verfahren der Schlüsselvereinbarung: Beide Partner müssen gleichzeitig aktiv sein, um das Protokoll durchführen zu können. Damit ist das Verfahren etwa zum Versand einer E-Mail nur schlecht einsetzbar. Einfacher zu verwenden sind Verfahren, bei denen der Absender seine Nachricht verschlüsseln kann, ohne vorher mit dem Empfänger direkt Informationen austauschen zu müssen. Dies ermöglichen Verfahren mit öffentlichen Schlüsseln (Public Key) [5].

Hierbei stellt der Empfänger einen Schlüssel bereit, der allgemein bekannt gemacht wird. Der Sender verwendet diesen Schlüssel, um seine Nachricht zu verschlüsseln. Der öffentliche Schlüssel genügt jedoch nicht zur Entschlüsselung. Benötigt wird vielmehr ein zweiter Schlüssel. Diesen privaten Schlüssel kennt nur der Empfänger, so dass auch nur er die Verschlüsselung aufheben kann. Solange er ihn geheim hält, kann niemand sonst die Nachricht verstehen.

Das bekannteste derartige Verfahren ist RSA, so benannt nach den Entwicklern Ronald Rivest, Adi Shamir und Leonhard Adleman. RSA basiert ebenfalls auf der Modulo-Arithmetik. Der öffentliche Schlüssel besteht aus zwei Zahlen, die wie folgt gewählt werden:

  • Der potenzielle Empfänger A wählt zwei Primzahlen p und q.
  • Aus den beiden Primzahlen berechnet er das Produkt n=p-q.
  • Weiterhin wählt er eine Zahl e<n.
  • e und n bilden den öffentlichen Schlüssel und werden entsprechend publiziert.

Damit kann ein Sender eine Nachricht an den Empfanger A nach der folgenden Vorschrift verschlüsseln

Dn151204.9B7184ECD5ACA306B1C6F094ACF23FF5(de-de,TechNet.10).png

Die Zahl M<n repräsentiert einen Block mit der Länge ln2 (n) Bit. Eine längere Nachricht muss in entsprechend viele Teile aufgespalten werden. Die resultierende Zahl C ist der geheime Text für diesen Block. Auf Grund der Eigenschaften der Modulo-Funktion ist es sehr schwer, aus C und e wieder auf M zu schließen. Bei hinreichend großen Zahlen n und e kann man die Umkehrung als praktisch unmöglich betrachten.

Damit ist die Verschlüsselung zwar sicher, aber es stellt sich die Frage, wie der Empfänger die Nachricht lesen kann. Hier kommen die beiden geheim gehaltenen Zahlen p und q ins Spiel. Mit diesen beiden Zahlen kann eine weitere Zahl d mit der Eigenschaft

Dn151204.032CAAC89D259CBD182C560CFC9F0A93(de-de,TechNet.10).png

berechnet werden. Details dazu sind im Beitrag „RSA im Detail“ beschrieben. An dieser Stelle genügt es festzustellen, dass die Bestimmung von d relativ einfach ist. Bei dieser Wahl des Produkts ed gilt weiterhin die Beziehung

Dn151204.34A37D8BE64E18C726CA4BD35CC1DE77(de-de,TechNet.10).png

Auch hier sei für Details auf den Beitrag „RSA im Detail“ verwiesen. Mit anderen Worten: Der Empfänger braucht lediglich einen Exponenten zu berechnen und auf das Ergebnis die Modulo-Funktion anzuwenden, um gemäß

Dn151204.A2F4E079C8A50E8E667AF473F5C1FEBC(de-de,TechNet.10).png

den ursprünglichen Wert M zu erhalten. Die Sicherheit von RSA beruht auf den beiden Zahlen p und q. Kennt man sie oder zumindest das Produkt (p-l) * (q-1), so ist es leicht, daraus d zu bestimmen. Öffentlich bekannt ist aber nur der Wert n = p*q. Der Rückschluss von n auf die beiden Faktoren - die so genannte Faktorzerlegung - ist ein enorm zeitaufwendiges Verfahren.

Solange niemand eine schnelle Methode zur Suche nach den Primfaktoren findet - ein Problem, an dem die Mathematiker seit mehr als 2000 Jahren arbeiten - ist RSA ein sicheres Verfahren. Sicherheitskritische Anwendungen basieren auf Zahlen größer als 10300. Die weiteren Fortschritte in der Rechengeschwindigkeit können durch Erhöhung von n leicht kompensiert werden.

Die Berechnung von Cd weist eine interessante Symmetrie bezüglich e und d auf. In dem Produkt spielt die Reihenfolge keine Rolle. Man kann also durchaus auch mit dem geheimen Schlüssel d verschlüsseln und dann mit dem öffentlichen Schlüssel e den Vorgang umkehren. Damit ist keine Vertraulichkeit möglich, da jeder Zugang zu dem öffentlichen Schlüssel hat. Aber diese Eigenschaft kann dafür zum Signieren von Nachrichten genutzt werden. Wenn eine Nachricht zu dem öffentlichen Schlüssel passt, muss sie mit dem zugehörigen privaten Schlüssel erzeugt worden sein. Damit kann nur der Besitzer des privaten Schlüssels der Absender sein.

Dn151204.590B5404BFEA7F06684DB47B00539355(de-de,TechNet.10).png Zum Seitenanfang

Anwendungen

Ausgehend von den Algorithmen lassen sich sichere Anwendungen realisieren. Für die Praxis spielen neben den theoretischen Eigenschaften auch Fragen wie der benötigte Rechenaufwand oder die sichere Verwaltung der Schlüssel eine entscheidende Rolle. So hat RSA bei allen Vorzügen den Nachteil eines relativ hohen Rechenbedarfs. Damit ist es nicht praktikabel, alle Nachrichten mit RSA zu schützen. Weiterhin sind beim Einsatz der Algorithmen rechtliche Aspekte wie etwa die Patentsituation oder Ausfuhrgesetze zu beachten.

Dn151204.590B5404BFEA7F06684DB47B00539355(de-de,TechNet.10).png Zum Seitenanfang

PGP

Eine freie, weit verbreitete Software für die Verschlüsselung von E-Mails ist PGP (Pretty Good Privacy) [6]. Phil Zimmermann entwickelte mit PGP ein einfach zu bedienendes Programm, das mehrere Verschlüsselungsverfahren kombiniert. Die eigentliche Nachricht verschlüsselt ein rechenzeitunkritisches, symmetrisches Verfahren wie DES. Dazu nutzt es einen einmaligen Schlüssel, der asymmetrisch mit dem öffentlichen Schlüssel des Empfängers geschützt ist. Nur der Empfänger kann mit seinem privaten Schlüssel den Einmalschlüssel aus der E-Mail dekodieren und damit die gesamte Nachricht entschlüsseln.

Der Sender fügt zudem noch eine mit seinem eigenen privaten Schlüssel kodierte Signatur an, die eine Prüfsumme über die Nachricht enthält. Damit kann der Empfänger sicherstellen, dass die Nachricht tatsächlich vom angegebenen Sender stammt und kein Angreifer den Text während des Transports verändert hat. In die Anwendung PGP integriert ist die Verwaltung der öffentlichen Schlüssel in einem so genannten Key-Ring (Schlüsselbund). In diesem sind die Schlüssel nach ihrer Vertrauenswürdigkeit bewertet.

Dn151204.590B5404BFEA7F06684DB47B00539355(de-de,TechNet.10).png Zum Seitenanfang

Sichere Transportschicht

Eine flexible Möglichkeit für verschiedenste sicherheitskritische Anwendungen wird durch eine sichere Transportschicht bereitgestellt. Am Beispiel von HTTP wird ein zusätzliches Protokoll zwischen TCP und Anwendungsprotokoll eingeschoben. Das Protokoll verwendet die Funktionalitäten von TCP und ergänzt sie um eine entsprechende Sicherung. Aus Sicht der Anwendung ändert sich nichts, außer dass jetzt die Transportschicht sicher ist. Zur Kennzeichnung hängt man an die Abkürzung des Anwendungsprotokoll den Buchstaben S für Secure an (zum Beispiel HTTPS für HTTP Secure).

Dn151204.92D753A96B4A2A231760E9B076EA8187(de-de,TechNet.10).jpeg

Der IETF-Standard dazu ist TLS (Transport Layer Security), eine Weiterentwicklung des ursprünglich von der Firma Netscape Communications entwickelten Protokolls SSL (Secure Sockets Layer). Der Ablauf entspricht den bereits besprochenen Grundprinzipien. Der Client benutzt den öffentlichen Schlüssel des Servers, um einen so genannten Sessionkey zu übermitteln. Dieser Sessionkey ist ein einmaliger Schlüssel, gültig nur für die aktuelle Verbindung, zur symmetrischen Verschlüsselung der Daten.

Dn151204.590B5404BFEA7F06684DB47B00539355(de-de,TechNet.10).png Zum Seitenanfang

Literatur

© www.tecCHANNEL.de

[1] S. Singh. Geheime Botschaften. Carl Hanser Verlag, München, 2000

[2] National Institute of Standards and Technology (NIST). FIPS Publication 81: DES Modes of Operation, December 2, 1980

[3] X. Lai and J. Massey. A proposal for a new block encryption standard. In I. B. Damgard, editor, Proc. EUROCRYPT 90, pages 389-404. Springer-Verlag, 1990. Lecture Notes in Computer Science No. 473

[4] W. Diffie and M. E. Hellman. New directions in cryptography. IEEE Trans. Inform. Theory, IT-22:644-654, November 1976

[5] W. Diffie, The first ten years of public-key cryptogratphy. Proc. IEEE, 76(5):560-577, May 1988

[6] Philip Zimmermann, Christopher Creutzig, and Andreas Buhl. PGP – Pretty Good Privacy – Der Briefumschlag für Ihre elektronische Post. Art d’Ameublement, 1999

Dn151204.590B5404BFEA7F06684DB47B00539355(de-de,TechNet.10).png Zum Seitenanfang

| Home | Technische Artikel | Community