I
Inhaltsverzeichnis
Abbildungsverzeichnis II
Tabellenverzeichnis II II
1 Einleitung 1
2 Hypertext Transfer Protocol 2
2.1 Authentifizeirungsmethoden in HTTP 3
2.1.1 HTTP Basic Authentication 3
2.1.2 HTTP Digest Access Authentication 4
3 Secure Sockets Layer und Transport Layer Security 7
3.1 Hypertext Transfer Protocol Secure 8
3.1.1 Secure HTTP 9
3.2 Weitere Protokolle über SSL 9
3.3 SSL Implementierungen 10
3.4 SSL Protokoll Struktur 11
3.5 SSL Handshake 11
3.5.1 Handshake Messages 14
3.5.2 Session Resumption 16
3.5.3 Client Authentication 16
3.6 SSL Record Protocol 17
4 SSL/TLS Sicherheitsmechanismen 19
4.1 Schlüsselaustausch und Digitale Signatur 19
4.2 Key Derivation Function 21
4.3 Verschlüsselung 22
4.4 Hashfunktion 23
4.5 Authentifizierung 24
5 Angriffe auf SSL/TLS 25
5.1 Million Message Attack 25
5.2 Key-Exchange Algorithm-Rollback 26
5.3 Timing Attacken 26
6 Fazit 28
Literaturverzeichnis 29
II
Abbildungsverzeichnis
Bild 1 : HTTP im TCP/IP-Protokollstapel 2
Bild 2 : SSL im TCP/IP-Protokollstapel 8
Bild 3 : Übersicht des SSL Handshake 12
Bild 4 : Sequenz von Handshake Messages 14
Bild 5 : SSL Datenfragmentierung und Verschlüsselung 18
Bild 6 : Schlüsselerzeugung 22
Tabellenverzeichnis
Tabelle 1 : Portnummervereinbarung für Protokolle über TLS/SSL 10
Tabelle 2 : SSL Protokollstruktur 11
Tabelle 3 : Auswahl möglicher Cipher Suites 19
Einleitung
1 Einleitung
Kommunikationssicherheit hat als primäre Ziele: Vertraulichkeit und Integrität von Daten zu gewährleisten sowie die Authentifikation des Kommunikationspartners. Vertraulichkeit zu gewährleisten heißt übertragene Daten geheim zu halten. Integrität zu sichern bedeutet, dass man den Eingriff einer dritten Partei in die Kommunikation nachweisen kann. Die Authentifizierung des Kommunikationspartners erlaubt es, dass man sich sicher sein kann seine Daten an den „Richtigen“ zu übertragen.
Der Datentransport über Computernetze im Besonderen über das Internet muss als unsicher betrachtet werden. Vor einem möglichen Zugriff eines Angreifers auf das Netzwerk ist man kaum geschützt.
Die vorliegende Arbeit beschreibt zunächst kurz das Hypertext Transfer Protokoll als „das“ Protokoll des Internets, um Daten bzw. Informationen zu transportieren und die in ihm implementierte Möglichkeit der Nutzerauthentifizierung. Um eine umfassende Transportsicherheit der zu übertragenden Daten zu erreichen, müssen kryptographische Mechanismen zum Einsatz kommen. Die Arbeit stellt hier das Konzept der Secure Sockets Layer und Transport Layer Security vor, die eine Verschlüsselung der Daten auf der Transportebene bereitstellen.
1
Hypertext Transfer Protocol
2 Hypertext Transfer Protocol
Das Hypertext Transfer Protocol (HTTP) ist ein zustandsloses Datenaustausch-Protokoll zur Übertragung von Daten. Es ist eines der Protokolle, die der TCP/IP-Protokollstapel bereitstellt. Zugeordnet ist es dabei der Anwendungsschicht, wie in Bild 1 dargestellt.
Primär wird es im Rahmen des World Wide Web zur Übertragung von Webseiten verwendet. Durch Erweiterung seiner Anfragemethoden, Headerinformationen und Fehlercodes ist es allerdings nicht auf Hypertext beschränkt, sondern wird zum Austausch beliebiger Daten verwendet.
Das Protokoll wurde 1989 von Tim Berners-Lee am CERN zusammen mit dem URL und HTML erfunden.
HTTP ist ein Kommunikationsschema, um Webseiten (oder Bilder oder prinzipiell jede andere beliebige Datei) von einem entfernten Computer auf den eigenen zu übertragen. Zusätzliche Informationen wie Angaben über den Browser, gewünschte Sprache etc. können über einen Header in jeder HTTP Kommunikation übertragen werden.
Bei HTTP 1.0 wird vor jeder Anfrage eine neue TCP Verbindung aufgebaut und nach Übertragung der Antwort wieder geschlossen. Enthält eine HTML-Datei Verweise auf
2
Hypertext Transfer Protocol
zehn Bilder, so werden insgesamt elf TCP Verbindungen benötigt, um die Seite auf einem grafikfähigen Browser aufzubauen. In der Version 1.1 von HTTP können mehrere Anfragen pro TCP Verbindung gemacht werden. Für die HTML-Datei mit zehn Bildern wird so nur eine TCP Verbindung benötigt.
Informationen aus früheren Anforderungen gehen verloren (zustandsloses Protokoll). Über Cookies in den Headerinformationen können aber Anwendungen realisiert werden, die Status- bzw. Sitzungseigenschaften erfordern (Benutzereinträge, Warenkörbe) (WIKIPEDIA 2005a).
Als einen Aspekt der Kommunikationssicherheit ist eine Benutzerauthentifizierung via HTTP möglich und soll im Nachfolgenden dargestellt werden.
2.1 Authentifizierungsmethoden in HTTP
Um bestimmte Bereiche oder Dateien eines öffentlichen Web-Servers nur einem eingeschränkten Nutzerkreis zur Verfügung zu stellen, bedient man sich z.B. der Nutzerauthentifizierung mit Hilfe von Nutzerkennung mit zugehörigem Passwort. Für die Authentifizierung mittels HTTP werden zwei Verfahren unterschieden: HTTP Authentication Basic und Digest Access Authentication.
2.1.1 HTTP Basic Authentication
Ein Zugriff auf ein durch Basic Authentication geschütztes Dokument läuft in folgenden Schritten ab:
Client:
Stellt HTTP Anfrage bzgl. des gewünschten Dokuments an den Server. Zu diesem Zeitpunkt ist dem Client nicht bekannt, dass es sich um ein geschütztes Dokument handelt.
3
Hypertext Transfer Protocol
Server:
Antwort Statuscode 401: “Unauthorized to access the document” und übermittelt dem Client im HTTP Header “WWW-Authenticate: Basic realm=’secure pages’”
Client:
Anhand des Statuscode und der WWW-Authenticate-Information erkennt der Client, dass es sich um Basic Authentication handelt und fordert über ein Dialogfenster die Benutzerkennung und das Passwort an. In einer neuen HTTP Anfrage übermittelt der Client mit der Anfrage einen Authorization String, der Benutzerkennung und Passwort des Users enthält.
Server:
Bei erfolgreicher Überprüfung der Client Daten wird das angeforderte Dokument an den Client übermittelt. Andernfalls wiederholt sich die Rückgabe des Statuscode 401 und der Authentifizierungsaufforderung.
Sowohl die Kombination von Benutzerkennung und Passwort als auch das eigentliche Dokument werden Base64 codiert übermittelt, wobei es sich nicht um eine kryptographische Codierung handelt, sondern um eine allgemein bekannte Transformation des Klartextes zur besseren Übermittlung. Sicherheitsanforderungen genügt diese Codierung nicht. Ein Angreifer kann durch einfaches Abhören der Leitung (Sniffer-Attacke) neben dem geschützten Dokument auch an die
Authentifizierungsdaten des Nutzers gelangen (PIETSCH 2002).
Um die unverschlüsselte Übertragung der Authentifizierungsdaten zu unterbinden, kann man sich der HTTP Digest Authentication bedienen.
2.1.2 HTTP Digest Access Authentication
Der Ablauf zur Anforderung eines Dokumentes ist hier sehr ähnlich aufgebaut:
Client:
Stellt HTTP Anfrage bzgl. des gewünschten Dokuments an den Server. Zu diesem Zeitpunkt ist nicht bekannt, dass es sich um ein geschütztes Dokument handelt. Server:
4
Hypertext Transfer Protocol
Antwortet mit Statuscode 401: „Unauthorized to access the document“ und übermittelt dem Client im HTTP Header mit dem WWW-Authenticate die Information, dass es sich um Digest Access Authentication (DAA) handelt. Außerdem wird eine zufällige Integerzahl übermittelt, der so genannte Nonce-Wert.
Client:
Auf gleiche Art und Weise wie bei Basic Authentication erkennt der Client, dass es sich um ein DAA geschütztes Dokument handelt. Nach Abfrage der Benutzerkennung und des Passworts werden diese Daten zusammen mit dem Nonce-Wert aus der Server Antwort unter Verwendung der MD5 Hashfunktion auf einen 128-Bit Wert abgebildet. In einer neuen HTTP Anfrage übermittelt der Client mit der Anfrage zusammen den berechneten Wert.
Server:
Bei erfolgreicher Überprüfung der Client Daten wird das angeforderte Dokument an den Client übermittelt. Andernfalls wiederholt sich die Rückgabe des Statuscode 401 und der Authentifizierungsaufforderung.
Im Gegensatz zur Basic Authentication werden User-ID und Passwort nicht im Klartext, sondern als Hashwert der MD5 Funktion übertragen. Der Nonce-Wert dient dazu, die Übermittlung der Benutzerdaten für diese Anfrage zu kennzeichnen. Damit genügt ein Abhören des 128-Bit-Wertes nicht. Übermittelt ein Angreifer zu einem späteren Zeitpunkt den abgefangenen Hashwert an den Server, so kann dieser aufgrund des falschen Nonce-Wertes erkennen, dass es sich nicht um den User handelt, der zuvor das Dokument angefordert hat.
Mit diesem Verfahren wird die Nutzerkennung verschlüsselt, die Übertragung des eigentlichen Dokumentes erfolgt im Klartext. Es ist ebenfalls nicht für die Übertragung sensibler Daten geeignet. Dazu kommt, dass übermittelte Dokumente u.U. im Cache des Browsers oder eines Proxy Servers für einen gewissen Zeitraum verbleiben und an diesen Stellen von unbefugten Personen eingesehen werden können (PIETSCH 2002).
Die Verfahren der Authentifizierung, die über HTTP zur Verfühgung gestellt werden, stellen keine Transportsicherung der zu übertragenden Daten dar. Sie sind für
5
Arbeit zitieren:
Master Of Science Henning Fleischmann, 2005, Transportsicherheit SSL TLS, München, GRIN Verlag GmbH
Dieser Text kann über folgende URL aufgerufen und zitiert werden:
Einbetten
DOI
IT-Sicherheit in KMU - Umsetzung von IT-Sicherheit in KMU gem. IT-Grun...
Informatik - Wirtschaftsinformatik
Wissenschaftliche Studie, 73 Seiten
Schwachstellenanalyse der Informationssicherheit
Informatik - Wirtschaftsinformatik
Diplomarbeit, 66 Seiten
Prozessorientiertes Service Management: CobiT
Informatik - Wirtschaftsinformatik
Hauptseminararbeit, 49 Seiten
Einfluss der Globalisierung auf die Unternehmenskultur
BWL - Unternehmensführung, Management, Organisation
Seminararbeit, 61 Seiten
Henning Fleischmann's Text Transportsicherheit SSL TLS ist nun auf dem Buchmarkt erhältlich
Henning Fleischmann hat den Text Transportsicherheit SSL TLS veröffentlicht
Henning Fleischmann hat einen neuen Text hochgeladen
Aprenda Internet y WWW Visualmente = Teach Yourself Internet & WWW Vis...
Ruth Maran, Paul Whitehead
Transportsichere Verpackung und Ladungssicherung
Ratgeber für Verpacker, Verlad...
Gerhard Großmann, Monika Kaßmann, Wilfried J. Bartz, Elmar Wippler
Internet y la World Wide Web Guia Visual = Internet and WWW Simplified
Ruth Maran, Maran Graphics Development Group
Impacts and Risk Assessment of Technology for Internet Security
Enabled Information Small-Medi...
Charles A. Shoniregun
Wired/Wireless Internet Communications
Second International Conferenc...
Peter Langendoerfer, Mingyan Liu, Ibrahim Matta, Vassilis Tsaoussidis
0 Kommentare