.... [Seminar WWW und Java ] ... [ Thema Verschlüsselung im Internet ] ... [ Wichtige Algorithmen ] ...
Definition :
Datensicherung : Sammelbezeichnung für
alle technischen, materiellen und organisatorischen Maßnahmen,
die die Daten und Programme der einzelnen Benutzer wechselseitig vor
unzulässigen Zugriffen schützen [...]
(Duden Informatik)
Diese sehr allgemeine Definition sollte für die Anwendung im Internet etwas konkretisiert werden. Dazu sollen hier einige unveränderliche Tatsachen des Internets genauer betrachtet werden :
Wegen der offenen Struktur des Internets muß man davon ausgehen, daß Daten potentiell von sehr vielen Benutzern gelesen werden können
Jede Maßnahme zur Datensicherung ist allgemein zugänglich
Die Kommunikation im Internet verläuft praktisch anonym
Gesetzliche Sicherungen (wie z.B. das Postgeheimnis) sind nicht gegeben
Die sich aus diesen Tatsachen ergebenden Anforderungen an eine ausreichend sichere Kommunikation über das Internet und ihre Umsetzungen sollen im folgenden genauer betrachtet werden :
Verschlüsselung (Chiffrierung) dient dazu, Daten für Unbefugte unkenntlich zu machen. Da wir an dieser Stelle davon ausgehen, daß die Algorithmen zur Verschlüsselung allgemein zugänglich sind, ist es sinnvoll, zusätzlich zum Algorithmus noch einen Schlüssel zu verwenden. Der unverschlüsselte Text wird im folgenden Plaintext genannt, der verschlüsselte Text ist der Chiffretext.
Im einfachsten Fall wird zum chiffrieren und dechiffrieren derselbe Schlüssel verwendet. Diese Art der Verschlüsselung wird als Symmetrische Verschlüsselung oder secret-key Verschlüsselung bezeichnet. Der Vorteil der Symmetrischen Verschlüsselung liegt in der Geschwindigkeit, mit der Maschinen diese Aufgabe übernehmen können. Der Nachteil liegt darin, daß man einen sicheren Kanal braucht, um dem Empfänger den Schlüssel zukommen zu lassen.
Das Problem der Schlüsselübermittlung wird mit Hilfe der Asymmetrischen Verschlüsselung umgangen. Bei dieser Verschlüsselungstechnik werden 2 Schlüssel verwendet. Einer von beiden, der public key, kann frei verteilt werden. Der andere, der private key, ist geheim zu halten. Der Plaintext wird unter Verwendung des public key verschlüsselt. Eine verschlüsselte Nachricht kann dann nur mit einem zugehörigen private key wieder entschlüsselt werden. Umgekehrt ist es auch möglich, Daten, die mit dem private key verschlüsselt wurden, mit dem zugehörigen public key zu entschlüsseln. Diese Verschlüsselungsmethode wirft jedoch wieder neue Probleme auf. Ein Nachteil dieser Methode ist der erhebliche Rechenaufwand, der mit der Ver- und Entschlüsselung verbunden ist.
Dieser Nachteil kann mit Hilfe einer Hybriden Verschlüsselung aufgehoben werden. Bei dieser Technik werden Daten mit symmetrischen Algorithmen und einem secret key verschlüsselt. Dieser secret key wiederum wird asymmetrisch mit dem public key des Empfängers verschlüsselt und mit den Daten zusammen verschickt. Der Empfänger kann mit Hilfe seines private key den secret key entschlüsseln und mit dem wiederum die Daten. Der secret key, der nur für diese eine Übertragung genutzt wird, heißt auch session key.
Deutlich schwerwiegender bei der
asymmetrischen wie der hybriden Verschlüsselung ist jedoch
die Problematik, daß der Empfänger nie sicher sein kann,
von wem die Daten kommen. Ebenso kann der Sender nie sicher wissen,
daß er den public key des Empfängers verwendet.
Beispiel
: Absender (A) möchte Empfänger (E) vertrauliche Daten
übermitteln. Keiner von Ihnen weiß, daß ein Mithörer
(M) ihre Kommunikation verfolgt. E sendet A seinen public key, der
von M abgefangen und durch seinen eigenen ersetzt wird. A
versendet also Daten, die von M entschlüsselt werden können.
M reicht diese Daten dann ggf. modifiziert und mit E's public key
verschlüsselt, an E weiter.
Selbst wenn A den 'richtigen'
Schlüssel hat, kann M sie zwar nicht mehr lesen, aber immerhin
austauschen.
Ein solcher Angriff auf Datenübertragungen wird
'Man-in-the-middle-attack' genannt und ist wegen der offenen
Struktur des Internets relativ einfach zu realisieren.
Die Sicherung der Datenintegrität soll sicherstellen, daß gesendete Daten unverändert beim Empfänger ankommen. Die gesendeten Daten müssen also mit einer Art Checksumme oder Message Digest (MD)versehen werden. Algorithmen, die das bewerkstelligen, werden als Hash-Algorithmen bezeichnet. Der MD eines Datenpaketes darf dabei allein vom Datenpaket selbst abhängen, weshalb die Verwendung von Schlüsseln jeder Form ausgeschlossen ist.
Auf den oben angesprochenen Fall eines 'Man-in-the-middle-attacks'
gewinnen wir durch die Verwendung eines MD auf den ersten Blick
nichts. Der Angreifer kann ein Datenpaket abfangen, ersetzen, das
Ersatz-Datenpaket mit einem MD versehen, und an den Empfänger
weiterleiten.
Dennoch sind Hash-Algorithmen für eine
Authentifizierung unerläßlich.
Kommen wir zum krönenden Abschluß : Authentifizierung beschreibt die Möglichkeiten des Empfängers sicher zu sein, daß die empfangenen Daten auf dem Weg durch das Internet weder vertauscht noch verändert wurden. Authentifizierung gibt außerdem die Sicherheit, daß der Sender auch genau der ist, der er zu sein vorgibt.
Die Möglichkeiten, eine Nachricht zu authentifizieren sind eine Verbindung aus asymmetrischer Verschlüsselung und Hash-Algorithmen. Zu dem zu authentifizierende Datenpaket wird zunächst ein MD gebildet. Dieser MD wird dann mit dem private key des Absenders verschlüsselt. Der Empfänger kann dann mit Hilfe des public key des Senders und Überprüfung des MD sicherstellen, daß die Nachricht nicht verändert wurde und tatsächlich von dem Absender stammt, da ja nur der Absender den MD mit seinem private key verschlüsselt haben kann. Die Verschlüsselung des MD verläuft bei der Authentifizierung also genau andersherum als bei der eigentlichen Nachricht.
Kommen wir nochmal auf den 'Man-in-the-middle' zurück : Der
Empfänger sendet dem Absender seinen public key zu. Der
Mithörer vertauscht diesen public key mit seinem eigenen.
Er kann die Nachricht, die der Absender sendet, jetzt lesen, jedoch
auf keinen Fall verändern, da er den private key des
Absenders nicht kennt, und daher einen neuen MD nicht richtig
verschlüsseln kann.
Sollte er jedoch die public keys
der Gesprächspartner nicht austauschen können, kann der
Angreifer nichts machen, außer feststellen, daß eine
Kommunikation stattfindet.
Der Schwachpunkt in der Sicherung jeder Kommunikation im Internet liegt also nach wie vor im Schlüsselaustausch. Im Gegensatz zum Schlüsselaustausch der symmetrischen Verschlüsselung muß jedoch nicht der Schlüssel selbst gesichert werden. Es muß vielmehr sichergestellt werden, daß der verwendete public key von demjenigen stammt, von dem der Absender glaubt, daß er stammt. Die Mechanismen, die dies sicherzustellen, heißen Zertifizierung. Sie sind hauptsächlich organisatorischer Art und sollen hier nur der Vollständigkeit halber erwähnt werden :
Signing : ein public keys, von denen man sicher (!) weiß, von wem er kommen, kann von jedem authentifiziert werden. Er wird anschließend dem Besitzer zurückgegeben, der sich dann auf den Unterzeichner als 'Zeugen' der Echtheit des eigenen public keys berufen kann. Anderen Empfängern dieses public keys beleibt es überlassen, ob sie dem 'Zeugen' dann glauben oder nicht. Dieses Verfahren wird z.B. Bei PGP verwendet.
Zertifikate : Public Keys werden zentral durch eine bzw. wenige 'Certificate Authorities' (CA) authentifiziert (z.B durch VeriSign). Erst wenn das eigene Schlüsselpaar zertifiziert ist, kann man andere Schlüssel authentifizieren. Dieses Verfahren wird z.B. beim SSL-Protokoll angewendet.
... [Seminar WWW und Java] ... [ Thema Verschlüsselung im Internet ] ... [Konzepte] ... [Wichtige Algorithmen]...