Mia
Inhaltsverzeichnis |
HTTPS und TLS
HTTPS und TLS werden verwendet, um sichere Verbindungen im Internet zu ermöglichen. HTTPS nutzt TLS, um eine sichere Verbindung zwischen dem User und einer Website herzustellen. TLS ist das Verschlüsselungsprotokoll, HTTPS ist die Anwendung davon im Web.
- SSL = Secure Sockets Layer
- SSL ist die Standardtechnologie für die Absicherung von Internetverbindungen durch die Verschlüsselung der Daten, die zwischen einer Website und einem Browser übertragen werden.
Durch SSL wird verhindert, dass Hacker die übertragenen Informationen mitlesen oder stehlen können. - TLS = Transport Layer Security
- TLS ist eine aktualisierte, sicherere Version von SSL. In Bezug auf Sicherheitszertifikate spricht man weiterhin von SSL, da dieser Begriff am geläufigsten ist.
- HTTPS = Hyper Text Transfer Protocol Secure
- HTTPS wird in der URL angezeigt, wenn eine Website durch ein SSL- oder TLS-Zertifikat abgesichert ist.
Die drei Hauptziele beim Einsatz von SSL/TLS :
(Beispiel an einem Online-Shop)
- Vertraulichkeit (durch Verschlüsselung)
- Garantie dafür, dass die persönlichen Daten vom Kunden nicht von Dritten abgefangen und missbraucht werden können.
- Datenintegrität
- Garantie dafür, dass eine Manipulation der Bestellung nicht möglich ist.
- Authentizität
- Sicherstellung der Identität des Verkäufers, die vom Kunden überprüfbar ist.
TLS-Protokoll
-wird zur Absicherung von HTTPS verwendet
-verwendet ein Handshake-Verfahren, um autorisierte Geräte zu authentifizieren und eine sichere Kommunikation über das Internet zu ermöglichen
-stellt sicher, dass Daten nur für autorisierte Benutzer verfügbar sind
-verhindert, dass Hacker übertragene Daten sehen oder stehlen können
-sichert die Kommunikation mit Hilfe einer asymmetrischen Public-Key-Infrastruktur(PKI).
- Privater Schlüssel: Der private Schlüssel befindet sich auf einem Webserver und wird zur Entschlüsselung der mit dem öffentlichen Schlüssel verschlüsselten Informationen verwendet.
- Öffentlicher Schlüssel: Der öffentliche Schlüssel steht allen zur Verfügung, die auf sichere Weise mit dem Server interagieren wollen. Er verschlüsselt Daten so, dass sie nur mit dem privaten Schlüssel entschlüsselt werden können.
Wie funktioniert TLS?
TLS-Handshake = Aufbau einer sicheren Verbindung zu einem Server mit TLS
- Phase
- Client generiert eine zufällige Zahl
- vor diese 28-Byte große Zahl wird ein 4 Byte langer Zeitstempel angehängt
- Ergebnis wird mit Informationen (höchste vom Client unterstützte TLS-Version, eine Session-ID, unterstützte Algorithmen für den Schlüsselaustausch, die Verschlüsselung und die Authentifizierung) über den Client zum Server geschickt
- Server generiert analog eine Zufallszahl
- schickt diese mit den Kryptoinformationen an den Client
- Austausch findet in diesem Schritt noch unverschlüsselt statt
- um sichere Verbindung zu ermöglichen, wird auf beiden Seiten ein mathematisch zusammengehörendes Schlüsselpaar (bestehend aus einem öffentlichen und einem privaten Schlüssel) generiert
- Phase
- Server sendet ein Zertifikat zusammen mit seinem öffentlichen Schlüssel an den Client
- fragt ein solches Zertifikat auch vom Client ab
- Client überprüft die Authentizität bzw. die Integrität des Zertifikats
- geht dabei gesamte CA-Kette (Kette der Certification Authorities) durch
- wenn alles passt, endet Phase 2, die ebenfalls noch keine Verschlüsselung verwendet
- Phase
- Client sendet sein Zertifikat samt seines öffentlichen Schlüssels an den Server
- Server überprüft das ihm gesendete Zertifikat
- Client berechnet Pre-Master-Secret = Zufallszahl
- bei Verwendung des RSA-Algorithmus verschlüsselt der Client Pre-Master-Secret mit öffentlichem Schlüssel des Servers
- Server kann mit seinem privaten Schlüssel die verschlüsselte Übermittlung des Pre-Master-Secrets entschlüsseln -> beide kennen das Secret
- alternativ Verwendung des Diffie-Hellman-Schlüsselaustausches -> Generieren eines gemeinsamen Pre-Master-Secrets
- zur Sicherstellung, dass sich während des Prozesses kein Angreifer eingeschlichen hat, nimmt der Client alle bisher ausgetauschten Nachrichten und bildet darüber einen Hashwert
- Hashwert = Ergebnis einer mathematischen Funktion -> y schnell berechenbar, aber passendes x praktisch nicht berechenbar
- -> in der kurzen Zeit nicht möglich, diesen Wert zu fälschen
- Client schickt Ergebnis verschlüsselt mit seinem privaten Schlüssel an Server
- Server kann verschlüsselten Hashwert mit öffentlichem Schlüssel des Clients entschlüsseln
- da der Server ebenfalls über alle ausgetauschten Nachrichten verfügt -> ebenfalls Berechnen von Hashwert
- kommt nicht das gleiche Ergebnis heraus -> Verbindung wird abgebrochen
- ist alles in Ordnung, rechnen Server bzw. Client aus dem Pre-Master-Secret das Master-Secret
- Master-Secret = gemeinsam geteiltes Geheimnis, mit dem in der nächsten Phase symmetrisch weiterverschlüsselt wird
- Beenden des Handshakes von Client und Server in Phase 4
TLS-Zertifikat
Ein TLS-Zertifikat ist ein digitaler Datensatz, der die sichere Kommunikation zwischen einem Browser und einem Webserver ermöglicht. TLS-Zertifikate sind unverzichtbar, um sensible Informationen wie Kreditkartendaten zu schützen. Ein digitales Zertifikat ist eine Datei, die die Identität des Zertifitkatsinhabers bescheinigt. Der Inhaber des Zertifikats kann eine Person, Organisation oder ein IT-System sein. Um ein TLS-Zertifikat zu erhalten, muss man im Besitz einer Domain sein.
- Arten von Zertifikaten
- öffentlich signierte Zertifikate - offiziell gültiges Zertifikat, das über eine öffentliche CA ("Certificate Authority") signiert wurde
- privat signierte Zertifikate - über eine private CA signiert
- selbstsignierte Zertifikate - signiert durch den eigenen privaten Schlüssel, nicht über eine CA
- öffentlich gültiges Zertifikat muss von einer offiziellen Zertifizierungsstelle (CA) unterschrieben werden und von allen gängigen Programmen als vertrauenswürdig akzeptiert werden
- Zertifikate sind nur für eine bestimmte Zeit gültig , z.B. ein Jahr lang, und müssen danach erneuert werden. Zur Erneuerung öffentlicher SSL/TLS-Zertifikate benötigt man eine Signaturanforderung (Certificate Signing Request, CSR)
HTTPS
HTTPS ist ein Sicherheitsprotokoll, das die Übertragung von Daten zwischen Webbrowsern und Websites verschlüsselt. Es schützt vertrauliche Informationen und stellt sicher, dass die Verbindung authentisch ist. Ein Schloss neben der IP-Adresse im Browser bedeutet, dass man durch HTTPS geschützt wird.
Wie funktioniert HTTPS?
- HTTPS basiert auf dem Protokoll HTTP, das für die Datenübertragung zwischen Websites und Webbrowsern verwendet wird
- HTTPS verschlüsselt Daten, die zwischen Benutzern und Websites eingegeben und gesendet werden
- Die Verschlüsselung erfolgt mit einem SSL/TLS-Zertifikat, das auf der Website installiert ist
- Das „S“ in HTTPS zeigt an, dass die Verbindung verschlüsselt und sicher ist, denn HTTP allein bietet keine Verschlüsselung
Wo wird HTTPS eingesetzt?
- HTTPS wird bei den meisten Webseiten und Online-Diensten eingesetzt
- Es ist besonders wichtig, wenn Benutzer sensible Daten übertragen, wie zum Beispiel Benutzernamen und Passwörter
Um eine Website auf HTTPS umzustellen, benötigt man ein SSL/TLS-Zertifikat, das bei einer Zertifizierungsstelle erhältlich ist.
Quellen: https://www.digicert.com/de/what-is-ssl-tls-and-https https://www.marcobeierer.de/wissen/ssl-tls-und-https-erklaert https://www.youtube.com/watch?v=EpmbtwL5dR0&t=38s https://www.security-insider.de/der-feine-unterschied-zwischen-tlsssl-und-https-a-65ec45c173a5dd811549c91fb6667b6b/ https://wiki.ubuntuusers.de/TLS-Zertifikate/ https://www.fortinet.com/de/resources/cyberglossary/what-is-https#:~:text=Was%20ist%20HTTPS%20und%20warum,Websites%20eingegeben%20und%20gesendet%20werden.

