CryFS: Cloud-Daten einfach & sicher verschlüsseln
Die Open-Source-Software CryFS verschlüsselt Daten clientseitig, um sie anschließend sicher in der Cloud speichern zu können.
Im Gegensatz zu Cryptomator bietet CryFS keine grafische Bedienoberfläche (GUI) an, sondern wird direkt auf der Kommandozeile bzw. im Terminal bedient. Im alltäglichen Gebrauch werden im Grunde aber auch nur zwei Befehle benötigt.
In diesem Beitrag zeige ich euch, wie ihr mithilfe von CryFS eure Cloud-Daten verschlüsselt.
Konzept & Funktionsweise von CryFS
Entwickler & Leitspruch
Hinter CryFS steht Sebastian Messmer, der die Software entwickelt sowie betreut. Ziel ist die einfache und sichere Speicherung von Daten in der Cloud:
Allgemeine Funktionsweise
Die zu schützenden Cloud-Daten werden in einem speziellen von CryFS verwalteten Verzeichnis verschlüsselt gespeichert. Dieses Verzeichnis kann in einem Cloud-Speicherordner abgelegt sein, um so die verschlüsselten Daten mit dem Cloud-Speicher zu synchronisieren. Der eigentliche Zugriff auf die verschlüsselten Daten erfolgt dabei über ein virtuelles Laufwerk. Dieses virtuelle Laufwerk wird ins Dateisystem eingehängt, nachdem das korrekte Passwort eingegeben wurde.
Die Verschlüsselung selbst ist verzeichnis- bzw. dateibasiert, so dass jedes Verzeichnis und jede Datei einzeln verschlüsselt werden. Neben dem Dateiinhalt bleiben auch die Dateigrößen, Verzeichnisstrukturen und sonstige Metadaten geheim. Erreicht wird das durch das Aufteilen der Dateien in gleichgroße Teile (sogenannte Blocks/Chunks), die dann wiederum jeder für sich einzeln verschlüsselt werden (siehe vereinfachte Darstellung).

Sicherheit von CryFS
Zum Verschlüsseln verwendet CryFS standardmäßig AES (256Bit) mit GCM, was bei Bedarf aber auch anpassbar ist. Wie bereits erwähnt, sind sowohl die Dateiinhalte als auch dazugehörigen Metadaten verschlüsselt. Außerdem wird die Verzeichnisstuktur verschleiert. Zum Schutz des Passworts vor Angriffen kommt scrypt zum Ensatz.
Ein unabhängiges Sicherheitsaudit gab es bisher nicht. Allerdings hat der Entwickler selbst in seiner Masterarbeit zum Thema CryFS: Design and Implementation of a Provably Secure Encrypted Cloud Filesystem CryFS untersucht. Des Weiteren gibt es wissenschaftliches Paper, dass sich mit CryFS beschäftigt (siehe A Novel Cryptographic Framework for Cloud File Systems and CryFS, a Provably-Secure Construction).
Betont sei auch noch einmal, dass CryFS quelloffen ist. Jeder kann den Quellcode einsehen und überprüfen. Der Einbau von möglichen Hintertüren, sogenannten Backdoors als auch die Verheimlichung von Schwachstellen wird so erschwert.
Installation
Zum derzeitigen Zeitpunkt findet sich CryFS in den offiziellen Paketquellen von MacOS und Debian-basierten Linux-Distributionen. Für Windows gibt es nur eine experimentelle Version.
Um CryFS unter Ubuntu zu installieren, reicht folgender Befehl aus:
sudo apt install cryfs
Anschließend steht der Befehl cryfs
zur Verfügung.
Verwendung von CryFS
CryFS-Verzeichnis erstellen & initialisieren
Als Beispiel für diesen Beitrag wollen wir unsere Daten in einem Verzeichnis namens DatenTresor
innerhalb eines Mailbox.org- Cloud-Speichers verschlüsseln. Dieser ist via WebDAV im Dateisystem unter ~/MailboxDrive
eingebunden. Um nun das genannte Vereichnis mit CryFS zu initialisieren, wird folgender Befehl ausgeführt
cryfs MailboxDrive/DatenTresor MailboxTresorMount
CryFS Version 0.9.10
Use default settings?
Your choice [y/n]: y
Generating secure encryption key. This might take some time..done
Password: 123456
Confirm password: 123456
Creating config file (this can take some time)...done
Mounting filesystem. To unmount, call:
$ fusermount -u "/home/sl/MailboxTresorMount/"
Das zweite Verzeichnis, welches wir als Argument übergeben haben, entspricht dem Verzeichnis, in dem das virtuelle Laufwerk eingebunden wird. Über ~/MailboxTresorMount
erfolgt der eigentiche Zugriff auf eure Daten.
Bei der Initialisierung hättet ihr anstatt der Standard-Einstellungen auch die Möglichkeit z.B. ein anderes Verschlüsselungsverfahren auszuwählen.
Nach Eingabe eines von euch gewählten Passworts, wird das CryFS-Verzeichnis initialisiert und das virtuelle Laufwerk eingebunden.
CryFS-Verzeichnis entsperren & öffnen
Der Befehl zum Initialisieren des verschlüsselten Verzeichnis wird auch zum Entsperren verwendet:
cryfs MailboxDrive/DatenTresor MailboxTresorMount
CryFS Version 0.9.10
Password: 123456
Loading config file (this can take some time)...done
Mounting filesystem. To unmount, call:
$ fusermount -u "/home/sl/MailboxTresorMount/"
Nach Eingabe eures Passworts könnt ihr auf eure verschlüsselten Daten über das Verzeichnis ~/MailboxTresorMount
zugreifen.
Dateien verschlüsseln
Zum Verschlüsseln eurer Daten, könnt ihr diese nun auf dem virtuellen Laufwerk speichern. Bezogen auf das Beispiel in diesem Beitrag, würdet ihr eure Daten also im Verzeichnis ~/MailboxTresorMount
speichern.

CryFS sorgt anschließend dafür, die Daten zu verschlüsseln und im CryFS-Verzeichnis innerhalb eures Cloud-Speicherordners abzulegen. Anschließend sorgt eure Cloud-Software für die Synchronisation der verschlüsselten Daten mit eurem Cloud-Speicher. In unserem Fall erfolgt die Synchronisation per WebDAV.
Der Inhalt des CryFS-Verzeichnis sieht wie folgt aus:

Über die Weboberfläche eures Cloud-Speicherdienstes könnt ihr euch vergewissern, dass die verschlüsselten Daten in eurer Cloud vorhanden sind.
CryFS-Verzeichnis sperren
Der Befehl zum Aushängen des virtuellen Laufwerks und Sperren des CryFS-Verzeichnis lautet wie folgt:
fusermount -u MailboxTresorMount/
Anschließend besteht keine Möglichkeit mehr über das virtuelle Laufwerk auf die verschlüsselten Daten zuzugreifen.
Alternative Software zur Cloud-Daten-Verschlüsselung
Abgesehen von proprietären Lösungen, wie dem bekannten Boxcryptor, gibt es neben CryFS weitere Open-Source-Software, wie z.B.:
- dateibasiert
- containerbasiert
Für die Verschlüsselung einzelner weniger Dateien kann ggf. auch die Verwendung von GnuPG ausreichend sein.
Fazit
Private Daten, die ihr in der Cloud speichern möchtet, solltet ihr zur Sicherheit immer vorher verschlüsseln. Mit CryFS gibt es hierfür eine frei verfügbare Software, die euch das sichere Verschlüsseln eurer Daten ohne große Vorkenntnisse ermöglicht.