Open Source im professionellen Einsatz

Ecryptfs

Im Gegensatz zu den beiden ersten Testkandidaten verschlüsselt Ecryptfs [6] auf Dateiebene, nicht auf der Ebene der Blockdevices. Ecryptfs setzt im Hintergrund auf Cryptfs und den Fist-Standard mit seinen Stackable Filesystems [7]. Das Enterprise Cryptographic Filesystem ist fester Bestandteil des Linux-Kernels seit Version 2.6.19. Ubuntu setzt seit 9.04, Jaunty Jackalope, auf Ecryptfs und bietet schon im Installer an, das eigene Homeverzeichnis zu verschlüsseln.

Das Tool unterstützt keine Container oder Partitionen, und obwohl es ein eigenes Werkzeug für die Verschlüsselung von Swap-Partitionen mitbringt, kann es keine Systempartitionen absichern. Wer »/swap« mit Ecryptfs sichert, sollte beachten, dass auf vielen Linux-Systemen danach das Schlafenlegen beziehungsweise Aufwachen (Hibernate/Resume) nicht mehr funktionieren.

Wie DM-Crypt verzichtet auch Ecryptfs auf ein GUI und setzt ganz auf Linux-Bordmittel. Listing 1 zeigt eine typische Ecryptfs-Sitzung. Beim erstmaligen Einbinden mit »mount -t ecryptfs« fragt die Software den Anwender nach den möglichen Parametern für die Verschlüsselung, zum Beispiel nach Cipher, Key oder Passwort, nach Key-Typ und -Länge. Bei jedem weiteren Mountvorgang dieses Verzeichnisses verlangt es nur mehr die Legitimation.

Listing 1

ecryptfs-Sitzung

01 # mount -t ecryptfs Quellverzeichnis verschlüsseltes Verzeichnis
02 Select key type to use for newly created files:
03 1) pkcs11-helper
04 2) tspi
05 3) passphrase
06 4) openssl
07 Selection: 3
08 Passphrase:
09 Select cipher:
10 1) aes: blocksize = 16; min keysize = 16; max keysize = 32 (loaded)
11 2) blowfish: blocksize = 16; min keysize = 16; max keysize = 56 (not loaded)
12 3) des3_ede: blocksize = 8; min keysize = 24; max keysize = 24 (not loaded)
13 4) cast6: blocksize = 16; min keysize = 16; max keysize = 32 (not loaded)
14 5) cast5: blocksize = 8; min keysize = 5; max keysize = 16 (not loaded)
15 Selection [aes]: 1
16 Select key bytes:
17 1) 16
18 2) 32
19 3) 24
20 Selection [16]: 1
21 Enable plaintext passthrough (y/n) [n]:
22 Enable filename encryption (y/n) [n]:
23 Attempting to mount with the following options:
24 ecryptfs_unlink_sigs
25 ecryptfs_key_bytes=16
26 ecryptfs_cipher=aes
27 ecryptfs_sig=d395309aaad4de06
28 WARNING: Based on the contents of [/root/.ecryptfs/sig-cache.txt],
29 it looks like you have never mounted with this key
30 before. This could mean that you have typed your
31 passphrase wrong.
32
33 Would you like to proceed with the mount (yes/no)? : yes
34 Would you like to append sig [d395309aaad4de06] to
35 [/root/.ecryptfs/sig-cache.txt]
36 in order to avoid this warning in the future (yes/no)? : yes
37 Successfully appended new sig to user sig cache file
38 Mounted eCryptfs

Eine konzeptionelle Schwachstelle darf nicht unerwähnt bleiben: Jeder Benutzer mit Administrator-Rechten kann die verschlüsselten Verzeichnisse der anderen Anwender auslesen, da die Passphrase für die verschlüsselten Daten an das Benutzerkennwort gebunden ist. Ein möglicher Ausweg ist, die Passphrase auf ein externes Medium wie einen USB-Stick oder eine SSD-Karte auszulagern [8].

Benchmarks

Tabelle 1 zeigt die drei für Linux verfügbaren Tools in einem direkten Vergleich. Beim Bonnie++-Benchmark überraschte Ecryptfs mit deutlich höherem Lesedurchsatz als die beiden Konkurrenten. Der Preis dafür ist klar: Die CPU war beim Schreiben zu 86 Prozent, beim Lesen sogar zu 96 Prozent ausgelastet – das ist deutlich mehr Last als bei den anderen beiden. Wer Durchsatz braucht, sollte sich Ecryptfs anschauen, allerdings bieten die beiden Konkurrenten mehr Features.

Truecrypt und DM-Crypt sind zwar etwas langsamer, gehen aber dafür auch schonender mit der CPU um. Truecrypt glänzt mit seinem vorbildlichen GUI, DM-Crypt mit nahezu perfekter Linux-Integration, die flexible Setups mit nahezu beliebigen Filesystemen ermöglicht.

Wer sein Linux-System komplett verschlüsseln will, greift zu DM-Crypt. Dagegen setzt der Windows-Anwender auf Truecrypt, das für derartige Setups einen eigenen Bootloader mit Pre-Boot-Authentication mitbringt, der als Chainloader auch Linux startet. Für Anwender tragbarer Geräte, die Linux und Windows als Dual-Boot-System betreiben, führt daher kein Weg an einer Doppellösung vorbei, auch wenn die unfreie Lizenz einige vielleicht dabei stört.

Auch wer seinen verschlüsselten USB-Stick an einen Windows- oder Mac-OS-X-Rechner anstöpseln will, sollte Truecrypt wegen seiner Plattformunabhängigkeit bevorzugen. In Szenarien, wo nur Linux im Einsatz ist, eignet sich die Kernel-basierte DM-Crypt-Variante meist besser – und falls doch einmal ein Windows-System ins Spiel kommt, hilft das GPL-Tool Free OTFE.

Infos

  1. Truecrypt: http://www.truecrypt.org
  2. DM-Crypt: http://www.saout.de/misc/dm-crypt
  3. Michael Nerb, "Mobiler Datentresor": Linux-Magazin 10/06, S. 46
  4. Disk Cryptor: http://diskcryptor.net
  5. Free OTFE: http://www.freeotfe.org
  6. Ecryptfs: https://launchpad.net/ecryptfs
  7. Fist: http://www.filesystems.org
  8. Bruce Byfield, Kristian Kißling, "Gut versteckt": Ubuntu User 4/10, S. 46

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 4 Heftseiten

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

Als digitales Abo

Als PDF im Abo bestellen

comments powered by Disqus

Ausgabe 07/2013

Preis € 6,40

Insecurity Bulletin

Insecurity Bulletin

Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...

Linux-Magazin auf Facebook