S-HTTP
S-HTTP oder auch SHTTP steht für Secure Hypertext Transfer Protocol, ein Protokoll der Internetprotokollfamilie, das 1995 von Eric Rescorla und Allan M. Schiffmann bei Enterprise Integration Technologies entwickelt wurde. Es definiert eine verschlüsselte Datenübertragung über das Hypertext Transfer Protocol (HTTP), also den Datenaustausch zwischen Webserver und Webbrowser im World Wide Web.
Anwendung | SHTTP | ||||
Transport | TCP | ||||
Internet | IP (IPv4, IPv6) | ||||
Netzzugang | Ethernet | Token Bus |
Token Ring |
FDDI | … |
Nicht alle Webbrowser unterstützen S-HTTP. Das Protokoll wurde mit dem Status „Experimental“ von der IETF im Jahr 1999 als RFC 2660 veröffentlicht.
Heute wird dagegen meist Hypertext Transfer Protocol Secure (HTTPS) verwendet, das die Daten über einen sicheren SSL/TLS-Tunnel zwischen Server und Client überträgt. S-HTTP dagegen verschlüsselt jede einzelne Anfrage, kapselt also die Nutzdaten; die Header dagegen nicht. Dadurch kann S-HTTP gleichzeitig mit HTTP (ungesichert) auf dem gleichen Port verwendet werden.
In SHTTP kommen verschiedene kryptographische Standardmethoden zur Anwendung. Der Schutz der Daten erfolgt durch die beliebige Kombination dreier Mechanismen:
- Authentisierung
- Verschlüsselung
- digitale/elektronische Unterschrift
Dabei werden der durch SHTTP gekapselten HTTP-Nachricht einige Kopfzeilen hinzugefügt, die das Format der gekapselten Daten beschreiben. Mögliche Standardformate sind Pretty Good Privacy (PGP), Privacy Enhancement for Electronic Mail (PEM) und PKCS-7, wobei nur mit PKCS-7 alle SHTTP Features ausgenutzt werden können.
Zusätzlich kann ein Absender per Hash-Funktion einen Message-Digest mitgeben, der eine Daten-integrität gewährleisten kann. Enthält dieser Message-Digest auch noch einen Zeitstempel, so sind die Kommunikationspartner vor sogenannten "Replay-Attacken" geschützt. Eine abgefangene, nicht manipulierte Nachricht kann auf diese Weise nicht unentdeckt, zu einem späteren Zeitpunkt an den Server gesendet werden. Durch Lesen des Zeitstempels im Original-Request erkennt der Server, anhand der Zeitüberschreitung, den unberechtigten Zugriffsversuch und lehnt ihn ab.
Auf Grund der Struktur und der Möglichkeiten von SHTTP, müssen bei Anwendung dieses Protokolls niemals Klartextinformationen über das Internet übertragen werden. Daraus ergeben sich vielfältige Anwendungsmöglichkeiten.
Beispielimplementierungen von SHTTP
Eine Beispielimplementierung von SHTTP stellen Secure Mosaic und Secure NCSA httpd dar, die über das CommerceNet verfügbar sind[1].
Weblinks
- RFC 2660 – The Secure HyperText Transfer Protocol, August 1999