Kryptodateisysteme für Linux

Gründe zum Verschlüsseln der Festplatte gibt es viele. Ist man zum Beispiel viel mit dem Laptop unterwegs, ist Verschlüsselung praktisch der einzig sichere Weg, um die Daten gegen Zugriff zu schützen. Dadurch werden nicht nur vertrauliche Dokumente, sondern auch die persönlichen Informationen (z.B. E-Mail, besuchte Webseiten, ICQ History, …) zuverlässig geschützt.

In der Zwischenzeit gibt es eine ganze Menge von Alternativen für Linux (dieser Artikel beschäftigt sich nur mit Linux, andere Betriebssysteme folgen evtl. später).

  • cryptoloop
  • dm-crypt
  • loop-aes
  • truecrypt
  • encfs

Zwei Kandidaten scheiden hier bereits von vorneherein aus: encfs und Truecrypt. Ersteres habe ich nicht näher untersucht, da es statt dem darunter liegendem Block-Device nur die Dateien/Dateinamen verschlüsselt. Letzteres ist sehr vielversprechend, kann jedoch unter Linux keine neuen Container anlegen. Sicherlich wird dies in einer späteren Version nachgereicht, so daß es dann erst richtig unter Linux interessant wird.

cryptoloop
Cryptoloop ist schon seit längerem verfügbar. In der Zwischenzeit ist es auch recht gut in die kommerziellen Linux-Distributionen integriert. So bietet zum Beispiel SuSE-Linux schon seit einigen Versionen die Möglichkeit, direkt bei der Installation Partitionen damit verschlüsselt anzulegen (mit twofish als Verschlüsselungsalgorithmus). Insgesamt sind eine Reihe von verschiedenen Verschlüsselungsalgorithmen verfügbar (twofish, AES, DES, …). Leider hat cryptoloop ein wesentliches Problem: Es ist anfällig für Watermarking. Eine gute Zusammenfassung zu dieser Problematik ist z.B. auf der Webseite von Markus Reichelt zu finden. Das Problem ist verwandt mit den Problemen der WEP-Verschlüsselung bei WLAN: Der Initialisierungsvektor für die Verschlüsselung wird ungünstig gewählt, so daß man Dateien auf dem verschlüsselten Volume erzeugen kann, die man auch ohne Kenntnis des Schlüssels auf dem Laufwerk nachweisen kann.

dm-crypt
Dm-crypt arbeitet daran, der neue Standard für Festplattenverschlüsselung zu werden. Der verwendete Device-Mapper-Ansatz bietet einen wesentlichen Vorteil gegenüber cryptoloop und loop-aes: Man kann eine beliebige Anzahl von verschlüsselten Geräten anlegen (cryptoloop und loop-aes können maximal 8 Geräte verschlüsseln). Auch die Schlüsselverwaltung wird hier anders geregelt: der Schlüssel für die Festplatte befindet sich verschlüsselt auf der verschlüsselten Partition, so daß hier keine weiteren externen Schlüsseldateien notwendig sind (die Erweiterung dafür heißt LUKS). Bei meinen Versuchen unter SuSE 9.3 (2.6.11-21a) hat sich auch dm-crypt anfällig für Watermarking erwiesen — auch wenn der Fehler schon seit Kernel 2.6.10 nur noch abgeschwächt hätte vorhanden sein sollen. Eine wirklich sichere Initialisierung des IV wird in dm-crypt vermutlich nie implementiert werden: Der Autor von dm-crypt konnte sich auf der Kernel-Mailing-Liste nicht mit den dafür nötigen Änderungen am Kernel durchsetzen (sein Frust ist verständlich, nachdem er den entsprechenden Patch ca. dreimal neu schreiben mußte, weil es den hohen Ansprüchen nicht genügt hatte).

loop-aes
Der Autor von loop-aes hat sich gar nicht erst daran versucht, daß sein Patch in den Kernel aufgenommen wird. Zwischen den Zeilen konnte man lesen, daß er keine Lust auf Diskussionen über Variablennamen hatte.
Für die Verschlüsselung werden insgesamt 65 Schlüssel verwendet. 64 für die Verschlüsselung und einer für den IV. loop-aes ist daher, wie auch treucrypt, nicht für Watermarking anfällig. Als Verschlüsselungs-Algorithmen stehen AES-256 und AES-128 zur Verfügung. Leider muß man unter SuSE einen eigenen Kernel kompilieren, der das normale loop Device nicht enthält. Dadurch läßt sich das normale Rettungssystem nicht verwenden, wenn man damit auf verschlüsselte Partitionen zugreifen will. Glücklicherweise wird aber von SuSE ein bereits gepatchtes file-utils Paket mitgeliefert, so daß man sich hier das Neukompilieren sparen kann. Die Schlüssel liegen in einer mit gpg verschlüsselten Datei, so man einfach Backups davon machen kann. Obwohl ein neuer Kernel benötigt wird, funktioniert alles problemlos und ist auch für Laien gut zu bewältigen.
Die Performance ist mit einem aktuellen System mehr als ausreichend (bei uns ca. 18MB/sec mit xfs als Dateisystem).

Noch ist es zu früh, um ein Fazit zu geben. loop-aes ist erst seit kurzer Zeit produktiv im Einsatz. Sollte es wider Erwarten zu Problemen kommen, dann wird sicher hier zu lesen sein.

Ein Gedanke zu „Kryptodateisysteme für Linux“

  1. Hallo,

    ich habe mit dm-crypt gute Erfahrungen gemacht von Handling und Geschweindigkeit . Der Versuch, es als root-partition zu nutzen ist aber (noch) gescheitert.

    Angenehm am devicemapper (dm) generell finde ich, dass er nicht auf die Namen der Geräte/Partitionen angewiesen ist, sondern sich ausschliesslich über auf den Partitionen verteilte Hashes organisiert. D.h. man erhält einer Abstraktion der Festplatten, die erlaubt eine Partition (verschlüsselt oder nicht) über mehrere Festplatten spannen zu lassen auch mit striping. (Raid ist noch so eine Sache mit dm, die nicht richtig tut …)

    Kurzum: 1,5 Daumen hoch von mir für dm-crypt 🙂

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.