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 HTTPS für '''Sicherheit'''. Das bedeutet, dass die Verbindung zwischen deinem 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. Es 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. [https://netzwerk-guides.de/tls-transport-layer-security/?]
----

====Was haben die beiden miteinander zutun?====

'''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''', also 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?====


Um eine
sichere Verbindung aufzubauen, muss eine Website ein TLS-Zertifikat von einer
vertrauenswürdigen Zertifizierungsstelle (CA) erhalten. Diese prüft die
Identität der Website und stellt das Zertifikat aus. Wenn du eine sichere Seite
besuchst, zeigt dir der Server dieses Zertifikat.


Dein Browser
prüft das Zertifikat, indem er sicherstellt, dass es von einer
vertrauenswürdigen CA kommt, gültig ist und mit der Website übereinstimmt. Ist
alles in Ordnung, vertraut dein Browser der Seite.


Die
Zertifikate enthalten auch öffentliche Schlüssel, die für die Verschlüsselung
während des TLS-Handshakes genutzt werden. Sie ermöglichen den sicheren
Austausch von Daten zwischen Browser und Server.


TLS-Zertifikate
müssen regelmäßig erneuert werden, um sicherzustellen, dass sie aktuell und
sicher bleiben.


Zusammengefasst:
TLS-Zertifikate bestätigen die Identität einer Website und ermöglichen einen
sicheren, verschlüsselten Datenaustausch, um deine Daten zu schützen. [https://netzwerk-guides.de/tls-transport-layer-security/?]








Woran
erkenne Ich HTTPS?


URL beginnt
mit https://


In der
Adresszeile des Browsers wird ein geschlossenes Vorhängeschloss angezeigt


Durch einen
Klick auf das Schlosssymbol können Informationen zum verwendeten
Sicherheitszertifikat eingesehen werden.





Wie
funktioniert HTTPS?


HTTP und HTTPS sind zwei
Protokolle, über die dein Webbrowser mit einem Webserver kommuniziert, zum
Beispiel wenn du eine Webseite aufrufst. Der Ablauf ist folgender: Dein Browser
(der Client) sendet eine Anfrage an den Server, dieser verarbeitet die Anfrage
und sendet die angeforderte Webseite zurück.


Unterschied
zwischen HTTP und HTTPS:

Bei HTTP wird die Kommunikation unverschlüsselt
über Port 80 durchgeführt. Das bedeutet, dass jeder, der in der Nähe ist
(zum Beispiel ein Hacker im selben Netzwerk), mitlesen kann, welche Daten
übertragen werden.HTTPS hingegen macht diese Kommunikation sicher,
indem es die übertragenen Daten verschlüsselt. Dies geschieht mithilfe
eines TLS-Zertifikats, das der Server verwendet, um zu beweisen, dass er
vertrauenswürdig ist.


Ablauf
der sicheren Kommunikation mit HTTPS:

Der Server sendet sein Zertifikat an den Browser.Der Browser prüft das Zertifikat und sendet eine
verschlüsselte Zufallszahl zurück.Aus dieser Zahl berechnen sowohl der Browser als
auch der Server einen geheimen Schlüssel, der nur den beiden bekannt ist.Alle weiteren Daten, die zwischen dem Browser und
dem Server übertragen werden, sind mit diesem geheimen Schlüssel verschlüsselt,
sodass niemand, der die Kommunikation abfängt, die Daten lesen oder
verändern kann.


Verschlüsselung
durch TLS/SSL:


TLS/SSL 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 SSL-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. Zum Beispiel:

Anstelle einer normalen Anfrage wie:








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 vor
Implementierungsfehlern und Schwachstellen ist SSL/TLS trotz aller Sorgfalt
nicht resistent. [https://www.myrasecurity.com/de/knowledge-hub/https/#:~:text=HTTPS%20]


einige Cyberkriminelle nutzen die
Technologie für ihre Malware- und Phishing-Angriffe, geben manipulierten
Webseiten vertraulichen Anstrich.


Auch Betrüger
können sich HTTPS Zertifikate besorgen


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.