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 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. 
[[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 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.

[[Datei:http.png]]  (Bild 2)
----
Bildquellen
*https://www.elektronik-kompendium.de/sites/net/1706131.htm   (Bild 1)
*https://www.cloudflare.com/de-de/learning/ssl/why-is-http-not-secure/  (Bild 2)


Textquellen
*https://www.comcrypto.de/wissensecke/einfach-erklaert/was-ist-tls-verschluesselung.html
*https://www.security-insider.de/was-ist-tls-transport-layer-security-a-673066/
*https://www.myrasecurity.com/de/https/
*https://www.ionos.de/digitalguide/hosting/hosting-technik/was-ist-https/