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
|