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. Head of Software Development (m/w/d)
    TIMOCOM GmbH, Erkrath, Düsseldorf (remote möglich)
  2. Manager (m/w/d) Digitalisierung Klinische Anwendungen
    Helios IT Service GmbH, Berlin
Detailsuche

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

Golem Karrierewelt
  1. Microsoft Azure Administration: virtueller Zwei-Tage-Workshop
    22./23.08.2022, virtuell
  2. Container Management und Orchestrierung: virtueller Drei-Tage-Workshop
    22.-24.08.2022, Virtuell
Weitere IT-Trainings

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.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


Aktuell auf der Startseite von Golem.de
Prehistoric Planet
Danke, Apple, für so grandiose Dinosaurier!

Musik von Hans Zimmer, dazu David Attenborough als Sprecher: Apples Prehistoric Planet hat einen Kindheitstraum zum Leben erweckt.
Ein IMHO von Marc Sauter

Prehistoric Planet: Danke, Apple, für so grandiose Dinosaurier!
Artikel
  1. Fahrgastverband Pro Bahn: Wo das 9-Euro-Ticket sicher gilt
    Fahrgastverband Pro Bahn
    Wo das 9-Euro-Ticket sicher gilt

    Die Farbe der Züge ist entscheidend, was bei der Reiseplanung in der Deutsche-Bahn-App wenig nützt. Dafür laufen Fahrscheinkontrollen ins Leere.

  2. Retro Gaming: Wie man einen Emulator programmiert
    Retro Gaming
    Wie man einen Emulator programmiert

    Warum nicht mal selbst einen Emulator programmieren? Das ist lehrreich und macht Spaß - wenn er funktioniert. Wie es geht, zeigen wir am Gameboy.
    Von Johannes Hiltscher

  3. Diskriminierung am Arbeitsplatz: Sexismusvorwurf gegen Microsoft-Management
    Diskriminierung am Arbeitsplatz
    Sexismusvorwurf gegen Microsoft-Management

    Ein neuer Bericht wirft CEO Satya Nadella vor, nicht ausreichend gegen Fehlverhalten in seinem Unternehmen vorzugehen.

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • PS5 evtl. bestellbar • Prime Video: Filme leihen für 0,99€ • Gigabyte RTX 3080 12GB günstig wie nie: 1.024€ • MSI Gaming-Monitor 32" 4K günstig wie nie: 999€ • Mindstar (u. a. AMD Ryzen 5 5600 179€, Palit RTX 3070 GamingPro 669€) • Days of Play (u. a. PS5-Controller 49,99€) [Werbung]
    •  /