• IT-Karriere:
  • Services:

TLS: Signaturen im Handshake

Ein weiteres Protokoll, das SHA-1 noch sehr häufig einsetzt, ist TLS. Das dürfte manche überraschen. Denn an einer Stelle ist die Ablösung von SHA-1 in TLS bereits geschafft: Nach viel Diskussionen und Mühen haben sich alle großen Browserhersteller dazu entschlossen, keine SHA-1-Signaturen in Zertifikaten mehr zu akzeptieren. Zertifizierungsstellen dürfen seit einiger Zeit keine derartigen Zertifikate mehr ausstellen, allerdings gibt es immer wieder Ausnahmen.

Stellenmarkt
  1. ifap GmbH, Martinsried
  2. con terra GmbH, Münster

Doch TLS nutzt Hashfunktionen an verschiedenen Stellen. Unproblematisch ist die Nutzung von SHA-1 für das HMAC-Verfahren, denn dabei ist die Kollisionsresistenz nicht relevant. Das betrifft etwa Cipher-Modi wie ECDHE-RSA-AES256-SHA. Dabei wird AES im CBC-Modus und HMAC mit dem SHA-1-Algorithmus verwendet. Die Kombination von CBC und HMAC ist aus anderen Gründen nicht empfehlenswert, da sie sehr anfällig für Timing-Angriffe ist, die Schwächen von SHA-1 spielen hier aber keine Rolle.

An einer weiteren Stelle ist ein schwacher Hash jedoch durchaus ein Problem: Teile des Handshakes von TLS werden bei Forward-Secrecy-Verfahren signiert. Und dabei kommt noch häufig SHA-1 und manchmal sogar das noch ältere und unsicherere MD5 zum Einsatz. Die Probleme, die schwache Hashes in TLS mit sich bringen, wurden Anfang 2016 von Sicherheitsforschern als SLOTH-Angriff veröffentlicht.

Grund zur Panik besteht nicht unbedingt: Für einen erfolgreichen Angriff müsste eine SHA-1-Kollision innerhalb von Sekunden während eines Handshakes gefunden werden. Google benötigte viele Monate auf großen Rechnerclustern für den Kollisionsangriff.

Warum ermöglichte TLS 1.2 2008 noch SHA-1 und MD5?

Warum im TLS-Handshake SHA-1 und MD5 überhaupt noch unterstützt werden ist nur schwer zu verstehen. Denn das aktuelle TLS-Protokoll 1.2 wurde 2008 veröffentlicht. Die Schwächen von SHA-1 waren jedoch bereits seit 2005 bekannt.

Ältere TLS-Versionen nutzten eine Kombination aus MD5 und SHA1. Statt diese Kombination einfach durch eine sichere Hashfunktion wie SHA256 zu ersetzen, entschied man sich, eine Signatur-Erweiterung einzuführen, die die Wahl der Hashfunktion flexibilisiert. Dadurch kann man sich mit TLS 1.2 aussuchen, ob man eine sichere oder eine unsichere Hashfunktion möchte. Die Signaturerweiterung von TLS 1.2 ist ein gutes Beispiel dafür, dass das gern genutzte Prinzip der "Algorithm Agility" oft keine gute Idee ist.

Die alten Hashfunktionen in TLS auszurotten, ist schwierig. Denn viele Server unterstützen zwar TLS 1.2, aber nur mit SHA-1-Signaturen. Aufgeräumt wird hier wohl erst mit TLS 1.3, das dann endgültig die Unterstützung für alle unsicheren Hashverfahren entfernt.

Fazit: Man hätte früher handeln können

Es wird sicher noch einige Stellen geben, an denen SHA-1 zum Einsatz kommt. Ärgerlich ist dabei vor allem, dass die Umstellung so lange dauert. Der Durchbruch bei Angriffen auf SHA-1 ist zwar erst einige Wochen alt, die Grundlage für den Angriff legte jedoch vor zwölf Jahren ein chinesisches Forscherteam um die Kryptographin Xiaoyun Wang. Es wären zwölf Jahre Zeit gewesen, überall auf sichere Hash-Funktionen zu setzen.

Mit SHA256 und den anderen Funktionen aus der SHA-2-Familie stand bereits seit 2002 eine standardisierte, sichere Alternative bereit. SHA-2 gilt weiterhin als sehr sicher. Die einzige Schwäche sind sogenannte Length-Extension-Angriffe, die spielen allerdings in den meisten Protokollen keine Rolle.

Inzwischen gibt es den Nachfolgestandard SHA-3 und als Alternative das schnellere und ebenfalls standardisierte BLAKE2. Für welche dieser sicheren Optionen man sich entscheidet, ist dabei nicht die wichtigste Frage. Wichtig ist nur: SHA-1, MD5 und Co. sollten nicht mehr zum Einsatz kommen.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
 Bittorrent mit Backdoor
  1.  
  2. 1
  3. 2
  4. 3


Anzeige
Spiele-Angebote
  1. 20,99€
  2. (u. a. Battlefield 5 für 14,99€, Star Wars Jedi: Fallen Order für 24,99€, Battlefield 1 für...
  3. 19,90€

drdoolittle 03. Apr 2017

Der meint scheinbar auch, die Weisheit mit Löffeln gefressen zu haben. Eingebildeter...

FreiGeistler 02. Apr 2017

Verwendet das auch SHA-1?

cebewee 01. Apr 2017

Das ist nur der kleinere Teil des Problems: Du willst ja auch weiterhin mit alten...

Rocky Horror... 01. Apr 2017

Der Fingerprint ist keine Signatur. Für die Signatur kann GPG außerdem folgende Hashes...

Heinzel 31. Mär 2017

Als git noch recht frisch war hat Linus einen Vortrag gehalten und dargelegt warum ihm...


Folgen Sie uns
       


Automatische Untertitel in Premiere Pro Beta - Tutorial

Wir zeigen, wie sich Untertitel per KI-Spracherkennung erzeugen lassen.

Automatische Untertitel in Premiere Pro Beta - Tutorial Video aufrufen
    •  /