Abo
  • IT-Karriere:

Verschlüsselung: Encrypt-then-MAC für TLS standardisiert

Eine neue TLS-Erweiterung ermöglicht es, die Reihenfolge zwischen Authentifizierung und Verschlüsselung zu ändern. Die bisherige Methode führte zu Sicherheitsproblemen wie der Lucky-Thirteen-Attacke.

Artikel veröffentlicht am , Hanno Böck
Timing-Angriffe sind ein oft unterschätztes Sicherheitsproblem.
Timing-Angriffe sind ein oft unterschätztes Sicherheitsproblem. (Bild: Wilfredor/Wikimedia Commons)

Die TLS-Arbeitsgruppe der Internet Engineering Task Force (IETF) hat einen Standard veröffentlicht, der ein seit langem bekanntes Problem von verschlüsselten TLS-Verbindungen beheben soll. Als RFC 7366 wurde ein Mechanismus namens Encrypt-then-MAC nun verabschiedet.

Stellenmarkt
  1. Horváth & Partners Management Consultants, München, Hamburg, Berlin, Frankfurt am Main, Stuttgart, Düsseldorf
  2. Zweckverband Bodensee-Wasserversorgung, Stuttgart

Der Hintergrund ist die Reihenfolge, in der bei einer TLS-Verbindung Verschlüsselung und Authentifizierung stattfinden. Eine mit TLS abgesicherte Verbindung soll für die beteiligten Nutzer zwei Dinge gewährleisten: Die Daten sollen für einen Angreifer nicht lesbar sein und ein Angreifer soll nicht in der Lage sein, die Daten auf dem Transportweg zu manipulieren.

Angriff mittels Padding Oracle

Die meisten Verschlüsselungsalgorithmen von TLS nutzen hierfür eine Kombination aus einer Blockverschlüsselung (heute üblicherweise AES) im CBC-Modus und dem Authentifizierungsverfahren HMAC. Klassischerweise kombiniert TLS diese Verfahren in der Reihenfolge MAC-then-Encrypt: Zuerst wird mittels HMAC ein Authentifizierungstoken gebildet, anschließend werden Nachricht und HMAC-Token mittels eines Paddings aufgefüllt und verschlüsselt.

Das Problem dabei: Beim Empfänger können hier bei fehlerhaften Paketen zwei verschiedene Fehler auftreten. Entweder ist das Padding fehlerhaft oder die HMAC-Prüfung scheitert. Genau diesen Unterschied kann ein Angreifer ausnutzen und damit im schlimmsten Fall den geheimen, temporären Schlüssel einer TLS-Verbindung knacken. Dieser Angriff, der als Padding Oracle bekannt ist, wurde bereits 2002 auf der Eurocrypt-Konferenz vorgestellt. Um ihn zu beheben, wurde eine kleine Änderung eingeführt: Statt zwei unterschiedlichen Fehlermeldungen wird, egal welcher Fehler auftritt, dieselbe Fehlermeldung verschickt.

Unzureichender Workaround

Doch selbst bei identischen Fehlermeldungen gibt es für den Angreifer eine Möglichkeit, die beiden Fehler zu unterscheiden: Der Empfänger benötigt unterschiedlich lange Pakete, um einen Padding-Fehler oder einen HMAC-Fehler zu erkennen. Anhand der Antwortzeit kann ein Angreifer also weiterhin die beiden Fehlertypen unterscheiden und erhält Informationen über den Schlüssel - ein typischer Timing-Angriff. 2008 bei der Verabschiedung des TLS 1.2-Standards war die Problematik des Padding Oracles samt Timing bekannt und es gab bereits Gegenmaßnahmen - allerdings nur unzureichende. Das war den Autoren auch bewusst, sie hielten das Problem aber für nicht ausnutzbar. So schrieben sie: "Dies lässt einen kleinen Timing-Kanal bestehen [...], aber wir glauben nicht dass dieser groß genug ist um angreifbar zu sein [...]" (RFC 5246, Seite 23).

Das erwies sich als fataler Irrtum: Einige Jahre später gelang es Sicherheitsforschern, genau dieses bereits im Standard erwähnte Problem praktisch auszunutzen. Dieser Angriff wurde als Lucky-Thirteen-Attacke bekannt. Gegen die Lucky-Thirteen-Attacke wurden Workarounds in die gängigen Browser und TLS-Bibliotheken eingebaut, aber trotzdem gab es den Wunsch, das Problem generell zu beheben.

Zuerst verschlüsseln

Während es früher noch strittig war, welche Reihenfolge für kombinierte Verschlüsselung und Authentifizierung die korrekte ist, sind sich Kryptographen heute weitgehend einig, dass zuerst verschlüsselt und anschließend authentifiziert werden sollte. Der Grund: Wenn ein Angreifer irgendwelche Fehler in das Datenpaket einschleust, schlägt zuerst die Authentifizierung fehl. Solange ein sicheres Authentifizierungsverfahren verwendet wird, gibt es keine Möglichkeit, dass manipulierte Datenpakete weiterverarbeitet werden. Probleme wie das Padding Oracle oder die Lucky-Thirteen-Attacke sind somit von vornherein ausgeschlossen.

In der entsprechenden IETF-Arbeitsgruppe gab es daher eine längere Debatte darum, Encrypt-then-MAC für TLS einzuführen. Peter Gutmann, ein IT-Sicherheitsforscher von der Universität Auckland, hatte Anfang 2013 einen Entwurf für eine entsprechende Erweiterung vorgelegt. Diese Erweiterung wurde nach mehreren Änderungen jetzt offiziell verabschiedet.

Weitere Lösungen

Neben Encrypt-then-MAC gibt es weitere Möglichkeiten, die Probleme der Kombination aus Authentifizierung und Verschlüsselung zu beheben. So gibt es Verfahren, bei denen Authentifizierung und Verschlüsselung gleichzeitig durchgeführt werden. In TLS ist bislang dafür das Galois-/Counter-Mode-Verfahren (GCM) für AES spezifiziert. Auch der Einsatz von Stromverschlüsselungsverfahren verhindert Angriffe wie Lucky Thirteen. Allerdings hat der einzige bislang in TLS verfügbare Stromverschlüsselungsalgorithmus RC4 andere Sicherheitsprobleme, die noch gravierender sind. Die Standardisierung des als sehr sicher geltenden Stromverschlüsselungsverfahrens ChaCha20 ist in Arbeit und wird von manchen Browsern bereits experimentell unterstützt.



Anzeige
Top-Angebote
  1. (u. a. GRAND THEFT AUTO V: PREMIUM ONLINE EDITION 13,99€, Shadows: Awakening 12,50€)
  2. (aktuell u. a. Monitore, Mäuse, CPUs)
  3. mit Gutschein: NBBCORSAIRPSP19
  4. (heute u. a. Saugroboter)

Folgen Sie uns
       


Lenovo Smart Display im Test

Die ersten Smart Displays mit Google Assistant kommen von Lenovo. Die Geräte sind ordentlich, aber der Google Assistant ist nur unzureichend an den Touchscreen angepasst. Wir zeigen in unserem Testvideo die Probleme, die das bringt.

Lenovo Smart Display im Test Video aufrufen
5G-Report: Nicht jedes Land braucht zur Frequenzvergabe Auktionen
5G-Report
Nicht jedes Land braucht zur Frequenzvergabe Auktionen

Die umstrittene Versteigerung von 5G-Frequenzen durch die Bundesnetzagentur ist zu Ende. Die Debatte darüber, wie Funkspektrum verteilt werden soll, geht weiter. Wir haben uns die Praxis in anderen Ländern angeschaut.
Ein Bericht von Stefan Krempl

  1. Testlabor-Leiter 5G bringt durch "mehr Antennen weniger Strahlung"
  2. Sindelfingen Mercedes und Telefónica Deutschland errichten 5G-Netz
  3. iPhone-Modem Apple will Intels deutsches 5G-Team übernehmen

WD Blue SN500 ausprobiert: Die flotte günstige Blaue
WD Blue SN500 ausprobiert
Die flotte günstige Blaue

Mit der WD Blue SN500 bietet Western Digital eine spannende NVMe-SSD an: Das M.2-Kärtchen basiert auf einem selbst entwickelten Controller und eigenem Flash-Speicher. Das Resultat ist ein schnelles, vor allem aber günstiges Modell als bessere Alternative zu Sata-SSDs.
Von Marc Sauter

  1. WD Black SN750 ausprobiert Direkt hinter Samsungs SSDs
  2. WD Black SN750 Leicht optimierte NVMe-SSD mit 2 TByte
  3. Ultrastar DC ME200 Western Digital baut PCIe-Arbeitsspeicher mit 4 TByte

Ada und Spark: Mehr Sicherheit durch bessere Programmiersprachen
Ada und Spark
Mehr Sicherheit durch bessere Programmiersprachen

Viele Sicherheitslücken in Software sind auf Programmierfehler zurückzuführen. Diese Fehler lassen sich aber vermeiden - und zwar unter anderem durch die Wahl einer guten Programmiersprache. Ada und Spark gehören dazu, leider sind sie immer noch wenig bekannt.
Von Johannes Kanig

  1. Das andere How-to Deutsch lernen für Programmierer
  2. Programmiersprachen, Pakete, IDEs So steigen Entwickler in Machine Learning ein
  3. Software-Entwickler Welche Programmiersprache soll ich lernen?

    •  /