Mobile-Menu

Grundlegende Sicherheitsüberlegungen für Netzwerke – Teil 8

Asymmetrische Verschlüsselungsverfahren und Arbeitsprotokolle

Seite: 3/3

Anbieter zum Thema

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.

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 eine 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, beginnen mit „shttp://“.

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 usw., 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 immer alles verschlüsselt werden soll oder bspw. nur die Unterschriften.

S-HTTP unterstützt 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 erfolgen. Schließlich können 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 Firma 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 Präfix https:// anstelle von „http://“ benutzt. Die gesamte SSL-geschützte Kommunikation wird im so genannten 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.

(ID:2052467)