Was ist ein TLS Handshake & Wie funktioniert er?

Was ist ein TLS Handshake & Wie funktioniert es Blog Banner Image

TLS (Transport Layer Security) ist das sichere Kommunikationsprotokoll, das in weiten Teilen des Internets verwendet wird. Von der verschlüsselten Verbindung, die Ihr Webbrowser zum Aufrufen von Websites verwendet, bis hin zu den sicheren Verbindungen, die von Ihren Bankanwendungen genutzt werden – TLS ist der Industriestandard und der Grund dafür, dass Sie vertrauliche Daten sicher online übertragen können.

In diesem Leitfaden wird erläutert, was ein TLS-Handshake ist, wie er funktioniert und welche Bedeutung er für die Netzwerksicherheit hat, um sicherzustellen, dass Ihre Kommunikation privat bleibt und nicht abgefangen oder manipuliert wird.

Was ist ein TLS-Handshake?

Die TLS-Verschlüsselung ist das kryptografische Standardprotokoll, das zur Sicherung der Netzwerkkommunikation verwendet wird, einschließlich der Daten, die Sie über das Internet senden.

Bevor eine verschlüsselte Kommunikation stattfinden kann, muss zwischen den beiden kommunizierenden Parteien Vertrauen aufgebaut werden (z. B. zwischen dem Webserver, der eine Website hostet, und Ihrem Webbrowser, der darauf zugreift).

Der TLS-Handshake baut einen sicheren Kanal zwischen Client und Server auf, indem er mitteilt, welche TLS-Versionen und Cipher Suites von beiden unterstützt werden, die Identität des Servers mit seinem öffentlichen Schlüssel und seinem SSL-Zertifikat authentifiziert und schließlich Sitzungsschlüssel erzeugt, die zur eindeutigen Verschlüsselung der Verbindung verwendet werden.

TLS vs. SSL

TLS ist der Nachfolger von SSL (Secure Sockets Layer) und ersetzt dieses als Verschlüsselungsprotokoll, das HTTPS (das sichere HTTP-Protokoll, das Webseiten an Ihren Browser und Daten an Ihre Anwendungen übermittelt) zugrunde liegt. TLS wird auch von anderer Software verwendet, die eine sichere Netzwerkkommunikation erfordert, z. B. von VPN-Lösungen.

Beteiligte kryptografische Elemente

Die TLS-Verschlüsselung stützt sich auf mehrere kryptografische Elemente/Konzepte:

  • Die Chiffriersuite: Die Cipher Suite ist der Algorithmus, der zur Sicherung einer TLS-verschlüsselten Verbindung verwendet wird. Jede Suite enthält einen Schlüsselaustauschalgorithmus, einen Massenverschlüsselungsalgorithmus und einen MAC-Algorithmus (Message Authentication Code).
  • Symmetrische Verschlüsselung: Ein einziger kryptographischer Schlüssel wird verwendet, um die Verbindung zwischen Server und Client zu sichern. Beide Parteien müssen den Schlüssel kennen, und keine dritte Partei sollte ihn kennen oder erraten können, sonst ist die Sicherheit der Verbindung gefährdet.
  • Asymmetrische Verschlüsselung: Bei dieser Verschlüsselungsmethode, die auch als Public-Key-Verschlüsselung bezeichnet wird, verwenden der Server und der Client getrennte private und öffentliche Schlüssel, um die Daten zu verschlüsseln und die Verbindung zu sichern. Der private Schlüssel wird benötigt, um Daten zu entschlüsseln, die mit dem öffentlichen Schlüssel verschlüsselt wurden.
  • Authentifizierung: Um eine sichere Verbindung zu einem Server (und nicht zu einem Nachahmer) herzustellen, muss dieser seine Identität zweifelsfrei nachweisen können, indem er sich authentifiziert.

TLS-Versionen und Kompatibilität

TLS 1.0 wurde 1999 veröffentlicht, TLS 1.1 im Jahr 2006, TLS 1.2 im Jahr 2008 und die neueste TLS-Version 1.3 wurde 2018 veröffentlicht. Jede Version enthielt erhebliche Sicherheitsverbesserungen, darunter zusätzliche Cipher Suites und Schutz vor neuen Angriffen.

Die meisten Server unterstützen sowohl TLS 1.3 als auch TLS 1.2 aus Gründen der Abwärtskompatibilität mit älteren Clients.

Schrittweiser Ablauf eines TLS-Handshakes

TLS 1.3 vereinfacht und verbessert die Sicherheit des Handshake-Prozesses gegenüber früheren Versionen erheblich. Im Folgenden wird das Verfahren zur Sicherung einer TLS 1.3-Verbindung im Detail beschrieben:

  • Hallo Kunde: Der Client sendet eine “Hallo”-Nachricht an den Server, um den TLS-Handshake und die Verbindung einzuleiten. Dazu gehören die unterstützten TLS-Versionen, Cipher Suites, Key-Share-Methoden und Erweiterungen. Sie enthält auch den “Client Random”, d. h. Zufallsdaten, die zur Generierung des Master Secret verwendet werden. In vielen Fällen können die geheimen Premaster-Parameter auch generiert werden, wenn der Client erraten kann, welche Key-Share-Methode der Server verwenden wird (was aufgrund der geringeren Anzahl der von TLS 1.3 unterstützten Cipher Suites häufig der Fall ist), wodurch sich die Anzahl der für Client und Server erforderlichen Roundtrips verringert.
  • Meisterliches Geheimnis: Der Server wählt eine TLS-Version, eine Cipher-Suite und einen Schlüsselanteil, die mit dem Client kompatibel sind, und generiert seinen “Server Random”. Sobald der Client und der Server das Client-Zufallsgeheimnis, das Premaster-Geheimnis und das Server-Zufallsgeheimnis kennen, können sie unabhängig voneinander das gleiche Master-Geheimnis erzeugen.
  • Server-Hallo und asymmetrische Kommunikation: Der Server antwortet auf das Client-Hallo, indem er die ausgewählte TLS-Version, die Cipher-Suite und das SSL/TLS-Zertifikat des Servers mit seinem öffentlichen Schlüssel und der Zertifizierungsstelle (CA) sendet. Der Client kann die Identität des Servers bei der CA verifizieren.
  • Erzeugung von Sitzungsschlüsseln: Der Client und der Server erzeugen aus dem Hauptgeheimnis übereinstimmende Sitzungsschlüssel.
  • “Beendete” Nachrichten und symmetrische Kommunikation: Der Client und der Server tauschen “fertige” Nachrichten aus, die den symmetrischen Sitzungsschlüssel und einen Hash des stattgefundenen Handshake-Prozesses enthalten, um sicherzustellen, dass er nicht gestört wurde. Der TLS-Handshake ist abgeschlossen, wenn die “fertigen” Nachrichten entschlüsselt und von beiden Parteien validiert wurden.

Sobald der TLS-Handshake abgeschlossen ist, kann die Verbindung zur sicheren Datenübertragung unter Verwendung der symmetrischen Sitzungsschlüssel verwendet werden.

Fehlerbehebung bei TLS-Handshake-Problemen

Die häufigste Ursache für TLS-Handshake-Probleme ist eine falsche Zeiteinstellung auf dem Server oder Client (leicht zu beheben). Veraltete CAs auf dem Client sind ebenfalls eine mögliche Ursache, wenn Ihr Betriebssystem seit einiger Zeit nicht mehr aktualisiert wurde.

Auf der Serverseite schlagen TLS-Verbindungen fehl, wenn es keine gegenseitig unterstützten TLS-Versionen oder Cipher Suites gibt oder wenn das SSL/TLS-Zertifikat von der Zertifizierungsstelle widerrufen wurde, abgelaufen ist oder wenn der Hostname des Servers nicht mit dem auf dem Zertifikat übereinstimmt.

Wenn Sie Probleme mit der Netzwerkverbindung haben oder eine Verbindung zu einem langsamen Server herstellen, können TLS-Handshakes fehlschlagen, wenn sie aufgrund von Latenzzeiten nicht funktionieren.

Sichere Kommunikationsprotokolle sind nicht völlig sicher

TLS ist die Grundlage für die Netzsicherheit von so ziemlich allem, was derzeit online geschieht. Aber nur weil es Daten sicher übertragen kann (nach dem so wichtigen TLS-Handshake), heißt das nicht, dass das, was es sicher überträgt, nicht schädlich ist.

Nur weil Sie eine sichere Verbindung zu einer Website haben, heißt das noch lange nicht, dass sich dort kein Virus befinden kann. Daher sollten Sie sich darauf beschränken, Software von seriösen Websites (oder noch besser von offiziellen App-Stores) herunterzuladen, und wenn Sie ein Unternehmen leiten, sollten Sie Ihre Infrastruktur mit einer robusten Endpunktverwaltung schützen und sichern.

Nächste Schritte

Die Grundlagen der Gerätesicherheit sind entscheidend für Ihre allgemeine Sicherheitslage. NinjaOne ermöglicht eine einfache zentrale, remote und skalierbare Patchen-, Absicherungs- und Backup-Lösung für alle Geräte.
Erfahren Sie mehr über NinjaOne Protect, sehen Sie sich eine Live-Tour an oder starten Sie Ihre kostenlose Testversion der NinjaOne-Plattform.

Das könnte Sie auch interessieren

Sind Sie bereit, ein IT-Ninja zu werden?

Erfahren Sie, wie Sie mit NinjaOne Ihren IT-Betrieb vereinfachen können.
×

Sehen Sie NinjaOne in Aktion!

Mit dem Absenden dieses Formulars akzeptiere ich die Datenschutzerklärung von NinjaOne.

NinjaOne Allgemeine Geschäftsbedingungen für Skripte

Indem Sie unten auf die Schaltfläche “Ich akzeptiere” klicken, erklären Sie Ihr Einverständnis mit den folgenden rechtlichen Bedingungen sowie mit unseren Nutzungsbedingungen:

  • Eigentumsrechte: NinjaOne besitzt und wird weiterhin alle Rechte, Titel und Interessen an dem Skript (einschließlich des Urheberrechts) behalten. NinjaOne gewährt Ihnen eine eingeschränkte Lizenz zur Nutzung des Skripts in Übereinstimmung mit diesen rechtlichen Bedingungen.
  • Einschränkung der Nutzung: Sie dürfen das Skript nur für Ihre legitimen persönlichen oder internen Geschäftszwecke verwenden und es nicht an Dritte weitergeben.
  • Verbot der Wiederveröffentlichung: Sie sind unter keinen Umständen berechtigt, das Skript in einer Skriptbibliothek, die einem anderen Softwareanbieter gehört oder von diesem kontrolliert wird, erneut zu veröffentlichen.
  • Gewährleistungsausschluss: Das Skript wird “wie gesehen” und “wie verfügbar” bereitgestellt, ohne jegliche Garantie. NinjaOne gibt keine Versprechen oder Garantien, dass das Skript frei von Fehlern ist oder dass es Ihre speziellen Bedürfnisse oder Erwartungen erfüllt.
  • Risikoübernahme: Die Verwendung des Skripts erfolgt auf eigene Gefahr. Sie erkennen an, dass die Nutzung des Skripts mit bestimmten Risiken verbunden ist, und Sie verstehen und übernehmen jedes dieser Risiken.
  • Verzicht und Freigabe: Sie machen NinjaOne nicht für nachteilige oder unbeabsichtigte Folgen verantwortlich, die sich aus Ihrer Nutzung des Skripts ergeben, und Sie verzichten auf alle gesetzlichen oder billigkeitsrechtlichen Rechte oder Rechtsmittel, die Sie gegen NinjaOne im Zusammenhang mit Ihrer Nutzung des Skripts haben könnten.
  • EULA: Wenn Sie ein NinjaOne-Kunde sind, unterliegt Ihre Nutzung des Skripts dem für Sie geltenden Endbenutzer-Lizenzvertrag (EULA).