Abo
  • Services:

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. Rundfunk Berlin-Brandenburg (rbb), Berlin
  2. Waldorf Frommer Rechtsanwälte, München

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
Hardware-Angebote
  1. 23,99€
  2. (reduzierte Überstände, Restposten & Co.)

Folgen Sie uns
       


Super Tux Kart im LAN angespielt

Super Tux Kart läuft jetzt auch im LAN und WAN.

Super Tux Kart im LAN angespielt Video aufrufen
Raspberry Pi: Spieglein, Spieglein, werde smart!
Raspberry Pi
Spieglein, Spieglein, werde smart!

Ein Spiegel, ein ausrangierter Monitor und ein Raspberry Pi sind die grundlegenden Bauteile, mit denen man sich selbst einen Smart Mirror basteln kann. Je nach Interesse können dort dann das Wetter, Fahrpläne, Nachrichten oder auch stimmungsvolle Bilder angezeigt werden.
Eine Anleitung von Christopher Bichl

  1. IoT mit LoRa und Raspberry Pi Die DNA des Internet der Dinge
  2. Bewegungssensor auswerten Mit Wackeln programmieren lernen
  3. Raspberry Pi Cam Babycam mit wenig Aufwand selbst bauen

Enterprise Resource Planning: Drei Gründe für das Scheitern von SAP-Projekten
Enterprise Resource Planning
Drei Gründe für das Scheitern von SAP-Projekten

Projekte mit der Software von SAP? Da verdrehen viele IT-Experten die Augen. Prominente Beispiele von Lidl und Haribo aus dem vergangenen Jahr scheinen diese These zu bestätigen: Gerade SAP-Projekte laufen selten in time, in budget und in quality. Dafür gibt es Gründe - und Gegenmaßnahmen.
Von Markus Kammermeier


    Radeon VII im Test: Die Grafikkarte für Videospeicher-Liebhaber
    Radeon VII im Test
    Die Grafikkarte für Videospeicher-Liebhaber

    Höherer Preis, ähnliche Performance und doppelt so viel Videospeicher wie die Geforce RTX 2080: AMDs Radeon VII ist eine primär technisch spannende Grafikkarte. Bei Energie-Effizienz und Lautheit bleibt sie chancenlos, die 16 GByte Videospeicher sind eher ein Nischen-Bonus.
    Ein Test von Marc Sauter und Sebastian Grüner

    1. Grafikkarte UEFI-Firmware lässt Radeon VII schneller booten
    2. AMD Radeon VII tritt mit PCIe Gen3 und geringer DP-Rate an
    3. Radeon Instinct MI60 AMD hat erste Grafikkarte mit 7 nm und PCIe 4.0

      •  /