Open Source im professionellen Einsatz
Linux-Magazin 11/2016

Open SSL: Sweet-32-Attacke

Gefährliche Kollisionen

Ein neuer Angriff auf ältere Blockchiffren ermöglicht das Mitlesen der verschlüsselten Information. Er nutzt dabei Kollisionen beim Generieren des Chiffrats aus.

522

Open SSL ist ein weitverbreitetes Toolkit für die Transport Layer Security (TLS) und das Secure-Sockets-Layer-Protokoll (SSL). Unter anderem implementiert Open SSL verschiedene Verfahren zur Blockverschlüsselung (Block Cipher). Solche Blockchiffren sind effizienter als Stromchiffren, besitzen aber den Nachteil, dass sie nur einen einzigen Block verschlüsseln. Wer sie auf längere Datensätze anwenden will, muss einen bestimmten Modus wählen, der beschreibt, wie die Nachricht in verschiedene Blöcke zu zerlegen ist.

So gibt es beispielsweise den Electronic Code Book Mode (ECB), der jeden Block unabhängig von anderen Blöcken verschlüsselt. Der Cipher Block Chaining Mode (CBC) verknüpft hingegen mehrere Blöcke so durch eine XOR-Operationen (exklusives Oder) miteinander, dass jeder verschlüsselte Block mit allen vorherigen Daten korreliert ist. Das macht eine Attacke gegen CBC deutlich schwieriger als gegen ECB.

Es ist aber schon lange bekannt, dass solche CBC-Cipher anfällig für Kollisionsattacken sind. Darunter versteht man Angriffe, bei denen für zwei verschiedene Eingaben die gleiche verschlüsselte Ausgabe entsteht. Praktisch hatte das bisher kaum Auswirkungen, weil man glaubte, dass solche Angriffe nicht praktikabel sind. Nun wurde allerdings eine neue CBC-Attacke vorgestellt, die es einem Angreifer ermöglicht, deutlich mehr Daten zu entschlüsseln.

Bei der Attacke handelt es sich um eine Known-Plaintext-Methode, das heißt, der Angreifer muss den Kommunikationskanal abhören und sicher sein, dass ein bestimmter Klartext übertragen wird. Wenn dabei Cipher Block Collisions auftreten, kann der Angreifer das Resultat des XOR zwischen zwei Klartextblöcken in Erfahrung bringen und damit den unbekannten Klartext entschlüsseln.

Auf diese Weise gelang es Angreifern, HTTP-Cookies aus 785 GByte Netzwerkdaten zu entschlüsseln. Eine zweite Attacke demonstrierte, wie sich HTTP-Basic-Auth-Credentials über eine Open-VPN-Verbindungen entschlüsseln lassen. Konkret gestaltet sich der Angriff wie folgt. Im CBC-Modus wird ein verschlüsselter Block C(l) immer nach der Vorschrift

C(l) = E(P(l) XOR O(l-1))

verschlüsselt, wobei C() für die verschlüsselten Blöcke steht und P() den Klartextblock darstellt. E() ist die Verschlüsselungsroutine, die für jeden Block identisch ist. Die Indizes l geben dabei immer die Blocknummer in dem Datenstrom an.

Die Attacke nimmt an, dass eine Kollision zwischen zwei Blöcken auftritt, wobei einer der Blöcke (k, known) auf einem bekannten Klartext basiert und der andere Block (u, unknow) auf unbekannte Klartextdaten angewandt wurde. In diesem Fall hat der Angreifer zwei verschlüsselte Blöcke C(u) und C(k) mit:

C(u) = E(P(u) XOR C(u-1))
C(k) = E(P(k) XOR C(k-1))

Weil es sich um eine Kollision handelt, gilt hier C(u)=C(k). Da die Verschlüsselungsfunktion E dieselbe ist, muss auch

P(u) XOR C(u-1) = P(k) XOR C(k-1)

gelten. Diese Gleichung kann leicht umgewandelt werden in:

P(u) = P(k) XOR C(k-1) XOR C(u-1)

Damit lässt sich nun der unbekannte Text entschlüsseln.

Anfällig für diese Sweet-32-Attacke sind 64-Bit-Block-Ciphers wie 3DES und Blowfish, bei denen Kollisionen schon ab 232 Blöcken auftreten. Bei modernen Block Ciphers mit 128 Bit Länge tritt das Problem nicht auf. Darum sollte man grundsätzlich auf sie setzen.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 1 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Linux-Magazin kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • OpenSSL: SWEET32-Attacke
  • Schutz(be)dürftig

    Ein VPN strahlt Sicherheit aus - aber wie es um sie tatsächlich bestellt ist, bleibt meist im Dunkeln. Jenseits der drei wichtigen Protokolle SSL, SSH und IPsec finden sich fast nur Applikationen mit gravierenden Mängeln. Das Linux-Magazin erklärt die Hintergründe und beschreibt Auswege.

  • Sicherheitsschwäche in IBM Websphere Commerce
  • Beklaut und ausspioniert

    Crypto-Dateisystem halten vertrauliche Daten geheim, selbst wenn jemand das Notebook inklusive Festplatte klaut. Jenseits dieses sinnvollen Einsatzbereichs versprechen aber manche Entwickler und Kryptologen geradezu abenteuerliche Schutzeigenschaften.

  • Löchriger Käse

    Ob die aktuellen Crypto-Dateisysteme unter Linux wirksam schützen, hängt von den kryptographischen Qualitäten ab und davon, ob ihre Bedienung den Admins und Anwendern schmeckt. Oftmals sorgen Programmierfehler sogar für zusätzliche Sicherheitslöcher. Dieser Test deckt Schwächen auf.

comments powered by Disqus

Ausgabe 10/2017

Digitale Ausgabe: Preis € 6,40
(inkl. 19% MwSt.)

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.