PMG inf3/Einführung/P****n
Aus ProgrammingWiki
Wiki-Quelltext dieser Seite.
='''HTTPS und TLS'''=
----
==Definition==
===HTTPS===
<font color=green>Hypertext Transfer Protocol Secure</font> ist die '''sichere Version''' des HTTP-Protokolls, das für die Übertragung von Webseiten im Internet verwendet wird. Während bei '''HTTP''' die Informationen '''unverschlüsselt''' übertragen werden, sorgt das zusätzliche '''"S"''' bei HTTP'''S''' für '''Sicherheit'''. Das bedeutet, dass die Verbindung zwischen Ihrem Webbrowser und der Website mithilfe von TLS '''verschlüsselt''' ist. Diese Verschlüsselung schützt die übertragenen Daten vor unbefugtem Zugriff und stellt sicher, dass die Informationen während der Übertragung nicht verändert werden. [[https://www.cloudflare.com/de-de/learning/ssl/why-is-http-not-secure/?]
[https://www.security-insider.de/was-ist-https-a-72aeabadc6cbdd5939cebdf3a792b4f2/?cflt=rel&utm_source=]
[https://www.myrasecurity.com/de/knowledge-hub/https/]]
===TLS===
<font color=green>Transport Layer Security</font> funktioniert wie ein '''"unsichtbarer Schutzmechanismus"''', der Ihre Daten während ihrer Übertragung im Internet sichert. Der Server verwendet es, um zu beweisen, dass er
vertrauenswürdig ist. TLS ist der Nachfolger des mittlerweile veralteten SSL-Protokolls. Ursprünglich wurde TLS entwickelt, um die '''Kommunikation''' zwischen Browsern und Webservern zu '''schützen'''. Heute wird es auch in vielen anderen Bereichen eingesetzt, überall dort, wo Daten '''sicher und verschlüsselt''' übertragen werden müssen. Das TLS-Zertifikat ist ein digitales Dokument, welches die Identität einer Webseite bestätigt und Informationen über den Besitzer und den öffentlichen, für die Verschlüsselung verwendeten Schlüssel beinhaltet. [[https://netzwerk-guides.de/tls-transport-layer-security/?]]
----
==Was haben die Beiden miteinander zu tun?==
<u>'''HTTPS''' nutzt '''TLS'''</u>, um die '''Datenübertragung''' zwischen Webbrowser und Server zu '''verschlüsseln'''. Während HTTP die Grundlage für die Kommunikation im Web bildet, sorgt die zusätzliche TLS-Schicht bei HTTPS für die sichere Verschlüsselung und Authentifizierung der Daten. [[https://www.cloudflare.com/de-de/learning/ssl/transport-layer-security-tls/]]
Ohne die TLS-Schicht wäre es also einfach '''HTTP''', die '''unsichere Version''' des Protokolls. In diesem Fall werden die Daten '''unverschlüsselt''' übertragen und jeder der dazwischen sitzt ''(zum Beispiel ein Hacker im gleichen Netzwerk)'', könnte die Kommunikation abfangen oder manipulieren.[[https://www.youtube.com/watch?v=tW1-CmggG9s]]
----
==TLS-Protokollschichten==
''TLS besteht aus zwei Hauptschichten:''
:<u>'''TLS Record Protocol:'''</u>
::verantwortlich für eine sichere Verbindung durch Verschlüsselung und Integritätsprüfung <!--also dass die Daten echt sind und nicht auf dem Weg irgendwie durch dritte verändert wurden--> der übertragenen Daten
:<u>'''TLS Handshake Protocol:'''</u>
::Ermöglicht die Authentifizierung zwischen Client und Server sowie die Aushandlung von Verschlüsselungsalgorithmen und Sitzungsschlüsseln. [[https://www.ibm.com/docs/en/cics-ts/6.x?topic=layers-transport-layer-security-tls&utm]]
----
==Wie bekommt man ein TLS-Zertifikat?==
*Eine Website benötigt ein '''TLS-Zertifikat''' von einer vertrauenswürdigen Zertifizierungsstelle (CA), um eine sichere Verbindung aufzubauen.
*CA prüft Zertifikat auf '''Gültigkeit, Vertrauenswürdigkeit''' und '''Übereinstimmung''' mit der Website
*Zertifikat enthält '''öffentliche Schlüssel''', für sichere Verschlüsselung während des '''TLS-Handshakes'''
''TLS-Zertifikate müssen regelmäßig erneuert werden, um Sicherheit zu gewährleisten.'' [[https://youtu.be/gIAUPDViHiI?feature=shared][https://youtu.be/fEUdMxy3AVk?feature=shared]]
----
==Woran erkenne Ich HTTPS?==
:::::::[[Bild:P****n_Screenshot_2025-04-11_180327.png]]
# URL beginnt mit <font color=blue>'''https://'''</font>
# geschlossenes '''Vorhängeschloss''' in Adresszeile des Browsers
# Klick auf das '''Schlosssymbol''' - Informationen zum verwendeten Sicherheitszertifikat
----
==Ziel von HTTPS==
# '''Vertraulichkeit''' durch Verschlüsselung
# '''Datenintegrität''' ''(keine Veränderung der gesendeten Daten auf dem Weg)''
# '''Authentizität''' ''("echte Webseite")'' [[https://www.marcobeierer.de/wissen/ssl-tls-und-https-erklaert]]
----
==Wie funktioniert HTTPS?==
[[Bild:P....n Übersicht TLS-Handshake.jpg| miniatur|290px]]
'''HTTP''' und '''HTTPS''' sind zwei Protokolle, über die Ihr Webbrowser mit einem Webserver kommuniziert, zum Beispiel wenn Sie eine Webseite aufrufen.
*Browser (Client) '''sendet Anfrage''' an Server
*Server '''verarbeitet''' Anfrage, sendet angeforderte Webseite und sein TLS-Zertifikat an den Browser
*Browser '''prüft''' Zertifikat (z. B. Gültigkeit und Vertrauenswürdigkeit)
*Browser sendet verschlüsselte '''Zufallszahl''' zurück an Server
*Browser und Server, berechnen aus dieser Zufallszahl '''geheimen Sitzungsschlüssel''' (nur ihnen bekannt)
*Alle weiteren '''Daten''', die zwischen dem Browser und dem Server übertragen werden, sind mit diesem geheimen Sitzungsschlüssel '''verschlüsselt'''.
'''''Dadurch kann Niemand, der die Kommunikation abfängt, die Daten lesen oder verändern.'''''
----
==Verschlüsselung durch TLS==
TLS verwendet eine Technik namens '''Public-Key-Kryptographie'''. Dabei kommen '''zwei Schlüssel''' zum Einsatz: ein öffentlicher und ein privater Schlüssel. Der öffentliche Schlüssel wird über das '''Zertifikat''' des Servers an
den Client weitergegeben. Wenn der Client eine Verbindung zum Server aufbaut, tauschen die beiden Geräte ihre Schlüssel aus, um einen '''Sitzungsschlüssel''' zu generieren, der dann für die Verschlüsselung der Kommunikation genutzt
wird.
Alle HTTP-Anfragen und -Antworten werden mit diesem Sitzungsschlüssel verschlüsselt. Wenn ein '''Angreifer''' die Daten abfangen sollte, sieht er nur eine '''unlesbare Zeichenfolge''' statt der ursprünglichen, klaren Informationen. [[https://www.cloudflare.com/de-de/learning/ssl/why-is-http-not-secure/?]]
----
==Ist HTTPS wirklich sicher?==
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 gegen Implementierungsfehler und Schwachstellen ist TLS trotz aller Sorgfalt nicht resistent. [[https://www.myrasecurity.com/de/knowledge-hub/https/#:~:text=HTTPS%20]]
*auch '''Betrüger''' können sich HTTPS Zertifikate besorgen
*einige '''Cyberkriminelle''' nutzen die Technologie für ihre Malware- und Phishing-Angriffe, geben manipulierten Webseiten vertraulichen Anstrich
*mit '''Viren''' befallene Systeme leiten Informationen an Hacker unverschlüsselt weiter [[https://www.youtube.com/watch?v=bzTjRW3fJlc]]
*'''unsichere''' Implementierungen bei fehlerhaften Konfigurationen/ veralteten Protokollversionen
*'''abgelaufene''' Zertifikate können die Sicherheit beeinträchtigen [[https://www-globalsign-com.translate.goog/en/blog/everything-you-need-to-know-about-ssl-tls-certificate-expiry?_x_tr_sl=en&_x_tr_tl=de&_x_tr_hl=de&_x_tr_pto=rq]]
'''''HTTPS schützt die Daten während der Übertragung, garantiert aber nicht die Glaubwürdigkeit des Inhalts.'''''
----
----
===<font color=red>Fazit:</font>===
<font size=4>'''HTTPS''' sorgt für eine '''sichere Kommunikation''' im Internet, indem es das HTTP-Protokoll mit TLS (Transport Layer Security) kombiniert, um Daten zu '''verschlüsseln''' und zu '''authentifizieren'''. TLS nutzt ein Zertifikat, das von einer vertrauenswürdigen Zertifizierungsstelle ausgestellt wird, um sicherzustellen, dass die '''Verbindung sicher''' ist. Es schützt die Daten vor Abhörung und Manipulation, garantiert jedoch nicht die Vertrauenswürdigkeit der Webseite selbst. Ein geschlossenes '''Vorhängeschloss''' in der Browser-Adresszeile zeigt an, dass HTTPS aktiv ist und die Verbindung sicher ist. </font>