Was bedeutet Transport Layer Security (TLS)?

TLS ist ein Sicherheitsprotokoll, das der Internetkommunikation Datenschutz und Integrität bietet. TLS ist schnell zum Standard für die Entwicklung sicherer Web-Apps geworden.

Share facebook icon linkedin icon twitter icon email icon

Transport Layer Security

Lernziele

Nach Lektüre dieses Artikels können Sie Folgendes:

  • TLS definieren
  • Wie funktioniert TLS?
  • Was ist der Unterschied zwischen TLS und SSL?
  • Wie wirkt sich TLS auf die Performance aus?
  • Wie implementiert man TLS?

Was bedeutet Transport Layer Security (TLS)?

Transport Layer Security (TLS) ist ein weit verbreitetes Sicherheitsprotokoll, das Datenschutz und Datensicherheit für die Kommunikation über das Internet erleichtert. Ein primärer Anwendungsfall von TLS ist die Verschlüsselung der Kommunikation zwischen Webanwendungen und Servern, z. B. Webbrowsern, die eine Website laden. TLS kann auch zum Verschlüsseln anderer Kommunikationen wie E-Mail, Messaging und Voice over IP (VOIP) verwendet werden. In diesem Artikel konzentrieren wir uns auf die Rolle von TLS in Bereich Web Application Security.

TLS wurde von der Internet Engineering Task Force (IETF), einer internationalen Normungsorganisation, vorgeschlagen. Die erste Version des Protokolls wurde 1999 veröffentlicht. Die neueste Version ist TLS 1.3 aus dem Jahr 2018.

Was ist der Unterschied zwischen TLS und SSL?

TLS entstand aus einem früheren Verschlüsselungsprotokoll namens Secure Socket Layer (SSL), das von Netscape entwickelt wurde. TLS Version 1.0 begann tatsächlich mit der Entwicklung als SSL-Version 3.1, aber der Name des Protokolls wurde vor der Veröffentlichung geändert, um anzuzeigen, dass es nicht mehr mit Netscape assoziiert war. Aufgrund dieser Vorgeschichte werden die Begriffe TLS und SSL manchmal synonym verwendet.

Was ist der Unterschied zwischen TLS und HTTPS?

HTTPS ist eine Implementierung der TLS-Verschlüsselung zusätzlich zum HTTP Protokoll, das von allen Websites sowie einigen anderen Webdiensten verwendet wird. Jede Website, die HTTPS verwendet, verwendet daher auch TLS-Verschlüsselung.

Warum sollten Sie TLS verwenden?

TLS-Verschlüsselung kann dazu beitragen, Webanwendungen vor Angriffen wie Datenschutzverletzung und DDoS-Angriffen zu schützen. Außerdem setzt sich TLS-geschütztes HTTPS schnell als Standard für Websites durch. Zum Beispiel geht der Google Chrome-Browser gegen Websites vor, die kein HTTPS verwenden, und gewöhnliche Internetnutzer werden immer vorsichtiger gegenüber Websites ohne HTTPS-Vorhängeschloss.

Wie funktioniert TLS?

TLS kann zusätzlich zu einem Sicherheitsprotokoll der Transport Layer (Transport Layer) wie TCP verwendet werden. TLS besteht aus drei Hauptkomponenten: Verschlüsselung, Authentifizierung und Integrität.

  • Verschlüsselung: verbirgt die Daten, die von Dritten übertragen werden.
  • Authentifizierung: stellt sicher, dass die Parteien, die Informationen austauschen, auch die sind, für die sie sich ausgeben.
  • Integrität: überprüft, dass die Daten weder gefälscht noch manipuliert wurden.

Eine TLS-Verbindung wird mithilfe einer Sequenz initiiert, die als TLS-Handshake bezeichnet wird. Der TLS-Handshake erstellt für jede Kommunikationssitzung eine Cipher Suite. Die Cipher Suite besteht aus einer Reihe von Algorithmen, die Daten angeben, wie beispielsweise welche gemeinsam genutzten Verschlüsselungsschlüssel oder Sitzungsschlüssel für diese bestimmte Sitzung verwendet werden. TLS kann dank einer Technologie, die als Public-Key-Verschlüsselungsverfahren bekannt ist, die passenden Sitzungsschlüssel über einen unverschlüsselten Kanal festlegen.

Der Handshake verarbeitet auch die Authentifizierung, die normalerweise darin besteht, dass der Server dem Client seine Identität nachweist. Dies erfolgt mit öffentlichen Schlüsseln. Öffentliche Schlüssel sind Verschlüsselungsschlüssel, die eine Einwegverschlüsselung verwenden. Dies bedeutet, dass jeder mit dem privaten Schlüssel verschlüsselte Daten entschlüsseln kann, um ihre Authentizität sicherzustellen, aber nur der ursprüngliche Absender die Daten mit dem privaten Schlüssel verschlüsseln kann.

Sobald die Daten verschlüsselt und authentifiziert sind, werden sie mit einem Nachrichtenauthentifizierungscode (Message Authentication Code oder MAC) signiert. Der Empfänger kann dann den MAC überprüfen, um die Integrität der Daten sicherzustellen. Dies ähnelt der Sicherheitsfolie bei Medikamenten. Der Verbraucher weiß, dass niemand sein Medikament manipuliert hat, da die Folie beim Kauf intakt ist.

The TCP Handshake

Wie wirkt sich TLS auf die Performance von Webanwendungen aus?

Aufgrund des komplexen Prozesses beim Einrichten einer TLS-Verbindung ist einiges an Ladezeit und Rechenleistung nötig. Der Client und der Server müssen mehrmals hin und her kommunizieren, bevor Daten übertragen werden. Dies kostet Webanwendungen wertvolle Millisekunden Ladezeiten sowie Speicher für den Client und den Server.

Zum Glück gibt es Technologien, die dazu beitragen, die durch den TLS-Handshake verursachte Verzögerung zu verringern. Eine davon ist der TLS False Start, mit dem Server und Client Daten übertragen können, bevor der TLS-Handshake abgeschlossen ist. Eine weitere Technologie zur Beschleunigung von TLS ist die TLS Session Resumption, mit der Clients und Server, die zuvor bereits kommuniziert haben, einen abgekürzten Handshake verwenden können, um ihre Sitzung wieder aufzunehmen.

Diese Optimierungen haben dazu beigetragen, TLS zu einem sehr schnellen Protokoll zu machen, das Ladezeit nicht merklich beeinflussen sollte. Die mit TLS verbundenen Rechenkosten sind nach heutigen Maßstäben meist vernachlässigbar. Als Google beispielsweise 2010 seine gesamte Google Mail-Plattform auf HTTPS umstellte, mussten sie keine zusätzliche Hardware aktivieren. Die zusätzliche Belastung ihrer Server aufgrund der TLS-Verschlüsselung betrug weniger als 1 %.

Wie Sie TLS auf einer Website implementieren

Alle Cloudflare-Benutzer bekommen automatisch den HTTPS-Schutz von Cloudflare. Über Universal SSL bietet Cloudflare allen Benutzern kostenlose TLS/SSL-Zertifikate an. Jeder, der Cloudflare nicht verwendet, muss ein SSL-Zertifikat von einer Zertifizierungsstelle erwerben (häufig gegen eine Gebühr) und das Zertifikat auf seinen Ursprungsservern installieren.

Weitere Informationen zur Funktionsweise von TLS/SSL-Zertifikaten finden Sie unter Was ist ein SSL-Zertifikat? Überprüfen Sie im Cloudflare Diagnostic Center, ob eine Website TLS-Verschlüsselung verwendet.