Transport Layer Security TLS (1.0 bis 1.3)

Transport Layer Security TLS

┬ę Copyright Shutterstock / Profit_Image

Was ist TLS (1.0 bis 1.3)?

Transport Layer Security (TLS) und sein inzwischen nicht mehr weiterentwickelter Vorg├Ąnger Secure Sockets Layer (SSL) sind kryptografische Protokolle, die eine Kommunikationssicherheit ├╝ber ein Computernetzwerk bieten. Verschiedene Versionen der Protokolle finden eine breite Anwendung wie im Web-Browsing, E-Mailing, Instant Messaging und im Voice over IP (VoIP). Webseiten k├Ânnen mithilfe von TLS die gesamte Kommunikation zwischen den Servern und Webbrowsern sichern.

Ziel

Das Protokoll von Transport Layer Security soll in erster Linie die Privatsph├Ąre und Datenintegrit├Ąt zwischen zwei oder mehr kommunizierenden Computeranwendungen bereitstellen. Liegt solche eine Sicherung durch vor, besitzt die Verbindung zwischen einem Client (z.┬áB. einem Webbrowser) und einem Server folgende Eigenschaften:

Sichere Verbindung

Die Verbindung ist privat (bzw. gesichert), da zur Verschl├╝sselung der ├╝bertragenen Daten eine symmetrische Kryptografie verwendet wird. Die Schl├╝ssel f├╝r diese symmetrische Verschl├╝sselung werden f├╝r jede Verbindung eindeutig generiert und basieren auf einem “gemeinsamen Geheimnis” (Shared Secret), das zu Beginn der Sitzung ausgehandelt wurde. Der Server und der Client verhandeln die Details, welcher Verschl├╝sselungsalgorithmus und welche kryptografischen Schl├╝ssel verwendet werden sollen, bevor das erste Byte der Daten ├╝bertragen wird. Die Aushandlung eines gemeinsamen Geheimnisses ist sowohl sicher (das ausgehandelte Geheimnis ist f├╝r Lauscher nicht zug├Ąnglich und kann nicht erreicht werden, auch nicht von einem Angreifer, der sich in der Mitte der Verbindung befindet) als auch zuverl├Ąssig (kein Angreifer kann die Kommunikation w├Ąhrend der Aushandlung ├Ąndern, ohne entdeckt zu werden).

Die Identit├Ąt der kommunizierenden Parteien

Die Identit├Ąt der kommunizierenden Parteien kann mithilfe der Public-Key-Kryptographie authentifiziert werden. Diese Authentifizierung kann optimal erfolgen, ist aber im Allgemeinen f├╝r mindestens einen der Beteiligten (typischerweise den Server) erforderlich. Die Verbindung ist zuverl├Ąssig, da jede ├╝bertragende Nachricht eine Nachrichtenintegrit├Ąt beinhaltet.

Zuverl├Ąssige Verbindung

Die Verbindung ist zuverl├Ąssig, da jede ├╝bertragende Nachricht eine ├ťberpr├╝fung der Nachrichtenintegrit├Ąt unter Verwendung eines Nachrichten-Authentifizierungs-Codes beinhaltet, um unentdeckten Verlust oder ├änderung der Daten w├Ąhrend der ├ťbertragung zu verhindern.

Zus├Ątzlich zu den drei genannten Eigenschaften kann eine sorgf├Ąltige Konfiguration von Transport Layer Security weitere datenschutzbezogene Eigenschaften bieten, wie z.┬áB. die Geheimhaltungspflicht, sodass sichergestellt ist, dass eine zuk├╝nftige Offenlegung von Schl├╝sseln nicht zur Entschl├╝sselung von in der Vergangenheit aufgezeichneten TSL-Kommunikationen verwendet werden kann.

Transport Layer Security unterst├╝tzt viele verschiedene Methoden zum Austausch von Schl├╝sseln, zur Verschl├╝sselung von Daten und zur Authentifizierung der Nachrichtenintegrit├Ąt. Infolgedessen beinhaltet die sichere Konfiguration von TLS viele konfigurierbare Parameter – aber nicht alle Optionen bieten alle in der obigen Liste beschriebenen datenschutzrelevante Eigenschaften.

Es wurden Versuche unternommen, Aspekte der Kommunikationssicherheit, die TLS bieten soll, zu untergraben und das Protokoll wurde daher mehrmals ├╝berarbeitet, um diese Sicherheitsbedrohungen zu beheben. Entwickler von Webbrowsern haben auch ihre Produkte ├╝berarbeitet, um m├Âgliche Sicherheitsl├╝cken zu beseitigen.

Beschreibung

Das Transport Layer Security-Protokoll besteht aus zwei Layer: dem TLS-Record und Datenflusssicherungs-Protokoll. TLS ist ein vorgeschlagener Standard der Internet Engineering Task Force (IETF), der 1999 erstmals definiert und in RFC 5246 und RFC 6176 aktualisiert wurde. Es baut auf den fr├╝heren SSL-Spezifikationen auf, die von Netscape Communications entwickelt wurden, um das HTTPS-Protokoll zu ihrem Navigator-Webbrowser hinzuzuf├╝gen.

Tipp

Wenn Sie noch Fragen bez├╝glich Internet Engineering Task Force (IETF) haben, dann k├Ânnen Sie gerne den jeweiligen Glossar dazu besuchen und sich ├╝ber das Thema informieren.

Client-Server-Anwendungen verwenden das Transport Layer Security-Protokoll, um ├╝ber ein Netzwerk auf eine Weise zu kommunizieren, die das Abh├Âren und Manipulieren verhindert. Da Anwendungen entweder mit oder ohne TLS kommunizieren k├Ânnen, ist es notwendig, dass der Client dem Server den Aufbau einer TLS-Verbindung mitteilt. Eine der wichtigen M├Âglichkeiten, dies zu erreichen, ist die Verwendung einer anderen Portnummer f├╝r TLS-Verbindungen, beispielsweise Port 443 f├╝r HTTPS. Ein weiterer Mechanismus besteht darin, dass der Client eine protokollspezifische Anforderung an den Server richtet, um die Verbindung zu TLS umzustellen, z.┬áB. durch eine sog. STARTTLS-Anfrage bei Verwendung des E-Mail- und News-Protokolls.

Nachdem sich der Client und der Server bereit erkl├Ąrt haben, Transport Layer Security zu verwenden, verhandeln sie ein zustandsbehaftete Verbindung mithilfe eines Datenflusssteuerung-Verfahrens (“Handshake”). Die Protokolle verwenden diese mit asymmetrischer Verschl├╝sselung, um nicht nur Verschl├╝sselungseinstellungen, sondern auch einen sitzungsspezifischen gemeinsamen Schl├╝ssel festzulegen, mit dem die weitere Kommunikation mit einer symmetrischen Verschl├╝sselung verschl├╝sselt wird. W├Ąhrend dieses Handshakes vereinbaren Client und Server verschiedene Parameter, mit denen die Sicherheit der Verbindung hergestellt wird.

Die Datenflusssteuerung beginnt, wenn sich ein Client mit einem Transport Layer Security-f├Ąhigen Server verbindet, der eine sichere Verbindung anfordert und der Client eine Liste der unterst├╝tzenden Verschl├╝sselungssuiten (Verschl├╝sselungen und Hash-Funktionen) pr├Ąsentiert. Aus dieser Liste w├Ąhlt der Server eine Verschl├╝sselungs- und Hash-Funktion aus, die er ebenfalls unterst├╝tzt und dem Client die Entscheidung mitteilt. In der Regel stellt der Server dann die Identifikation in Form eines digitalen Zertifikats zur Verf├╝gung. Das Zertifikat enth├Ąlt den Servernamen, die vertrauensw├╝rdige Zertifizierungsstelle (CA), die f├╝r die Authentizit├Ąt des Zertifikats b├╝rgt und den ├Âffentlichen Schl├╝ssel des Servers.

Der Kunde best├Ątigt die G├╝ltigkeit des Zertifikats, bevor er fortfahren kann.

Entwicklung

Transport Layer Security 1.0

Diese Version wurde erstmals im Januar 1999 in RFC 2246 als Upgrade der SSL-Version 3.0 definiert und von Christopher Allen und Tim Dierks von Consensus Development geschrieben. Wie im RFC erw├Ąhnt, “sind die Unterschiede zwischen diesem Protokoll und SSL 3.0 nicht dramatisch, aber sie sind signifikant genug, um die Interoperabilit├Ąt zwischen TLS 1.0 und SSL 3.0 auszuschlie├čen”. TLS 1.0 beinhaltet ein Mittel, mit dem eine TLS-Implementierung die Verbindung auf SSL 3.0 herabstufen und damit die Sicherheit schw├Ąchen kann.

Transport Layer Security 1.1

Das Upgrade wurde im April 2006 in RFC 4346 definiert, ein Upgrade der Version 1.0. Zu den wesentlichen Unterschieden in dieser Version geh├Âren der zus├Ątzliche Schutz gegen Cipher-Block-Chaining (CBC-)Angriffe. Der implizierte Initialisierungsvektor (IV) wurde durch einen expliziten IV ersetzt. Des Weiteren wurden ├änderungen in der Behandlung von Padding-Fehlern behoben.

Transport Layer Security 1.2

Version 1.2 wurde im August 2008 in RFC 5246 definiert. Es basiert auf den Spezifikationen der Vorg├Ąnger-Version. Zu den ├änderungen geh├Âren:

  • Die MD5-SHA-1-Kombination in der Pseudozufallsfunktion (PRF) wurde durch SHA-256 ersetzt, mit der Option, bestimmte PRFs der Cipher Suite zu verwenden.
  • Die MD5-SHA-1-Kombination im fertigen Nachrichtenhash wurde durch SHA-256 ersetzt, mit der Option, spezifische Hash-Algorithmen der Chiffriersuite zu verwenden. Die Gr├Â├če des Hash in der fertigen Nachricht muss jedoch noch mindestens 96 Bit betragen.
  • Die MD5-SHA-1-Kombination im digital signierten Element wurde durch einen einzigen Hash ersetzt, der w├Ąhrend der Datenflusssteuerung ausgehandelt wurde und standardm├Ą├čig SHA-1 lautet.
  • Verbesserung der F├Ąhigkeit des Clients und Servers, festzulegen, welche Hashes und Signaturalgorithmen er akzeptiert.
  • Erweiterung der Unterst├╝tzung f├╝r authentifizierte Verschl├╝sselungschiffren, die haupts├Ąchlich f├╝r Galois/Counter Mode (GCM) und CCM-Modus der Advanced Encryption Standard (AES) Verschl├╝sselung verwendet werden.
  • TLS Extensions Definition und AES-Chriffe-Suiten wurden hinzugef├╝gt.

Alle TLS-Versionen wurden im M├Ąrz 2011 in RFC 6176 weiterentwickelt und ihre Abw├Ąrtskompatibilit├Ąt mit SSL aufgehoben, sodass TLS-Sitzungen nie ├╝ber die Verwendung von SSL Version 2.0 verhandeln.

Transport Layer Security 1.3

TLS 1.3 wurde im August 2018 in RFC 8446 definiert. Es basiert auf der Spezifikation der Version 1.2. Die wesentlichen Top-Unterschiede:

  • Trennung von Schl├╝sselvereinbarungen und Authentifizierungsalgorithmen von den Verschl├╝sselungssuiten.
  • Entfernen der Unterst├╝tzung f├╝r schwache und weniger verwendete benannte elliptische Kurven.
  • Entfernen der Unterst├╝tzung f├╝r MD5 und SHA-224 kryptografische Hash-Funktionen.
  • Erfordern digitaler Signaturen, auch wenn eine fr├╝here Konfiguration verwendet wird.
  • Integration von HKDF und dem semi-ephemeren DH-Vorschlag.
  • Ersetzen der Wiederaufnahme durch PSK und Tickets.
  • Unterst├╝tzung von 1-RTT Datenflusssteuerungen und Erstunterst├╝tzung f├╝r 0-RTTT.
  • Vollst├Ąndige Geheimhaltung durch die Verwendung von ephemeren Schl├╝sseln.

Tipp

Wenn Sie noch Fragen bez├╝glich eines Online Marketing Themas haben, dann k├Ânnen Sie gerne unseren Glossar besuchen und sich ├╝ber das Thema informieren, wo Sie noch speziell Fragen haben.


Sie haben noch Fragen?

Kontaktieren Sie uns

Kostenloser SEO-Check der OSG


Weitere Inhalte