[linux-l] Sicherheit oder irgendwas, hauptsache einfach? (was: quick-&-dirty-Lösung für Festplattenverschlüsselung)

Mike Dornberger Mike.Dornberger at gmx.de
Mi Jun 14 13:16:28 CEST 2006


Hi,

On Tue, Jun 13, 2006 at 08:57:17PM +0200, Benjamin Schieder wrote:
> Man will kein loop-aes. Man will dm-crypt. Vorteile von dm-crypt: Ist in
> Vanilla Linux Kernel integriert. Muss man nicht jedesmal reinpatchen. Muss
> man auch nicht alle drei micro-Versionen nen neuen Patch suchen.

nunja, eigentlich wollte ich diese Diskussion vermeiden...

Auf der linux-crypto-Liste sind schon des öfteren berechtigte Zweifel an der
Implementation gebracht worden. So soll die IV-Berechnung z. B. sehr
schlecht gemacht sein, was einen Angriff auf das System ermöglicht. Meines
Wissens nach ist dm-crypt auch immernoch gegen Wasserzeichenangriffe
(watermark attack) anfällig.

Auch der "neue" LRW-Modus von Truecrypt wurde neulich kritisiert.

Siehe z. B.

http://mail.nl.linux.org/linux-crypto/2006-03/msg00042.html
http://mail.nl.linux.org/linux-crypto/2006-06/msg00024.html
http://mail.nl.linux.org/linux-crypto/2006-06/msg00026.html

Ich habe bisher nichts gelesen, was auf die Kritiken und Zweifel eingeht und
erklärt, warum nichts entsprechendes umgesetzt wurde. Gut, ich habe auch
nicht explizit danach gesucht.

Meine Beobachtung ist jedoch, daß Jari (loop-AES Autor) sehr schnell auf
Fragen reagiert und auch recht schnell Fixes an loop-AES rausbringt, wenn
eine Schwachstelle bekannt geworden ist.

Es kann natürlich sein, daß er die linux-crypto-Liste, sagen wir mal, so
"vereinnahmt" hat, daß von den anderen Leuten (dm-crypt, Truecrypt, ...) da
keiner mehr posten mag.

Jedenfalls bin ich der Überzeugung, daß loop-AES im Moment das beste frei
verfügbare System zur Online-Datenverschlüsselung ist und wenn man nicht nur
mal ein wenig mit Verschlüsselung herumspielen will, sondern, aus was für
Gründen auch immer, soetwas wirklich braucht/will, sollte man nicht
unbedingt den Weg des geringsten Widerstandes gehen.

> Desweiteren laesst sich mit http://shellscripts.org/project/dmscripts ein
> Dateisystem run-time (also _nachdem_ Daten drauf sind, bitte trotzdem
> umount anwenden!) verschluesseln.

Ich habe mir das Script jetzt nicht angesehen, aber es wird dann wohl so
etwas ähnliches machen, wie aespipe:

        dd if=/dev/hda2 bs=64k \
            | /mnt/aespipe -e AES128 -K /mnt/rootkey.gpg -G / \
            | dd of=/dev/hda2 bs=64k conv=notrunc

(Step 20 in Example 5 - Encrypting root partition
 http://loop-aes.sourceforge.net/loop-AES.README )

Mit der statisch gelinkten Variante kann man das ganze auch von einem
minimalen Rettungssystem (ohne dm-crypt, loop) aus machen oder in der Art
und Weise den/die Key(s) der Verschlüsselung ändern, sollte man das wollen.

> dmencrypt.sh /dev/hdfoo42
> dmmount.sh /dev/hdfoo42 /mnt/23
> dmumount.sh /mnt/23
> 
> Gehts einfacher? Wenn ja, dann bitte mitteilen!

Wo legst du den verwendeten Algorithmus, die Schlüssellänge, Offsets, Salt,
Itercount u. d. g. fest?

Nun, wenn man zwei, drei Sachen in Shell-Scripte wirft, geht's so einfach
mit loop-AES auch (wenn es aufgesetzt ist). Debian Etch wird vermutlich
einige loop-AES-Pakete enthalten. Dann wird es wohl auch als einzigen
Schritt vorher soetwas wie "module-assitant buil loop-aes-module; dpkg -i
loop-aes*.deb" geben. So einfach geht das zwar dann sicher nicht, wenn man
die Root- und Swap-Partition mitverschlüsseln will, aber den Aufwand hat
man auch nur einmal (pro Kernel) und die o. g. README erklärt eigentlich
alles. Vielleicht gibt es auch ein Debian-spezifisches Howto dazu, habe ich
nicht danach gesucht.

Nunja, soll jetzt nicht unbedingt als Werbung für loop-AES angesehen werden.
Nur weil etwas nicht im Mainline-Kernel ist, heißt es nicht, daß es
schlechter ist als das, was drinnen ist. ALSA z. B. war ja auch nicht von
Anfang an drinnen. (Soll jetzt keine Diskussion werden, ob ALSA oder OSS
besser ist.) Im übrigen möchte ich noch daran erinnern, daß auch Jörg
Schilling (cdrecord u. a.) gerne viel über Design-Schwächen im Linux-Kernel
erzählt. :)

Viele Grüße,
 Mike




Mehr Informationen über die Mailingliste linux-l