Secure HTTP
Dieses von der Firma
EIT 1994 entwickelte Protokoll stellt eine um
Sicherheitsmerkmale erweiterte Version des Hypertext Transfer
Protokolls dar. Das herkömmliche
HTTP, welches im Wesentlichen nur
einen Zugriffsschutz für eine Ressource mittels Benutzernamen und Paßwort realisiert wird damit um Verschlüsselungsmechanismen,
Authentifizierung und die Verwendung von Signaturen erweitert.
S-HTTP kennt zwei unterschiedliche kryptografische Formate für die
Verschlüsselung seiner zu transportierenden Daten:
PKCS-7
Dieser Standard für asymmetrische Verschlüsselungen wurde von der
Firma
RSA Data Security Inc. entwickelt und definiert eine Reihe
verschiedener Inhaltstypen für Nachrichten wie z.B.: unterschriebene
Daten, geordnete Daten, gepackte Daten, etc...
MIME (Multipurpose Internet Mail Extensions)
Object Security Standard (MOSS)
Dieses Verfahren beherrscht eine Reihe verschiedener Algorithmen
welche dafür sorgen sollen, daß unterschiedliche MIME-Nachrichten
jeweils unterschiedlich kodiert werden.
Zu Beginn werden analog zu
SSL durch Client und
Server die Übertragungsmodalitäten ausgehandelt. Die wesentliche
Vorgehensweise des Verfahrens ist die Einbettung von
HTTP-Nachrichten in
S-HTTP Nachrichten um eine sichere Übertragung
zu gewährleisten.
[WP97]
HTTP-Erweiterungen
Um eine S-HTTP Übertragung auch als solche zu
identifizieren und zu ermöglichen, werden einige grundlegende
Erweiterungen des
HTTP vorgenommen:
-
HTTP wird um zwei Header erweitert:
SECURITY und NONCE
-
Es wird ein neuer URL-Typ mit der Bezeichnung
"shttp://" eingeführt
-
Es werden neue Requests wie z.B. GET/SERVER-CERTIFICATE
ergänzt.
-
S-HTTP Server müßen unter anderem Zertifikate
unterstützen
-
Die Fehlerklassen 3 (Umleitungen) und 4
(Client-Fehler) werden erweitert; neue Fehler sind z.B. "402"
Zahlung erhalten, "420" Sicherheit Neuversuch, etc....
Desweiteren werden die Teile des
HTTP-Nachrichtenformates sowohl für Requests (Nachrichten von
Client zum Server) als auch für Reponses (Nachrichten vom
Server zum Client) um einige Angabe erweitert.
Request Line
Sie ist Teil eines Client-Seitigen Request und beinhaltet
normalerweise einen Uniform Resource Identifier (URI) zur
Identifikation einer Server-Seitigen Ressource und eine Methode die
beschreibt wie der Server mit dieser Ressource zu verfahren hat (GET,
HEAD, POST). Im Falle von S-HTTP ist die Methode immer als
SECURE angegeben.
Status Line
Als Teil eines Server-Seitigen Reponse enthält die Status Line
Informationen über die Protokollversion und den Status der
Übertragung. Bei S-HTTP enthält sie jedoch immer die Bezeichnung "Secure-HTTP/1.2
200 OK" um zu verhindern, das konkrete Informationen über den Status
von z.B. Zahlungstransaktionen erkennbar sind.
Header Lines
Sie beinhalten zusätzliche Informationen über die Verbindung. S-HTTP
nutzt dies zur Angabe des Austauschformates, des
Übertragungsformates oder des Schlüsselaustausches.
HTML-Erweiterungen
Auch die
HTML wird partiell erweitert. Dies
betrifft insbesondere das "<A>" Tag für die Definition von
Querverweisen (Links) aller Art. Hinzugefügt werden die Parameter:
-
DN zum Anzeigen der Signatur des
Empfängers
-
NONCE zur Definition eines Antwort
Strings bei einer Anfrage
-
CRYPTOP zur Angabe der vom Empfänger
benötigten Zertifikate
|