Verschusselt statt verschlüsselt

Nicht überall wo AES-Verschlüsselung draufsteht, sind die Daten auch wirklich sicher. So geschehen bei einem Festplatten-Gehäuse mit RFID-Schlüssel, das exemplarisch für eine ganze Reihe baugleicher Produkte stehen dürfte.

Lesezeit: 10 Min.
In Pocket speichern
vorlesen Druckansicht
Von
  • Christiane Rütten
Inhaltsverzeichnis

In c't 5/08 haben wir die schwache Verschlüsselung des 2,5"-Festplattengehäuses Easy Nova Data Box PRO-25UE RFID von Drecom bemängelt, das fälschlich mit "128-bit AES Hardware Datenverschlüsselung" beworben wurde. Nach Rücksprachen mit den beteiligten Herstellern ist nun klar, dass die entdeckte Verschlüsselungsschwäche eine ganze Reihe baugleicher Produkte betreffen dürfte. Hier zeigen wir, wie wir dahintergekommen sind.

Zufallsdaten und gut verschlüsselte Daten ergeben im Phasenraum eine gleichmäßige Verteilung.

Als erster Analyseschritt stand die Sichtung der verschlüsselten Daten auf dem Medium an. Dazu bauten wir die mitgelieferte Samsung-Festplatte aus und schlossen sie an einen regulären USB-SATA-Adapter an. An den Daten fiel auf, dass auf dem Medium alle Sektoren, die nicht durch Partitionstabelle und FAT32-Formatierung überschrieben wurden, im Auslieferungszustand mit lauter Nullen belassen wurden. Das ist aus kryptographischer Sicht zwar kein Beinbruch, es ermöglicht einem Angreifer aber schon einmal eine grobe Einschätzung, wieviele verschlüsselte Daten sich auf der Platte befinden.

Die verschlüsselten Daten auf der Festplatte zeigen im Phasenraum Linienmuster, die auf eine schwache Verschlüsselung hindeuten.

Verschlüsselte Daten sehen idealerweise aus wie Zufallszahlen. Um den Pseudo-Zufallsgehalt und die damit einhergehende Verschlüsselungsqualität einer Datenmenge schnell beurteilen zu können, bietet sich ein so genannter Phasenraumplot an. Für einen dreidimensionalen Phasenraumplot stellt man eine Zahlenfolge a, b, c, d, e, f, ... als Raumkoordinaten (a-b, b-c, c-d), (b-c, c-d, d-e), (c-d, d-e, e-f), ... dar. An Mustern im entstehenden Plot lassen sich wiederkehrende Beziehungen zwischen aufeinanderfolgenden Zahlenreihen erkennen. 50.000 16-Bit-Zufallszahlen bilden im Phasenplot eine gleichmäßige Punktewolke ohne erkennbare Struktur:

Da innerhalb der ersten 100 KByte der verschlüsselten Festplatte rund 30 Prozent Nullen liegen, ist zu erwarten, dass ein Drittel der Punkte auf den Nullpunkt wandert. Doch wenigstens die restlichen zwei Drittel sollten schön wolkig verteilt sein, wenn die Verschlüsselung ordentlich ist. Das Ergebnis ist jedoch erschütternd:

Ein überwältigender Teil der rund 35.000 Nicht-Nullen, die eigentlich annähernd zufallsverteilt sein sollten, häuft sich im Phasenraum in vier Gruppen. Und tatsächlich: Schaut man sich die einzelnen Sektoren mit einem Hexeditor genauer an, finden sich immer wieder dieselben Zahlenfolgen:

00008e00 77 c8 54 35 ee 90 a9 6a dc 21 53 d5 7d 43 a6 aa |w.T5...j.!S.}C..|
00008e10 3f 86 4c 55 7e 0c 99 aa 39 18 32 55 72 30 64 aa |?.LU~...9.2Ur0d.|
...
00008fe0 fd 76 00 20 fa ed 00 40 f4 db 01 80 2d b7 03 00 |.v. ...@....-...|
00008ff0 5a 6e 07 00 b4 dc 0e 00 68 b9 1d 00 d0 72 3b 00 |Zn......h....r;.|

im folgenden 512-Byte-Block (200 Hexadezimal) noch einmal:

00009000 77 c8 54 35 ee 90 a9 6a dc 21 53 d5 7d 43 a6 aa |w.T5...j.!S.}C..|
00009010 3f 86 4c 55 7e 0c 99 aa 39 18 32 55 72 30 64 aa |?.LU~...9.2Ur0d.|
...
000091e0 fd 76 00 20 fa ed 00 40 f4 db 01 80 2d b7 03 00 |.v. ...@....-...|
000091f0 5a 6e 07 00 b4 dc 0e 00 68 b9 1d 00 d0 72 3b 00 |Zn......h....r;.|

und wieder:

00009200 77 c8 54 35 ee 90 a9 6a dc 21 53 d5 7d 43 a6 aa |w.T5...j.!S.}C..|
00009210 3f 86 4c 55 7e 0c 99 aa 39 18 32 55 72 30 64 aa |?.LU~...9.2Ur0d.|
...
000093c0 4d 00 20 59 9a 00 40 b2 f1 01 80 64 e2 03 00 c9 |M. Y..@....d....|
000093d0 01 07 00 92 c7 0e 00 24 8e 1d 00 48 1c 3b 00 90 |.......$...H.;..|

und wieder:

00009400 77 c8 54 35 ee 90 a9 6a dc 21 53 d5 7d 43 a6 aa |w.T5...j.!S.}C..|
00009410 3f 86 4c 55 7e 0c 99 aa 39 18 32 55 72 30 64 aa |?.LU~...9.2Ur0d.|
...
000095e0 fd 76 00 20 fa ed 00 40 f4 db 01 80 2d b7 03 00 |.v. ...@....-...|
000095f0 5a 6e 07 00 b4 dc 0e 00 68 b9 1d 00 d0 72 3b 00 |Zn......h....r;.|

Das Spiel geht so weiter und die regelmäßig wiederholten und nahezu identischen Zahlenkolonnen lassen vermuten, dass die 512 Byte langen Sektoren nicht AES-Verschlüsselt auf der Platte landen, sondern mit stets demselben 512-Byte-Chiffreblock per XOR (Exklusiv-Oder) verknüpft sind.