S-HTTP
# S-HTTP

SHTTP im TCP/IP-Protokollstapel: :
| Anwendung | SHTTP | SHTTP | SHTTP | SHTTP | SHTTP |
| Transport | TCP | TCP | TCP | TCP | TCP |
| Internet | IP (IPv4, IPv6) | IP (IPv4, IPv6) | IP (IPv4, IPv6) | IP (IPv4, IPv6) | IP (IPv4, IPv6) |
| Netzzugang | Ethernet | Token Bus | Token Ring | FDDI | … |
S-HTTP oder auch SHTTP steht für Secure Hypertext Transfer Protocol, ein mittlerweile obsoletes 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.
Das Protokoll wurde mit dem Status „Experimental“ von der IETF im Jahr 1999 als RFC 2660 veröffentlicht.
Statt S-HTTP wird heutzutage 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.

## Beispielimplementierungen von SHTTP

Eine Beispielimplementierung von SHTTP stellen Secure Mosaic und Secure NCSA httpd dar, die über das CommerceNet verfügbar sind.