PMG2224 4/Einführung/Alia2

Aus ProgrammingWiki

Wiki-Quelltext dieser Seite.

='''TLS und HTTPS'''=
----
=='''1. TLS'''==


'''''1.1) Was ist das?'''''
*Transport Layer Security (=Transportschichtsicherheit) 
*Protokoll der Schicht 5 des ISO/OSI-Schichtenmodells
*Erweiterung des <font color=green>'''TCP </font>
*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 <font color=green> HTTPS-Verbindungen</font> 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 (<font color=green> =TLS-Handshake </font>)
: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. 
:::::[[Datei: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 <font color=blue>HTTP</font>
*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.

:::::::[[Datei: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]]