Alia2
Aus ProgrammingWiki
< PMG2224 4 | Einführung
Inhaltsverzeichnis |
TLS und HTTPS
1. TLS
1.1) Was ist das?
- Transport Layer Security (=Transportschichtsicherheit)
- Protokoll der Schicht 5 des ISO/OSI-Schichtenmodells
- Erweiterung des TCP
- eine Verschlüsselung, die einem anderen Protokoll vorgeschalten bzw. in dieses integriert ist
- Aufgabe: verschlüsselte Übertragung von Daten im Internet (oder anderen Netzwerken)
- beispielsweise von Browsern für sichere HTTPS-Verbindungen verwendet
- Ziel: Schutz der übertragenen Daten vor unbefugten Zugriffen Dritter und vor Manipulation oder Fälschung
1.2) Die Kommunikation per TLS
Man unterteilt in folgende Phasen:
- Aufbau einer Verbindung (Client und Server weisen für eine vertrauenswürdige Verbindung gegenseitig durch ein Zertifikat ihre Identitäten nach)
- -zwischen dem sendenden und dem empfangenden System wird ein verschlüsselter Kanal initiiert ( =TLS-Handshake )
- 2. Übertragung der Daten unter Verwendung eines Verschlüsselungsalgorithmus (im ISO/OSI-Schichtenmodell befindet sich die Transport Layer Security auf dem Layer 5)
Die Erzeugung eines sogenannten TLS Session-Schlüssels ist wichtig (einmalig nutzbar und symmetrisch). Dieser ist das Ergebnis des TLS-Handshakes und darf nur dem TLS-Client und dem TLS-Server bekannt sein.
1.3) Nützliche Protokolle
- TLS Record Protocol
- Alert Protocol
- Change Cipher Spec Protocol
- Application Data Protocol
1.4) Wo kommt TLS zum Einsatz?
- nahezu alle Bereiche, in denen Datenübertragung stattfindet
- Standard beim Surfen im Internet oder beim Versenden von E-Mails (flächendeckende Nutzung)
- Verschlüsselung mit TLS im E-Mail-Verkehr: SMTPS, IMAPS, POP3S
Der wohl bekannteste Anwendungsfall von TLS ist die Verschlüsselung der Datenübertragung in Webbrowsern mit Hilfe des HTTPS-Protokolls.
2. HTTPS
2.1) Was ist das?
- Hypertext Transfer Protocol Secure (=Sicheres Hypertext-Übertragungsprotokoll)
- Erweiterung des HTTP
- Kommunikationsprotokoll im World Wide Web, das mit verschlüsselter Kommunikation operiert
- technisch handelt es sich bei HTTPS um die Kombination von herkömmlichen HTTP-Verbindungen und TLS-Verschlüsselung
- Aufgabe: 1) Daten verschlüsselt und somit möglichst abhör- sowie fälschungssicher übertragen
- etwa beim Online-Banking oder im E-Commerce (mittlerweile aber Standard im Internet)
- 2) Webserver wird authentifizieren (ein Zertifikat an den Webclient senden)
2.2) Wie funktioniert HTTPS?
- Funktion nach Client-Server-Prinzip (Client ist in der Regel der Webbrowser, HTTP-Server ist der Webserver)
- Webbrowser sendet eine Anfrage an den Webserver (adressiert eine Datei auf dem Server) -> Webserver bearbeitet sie und schickt eine Antwort
- übermittelt er im Header eine URL
- Anfrage und Antwort bestehen aus einem Header mit Steuerinformationen und den eigentlichen Daten
- Server authentifiziert sich zusätzlich mittels eines SSL/TLS-Zertifikats
- Client schickt Server zufällige Zahl (mit dem Zertifikat des Servers verschlüsselt)
- Client und Server errechnen Schlüssel zur Kodierunng der Kommunikation)
- Die Kommunikation selbst basiert auf dem Textformat (erfolgt über TCP)
Wenn eine URL mit vorangestelltem https:// angegeben wird, dann ergänzt der Webbrowser sie automatisch mit der Port-Nummer 443. Diese Nummer teilt dem empfangenden Computer mit, dass er über TLS/SSL kommunizieren soll.
3.Fazit
Das Abhören, Manipulieren oder Übernehmen von HTTPS-verschlüsselten Sitzungen gestaltet sich für Angreifer um ein Vielfaches schwieriger als bei herkömmlichen HTTP-Verbindungen. Hundertprozentige Sicherheit garantiert aber auch HTTPS nicht, denn vor Implementierungsfehlern und Schwachstellen ist TLS trotz aller Sorgfalt nicht komplett sicher.