© KenoKickit/Shutterstock.com
TLS 1.3: Neuerungen im Protokoll und Tipps für Java-Entwickler

Mit Sicherheit


Angriffe auf Softwaresysteme nehmen kontinuierlich zu. Zum Schutz müssen Sicherheitsstandards erhöht werden. Das gilt insbesondere für das SSL/TLS-Protokoll, das vertrauliche Daten beim Onlinebanking ebenso schützt, wie es das Mitlesen von E-Mails im offenen WLAN verhindert. Im Herbst 2018 wurde die lang erwartete Version 1.3 offiziell freigegeben, seit Release 11 unterstützt Java TLS 1.3. Wir geben eine Übersicht über Neuerungen im Protokoll, zeigen, in welchen Java-Klassen TLS 1.3 zur Verfügung steht und beantworten die Frage, was Java-Entwickler tun müssen, um bestehende Anwendungen auf die neue Protokollversion aufzurüsten.

Ende 2017 wurde die Netzgemeinde von der Meldung aufgeschreckt, Facebook, PayPal und zahlreiche weitere populäre Seiten seien anfällig für die Robot-Attacke, mit der Angreifer sensible Daten erlangen können, beispielsweise Passwörter [1]. Die Attacke basiert auf einer Sicherheitslücke in der Transport Layer Security (TLS), auch bekannt unter dem Namen Secure Socket Layer (SSL). TLS ist der wichtigste Standard zum Schutz der Datenintegrität im Internet. Er liegt dem HTTPS-Protokoll zugrunde, sichert aber zum Beispiel auch den Versand und Abruf von E-Mails. Bereits vor der Entdeckung der Robot-Attacke waren etliche Schwachstellen bekannt, die das zuständige Standardisierungsgremium IETF bewogen hatten, das Protokoll grundlegend zu überarbeiten. Nach fünfjähriger Entwurfs- und Testphase war es im August 2018 nach mehreren Verzögerungen endlich so weit: Version 1.3 wurde offiziell freigegeben [2]. Sicherheitstechnisch gilt TLS 1.3 als das derzeit sicherste Verfahren zum Schutz der Datenübertragung in offenen Netzwerken.

Wir erläutern zunächst die wichtigsten Neuerungen im Protokoll. Anschließend beschreiben wir, welche Konfigurationsmöglichkeiten die JDK-Implementierung bietet und wie bestehende Java-Anwendungen nach TLS 1.3 migriert werden können.

Neuer Handshake

Bei TLS einigen sich die Kommunikationspartner, im Folgenden Client und Server genannt, im ersten Schritt auf einen gemeinsamen Schlüssel, den nur Client und Server kennen. Dieser Schritt wird als Handshake bezeichnet und bildet den Kern des TLS. Im zweiten Schritt werden mit diesem gemeinsamen Schlüssel die Anwendungsdaten ver- bzw. entschlüsselt. Die Vorgängerversionen benötigen zwei Umläufe an Handshake-Nachrichten (genannt Roundtrips), bevor Anwendungsdaten gesendet werden können (Abb. 1). In TLS 1.3 wurde der Handshake-Mechanismus völlig neu gestaltet und kommt nun mi...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang