Alia2

Aus ProgrammingWiki

Wechseln zu: Navigation, Suche

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:

  1. 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. 
TlsBild.gif (Bild 1)


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.
Http.png (Bild 2)

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.


Quellen

Persönliche Werkzeuge