PMG inf3/Einführung/P****n
Aus ProgrammingWiki
Wiki-Quelltext dieser Seite.
=='''HTTPS und TLS'''== ---- ==Definition== '''HTTPS''' (Hypertext Transfer Protocol Secure) 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''' (Transport Layer Security) 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 jedoch 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?== '''HTTPS''' nutzt '''TLS''', 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. 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. ---- ==TLS-Protokollschichten== ''TSL besteht aus zwei Hauptschichten:'' :'''TLS Record Protocol:''' ::Verantwortlich für die Sicherung der Verbindung durch Verschlüsselung und Integritätsprüfung der übertragenen Daten. :'''TLS Handshake Protocol:''' ::Ermöglicht die Authentifizierung zwischen Client und Server sowie die Aushandlung von Verschlüsselungsalgorithmen und Sitzungsschlüsseln. ---- ==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.'' ---- ==Woran erkenne Ich HTTPS?== :::::::[[Bild:P****n_Screenshot_2025-04-11_180327.png]] *URL beginnt mit '''https://''' *geschlossenes '''Vorhängeschloss''' in Adresszeile des Browsers *Klick auf das '''Schlosssymbol''' - Informationen zum verwendeten Sicherheitszertifikat ---- ==Wie funktioniert HTTPS?== ''siehe Grafik'' [https://programmingwiki.de/Datei:P....n_%C3%9Cbersicht_TLS-Handshake.jpg] '''HTTP''' und '''HTTPS''' sind zwei Protokolle, über die dein Webbrowser mit einem Webserver kommuniziert, zum Beispiel wenn du eine Webseite aufrufst. *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. [https://www.cloudflare.com/de-de/learning/ssl/why-is-http-not-secure/?] 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. ---- ==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 schützt die Daten während der Übertragung, garantiert aber nicht die Glaubwürdigkeit des Inhalts.''''' ---- ---- ===Fazit:=== '''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.