Protokolle für die Übertragung schützenswerter Daten auf Netzen

Kommentieren Drucken
Teil 57 von 71 aus der Serie "Professionelle Datenkommunikation"
Alle Artikel der Serie "Professionelle Datenkommunikation":

Wir haben in den vergangenen Teilen schon mehrfach darauf hingewiesen, dass sich zwei wesentliche Protokolle, nämlich S-HTTP und SSL entwickelt haben, die von den modernen Browsern, E-Business Servern sowie anderen Anwendungen unterstützt werden. Der Unterschied zwischen ihnen ist, dass S-HTTP einer Anwendung unmittelbar Sicherheitseigenschaften verleiht, während SSL die Sicherheit eher dem gesamten Datenstrom zwischen Client Browser und Server Anwendungen verleiht.

Das Bild zeigt die Eingliederung der Mechanismen in das Schichtenmodell. Dabei sieht man, dass man SHTTP und HTTP alternativ verwenden kann, während die SSL, einmal aktiviert, für alle unumgänglich ist.

S-HTTP: Secure Hyper Text Transfer Protocol
Dieses Protokoll ist völlig kompatibel zum bestehenden HTTP, verfügt aber im Gegensatz zu diesem über Sicherheitsfunktionen wie Absender Authentifikation, Ursprungsnachweis sowie Vertraulichkeit und Unversehrtheit von Daten. Diese Sicherheitsfunktionen sind in den kommerziellen Anwendungen integriert, von denen aus sie benutzt werden sollen, also z.B. in Browsern. Sie können wählen, ob Sie diese Funktionen nutzen oder nicht.

HTTP definiert die Interaktion zwischen Web Browsern und Web Servern, indem es festlegt, wie Requests von Browsern von den Web Servern behandelt werden. Ein Browser sendet einen Request für Information, die auf einem Server liegt, und wenn es eine Verbindung zu dem Server gibt und die gewünschte Information dort liegt, wird der Server die Information auch zum Browser schicken. HTTP ist ohne Sicherheitsfunktionen entwickelt worden. Die Schutzmechanismen des S HTTP umfassen Digitale Unterschrift für die Absender Authentifikation, Authentifikation von Nachrichten und Verschlüsselung von Nachrichten. Diese Mechanismen können einzeln oder zusammen benutzt werden. Dies wird zwischen Browser und Server ausgehandelt.

Weil S HTTP eine unmittelbare Weiterentwicklung von HTTP ist können S HTTP Browser auch mit ”normalen” HTTP Servern kommunizieren. URLs, die mit S HTTP geschützt sind, haben am Anfang eben nicht http://, sondern shttp:// stehen. Ein komplexeres Kommunikationsprotokoll hat eine Menge von Optionen und Möglichkeiten. Diese müssen normalerweise zwischen den Partnern erst ausgehandelt werden. Um S HTTP zu einem weitverbreiteten Standard zu machen, muss man allen Benutzerkreisen möglichst weit entgegenkommen und entsprechend viele Möglichkeiten zulassen. Es werden verschiedene Parameter ausgehandelt: ”Property” beschreibt die ausgehandelten Verfahren z.B. für die digitale Unterschrift oder den Algorithmus zur Verschlüsselung generell, ”Value” gibt dann dazu weitere Eigenschaften an, wie die Art der Verschlüsselung für die Unterschrift usf., ”Direction” legt die Rollen als Client oder Server fest und ”Strength” die Art und Weise, die der Verhandlungspartner von seinem Gegenüber im Umgang mit den Inhalten der Kommunikation verlangt, also z.B. ob alles immer so und so verschlüsselt werden soll oder nur die Unterschriften usf. …

S-HTTP unterstützt wirklich ein weites Spektrum. So kann man zunächst angeben, ob die Daten einfach verschlüsselt werden können, oder ob eine digitale Unterschrift erforderlich ist oder ob darüber hinaus noch eine Authentifikation durch eine vertrauenswürdige Stelle gewünscht wird. Die Datenverschlüsselung selbst kann nach mindestens sechs verschiedenen Verfahren realisiert werden. Die Schlüssel selbst können als geheime Schlüssel, öffentliche Schlüssel oder nach Kombinationsverfahren verwaltet werden. Die digitale Unterschrift kann nach RSA oder nach DSS, einem von der Nationalen Sicherheits-Agentur in USA entwickelten Standard, erfolgen. Schließlich können wie Public-Key-Zertifikate nach den Normen X.509 oder PKCS 6 ausgestellt werden.

S HTTP kapselt die HTTP Interaktionen zwischen Browser und Server. Das bedeutet, dass Daten zwischen Browser und Server oder umgekehrt in einen speziellen S HTTP Datenbehälter eingepackt werden. Der Behälter benutzt das gleiche Basisformat wie HTTP.

SSL Secure Sockets Layer
Im Gegensatz zu anderen Verfahren wurde dieses alleine vom bis 1997 amtierenden Marktführer für Browser, der Fa. Netscape, entwickelt. Hier wird nicht das HTTP erweitert, sondern über TCP eine Sicherheitszone geschaffen, die dann praktischerweise auch für alle anderen anwendungsorientierten Protokolle funktioniert und für diese völlig transparent im Sinne von durchsichtig ist. SSL stellt folgende Sicherheitsfunktionen zur Verfügung:

  • Server Authentifikation
  • Client Authentifikation
  • Vertraulichkeit und Unversehrtheit der Nachrichten

URLs, die mit SSL geschützt sind, werden mit dem Vorzeichen https:// statt http:// benutzt. Die gesamte SSL geschützte Kommunikation wird im sog. SSL Record Protocol eingeschlossen. Dieses enthält auch bestimmte formatierte Header und Datenfelder. Deshalb benutzt HTTP über SSL einen anderen TCP Port, nämlich 443, als in der ungeschützten Kommunikation (Port 80). Will man eine Verbindung zu einem SSL Server aufbauen, muss man das SSL Handshake Protokoll durchlaufen. In diesem Protokoll werden die Authentifizierung und die Verhandlung eines Verschlüsselungsverfahrens und des dazugehörigen Schlüssels vorgenommen. Hierfür gibt es mindestens acht verschiedene Möglichkeiten von der einfachen Stream Verschlüsselung bis zur Blockverschlüsselung. SSL kann auch Rücksicht darauf nehmen, dass es von einem Verschlüsselungsverfahren unterschiedliche Versionen gibt, z.B. eine US Version mit (brauchbarem) 128 Bit Schlüssel und eine Export Version mit (völlig unbrauchbarem) 40 oder 56 Bit Schlüssel. Die Public Key Zertifikate werden nach X.509 Standard ausgestellt.

« Teil 56: VerschlüsselungsverfahrenTeil 58: Sicherheitsaspekte in WLANs »


zugeordnete Kategorien: LAN
zugeordnete Tags:

Sie fanden diesen Beitrag interessant? Sie können



Anmerkungen, Fragen, Kommentare, Lob und Kritik:

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*

.