Aus Linux-Magazin 03/2016

Wer Daten verschlüsselt, muss Dienstleistern nicht unbedingt vertrauen

Gerd-Wolf, Fotolia

Die eigenen Daten in die Cloud zu synchronisieren, ist praktisch, aber heikel. Verschiedene Desktop-Verschlüsselungsprogramme bieten Hilfe an, vereinzelt bräuchten sie selbst welche.

Daten einfach in der Cloud sichern. Das klingt bequem und nützlich, kein Wunder, dass mittlerweile viele Privatpersonen und Firmen diese Möglichkeit nutzen. Sie speichern Daten lokal und gleichen sie dann je nach Einstellung automatisch mit einem Speicherdienst im Internet ab. So halten sie die Verzeichnisse synchron und müssen sich keine Sorgen mehr um Backups machen. Diese meist lästige Aufgabe nimmt ihnen der Cloudanbieter ab. Natürlich haben solche Dienste nicht nur Vorteile. Die brennendste Frage: Wer bekommt Zugriff auf die Daten?

Mitunter werten Cloudanbieter die hochgeladenen Dateien automatisiert aus und überprüfen sie auf Darstellung von Kindesmissbrauch oder Urheberrechtsverletzungen [1], [2]. Im ersten Fall landen verdächtige Daten bei Ermittlungsbehörden, im zweiten sperrt der Algorithmus die Sharing-Funktion. Bei kostenlosen Angeboten schalten sie zudem Werbeanzeigen basierend auf den ausgewerteten Inhalten.

Boxcryptor

Eines der bekannteren Programme heißt Boxcryptor [3]. Während die Classic-Version [4] Linux noch unterstützt, ist das bei den aktuellen Versionen nicht mehr der Fall. Der Hersteller schreibt auf der Webseite: “It will not be supported on upcoming versions of these operating systems. Therefore, we can’t guarantee that the Classic version will work on them.” Der Artikel erwähnt die Software daher nur der Vollständigkeit halber, zumal es Alternativen gibt.

Seit den Snowden-Dokumenten ist zudem klar, dass zumindest die NSA Zugriff auf jedwede Daten anstrebt. Seit jeher haben außerdem die Administratoren der Clouddienste Zugriff auf die Daten der Nutzer. Nicht zuletzt sind deutsche Unternehmen zunehmend unsicher, was womöglich geschieht, wenn sie ihre zum Teil personenbezogenen Daten auf Servern in den USA ablegen.

Die Lösung lautet: Ende-zu-Ende-Verschlüsselung. Der Nutzer chiffriert dabei sämtliche Daten auf dem heimischen Rechner und schiebt sie dann auf den Cloudserver. Natürlich bleibt der Schlüssel im eigenen Besitz.

Schlüsseldienste

Es gibt einige Anwendungen, die versprechen, diesen Prozess einfach und benutzerfreundlich abzuwickeln. Daneben existieren für Linux auch bordeigene Mittel, um dieses Ziel zu erreichen. Der Artikel stellt eine Auswahl an Programmen vor und erläutert Vor- und Nachteile.

Panbox

Ein potenzieller Kandidat heißt Panbox (Abbildung 1, [5]). Die Software wurde Anfang 2015 veröffentlicht und entsprang einer Förderung durch das bundesdeutsche Ministerium für Justiz und Verbraucherschutz. Die Entwickler des Programms, das Fraunhofer-Institut für sichere Informationstechnologie (SIT) und die Sirrix AG, betonen, dass Privacy-by-Design eine wichtige Grundlage gewesen sei. Das heißt, die Software ist so implementiert, dass sie nicht auf gutwillige Betreiber oder Gesetze vertrauen müsse, häufig Privacy-by-Policy genannt. Vielmehr liege die Stärke in der Nachprüfbarkeit und im Design. Die Quellen befinden sich in einem öffentlichen Archiv auf Github [6]. Damit sei es für alle möglich, den Code auf Fehler zu untersuchen und die Beteuerungen bezüglich der Sicherheit der Software zu überprüfen. Gerade im Bereich der IT-Sicherheit ist dies eine wichtige Forderung.

Abbildung 1: Panbox soll Dateien auf dem Desktop verschlüsseln und dann an Dropbox weiterreichen. Die Software gibt es als Open-Source-Variante und Enterprise-Version.

Abbildung 1: Panbox soll Dateien auf dem Desktop verschlüsseln und dann an Dropbox weiterreichen. Die Software gibt es als Open-Source-Variante und Enterprise-Version.

Panbox steht unter der GPLv3. Neben der Open-Source-Variante existiert Panbox Enterprise, das sich speziell an Behörden und Unternehmen richtet. Diese Variante [7] bietet Anbindung an einen Verzeichnisdienst (LDAP) und eine Public-Key-Infrastruktur (PKI).

Boxenstopp

Auf den Seiten der Sirrix AG steht eine Datei im Zip-Format für Linux und andere Betriebssysteme zum Download [8] bereit. Der Anwender lädt sie herunter und entpackt sie in ein Unterverzeichnis.

Nach der Installation (siehe Kasten “Panbox installieren”) und dem ersten Start, prüft die Software, ob bereits eine Identität auf dem Rechner vorliegt. Ist das nicht der Fall, will sie Vorname, Nachname und E-Mail-Adresse des User wissen. Im nächsten Dialogfenster bittet Panbox darum, einen Gerätenamen einzugeben, voreingestellt ist der Rechnername. Dank der Namen lassen sich die Geräte später wieder zuordnen.

Panbox installieren

Da es sich bei Panbox 1.1.0 um eine Java-Anwendung handelt, benötigt der Admin zudem eine aktuelle Java-Version. Die Entwickler empfehlen das von Oracle gepflegte Java. Da die Software starke Verschlüsselung einsetzt, braucht der Nutzer zudem die Java Cryptography Extension (JCE), die im Downloadbereich von Java SE wartet [9].

Das sind noch nicht alle Abhängigkeiten. In der Zip-Datei wartet ein Readme, das die Bibliotheken für Ubuntu, Arch Linux, Fedora und Gentoo auflistet. Für den Artikel kam ein Ubuntu 15.10 zum Einsatz, daher installierte der Admin folgende Zusatzsoftware:

sudo apt-get install dbus-java-bin  python-appindicator python-nautilus libbluetooth-dev python-notify  python-gtk2 python-dbus

Anschließend startet der Admin die Software, indem er das Skript »start.sh« aufruft.

Schließlich folgt die Eingabe eines Passworts. Laut Handbuch [10] muss das mindestens acht Zeichen lang sein und “eine zufällige Kombination aus Groß-/Kleinbuchstaben, Ziffern und Sonderzeichen umfassen”. Im Test waren acht Zeichen die einzig erkennbare Beschränkung, Passwörter, die nur aus Zahlen oder Buchstaben bestanden, akzeptierte Panbox kommentarlos. Nach Eingabe des Passworts zeigt die Software die bislang eingegebenen Daten an und erzeugt im nächsten Schritt die Identität. Schließlich öffnet sie das eigentliche Anwendungsfenster (Abbildung 1).

Panbox erkennt eine existierende Dropbox-Installation. Stößt es auf eine solche, startet nach dem eben beschriebenen Einrichtungsassistent ein zweiter, der Dropbox einbinden möchte. Er sucht den existierenden Dropbox-Ordner heraus und benötigt ein so genanntes Access Token. Dies ist eine Art Passwort, das gegenüber dem Dropbox-Dienst versichert, dass Panbox auf das Dropbox-Konto zugreifen darf. Ein Klick auf »Erneuern« startet den Browser, eine Dropbox-Webseite fragt, ob Panbox auf den Dienst zugreifen darf. Erlaubt der Nutzer dies, zeigt die Seite den Access Token an, den er kopiert und zum Abschluss der Konfiguration in Panbox eingibt.

Out of the box?

Obwohl die Pressemeldungen zu Panbox ein einfaches und benutzerfreundliches Arbeiten versprechen, gab es im Umgang mit der Anwendung unüberbrückbare Differenzen. Zunächst diente eine frische Installation von Ubuntu 15.10 als Grundlage. Nach dem Start der Anwendung erschienen ein weißes Fenster ohne jegliche Menüs sowie das Tray-Icon. Das Anwendungsfenster reagierte nicht auf Versuche, es zu schließen, auch ein Klick auf den Punkt »Beenden« im Tray-Icon führte zu keiner erkennbaren Reaktion. Die Arbeit unter Ubuntu 15.10 war somit nicht möglich.

Unter Debian startete die Software immerhin und öffnete ein funktionsfähiges Anwendungsfenster. Im Laufe ihres Einsatzes stürzte sie jedoch immer wieder ab, etwa beim Versuch, die Sprache zu ändern (Abbildung 2). Offenbar gibt es bezüglich der Oberfläche noch einigen Handlungsbedarf.

Abbildung 2: Nicht nur einmal fror Panbox mitten in seiner Tätigkeit ohne besonderen Grund ein.

Abbildung 2: Nicht nur einmal fror Panbox mitten in seiner Tätigkeit ohne besonderen Grund ein.

Grob vereinfacht teilt die Anwendung Ordner (»Shares« ). Dazu unterscheidet das Programm zwischen einem Dropbox-Share (funktioniert nur bei einer Dropbox-Integration) und einem Verzeichnis-Share. Letzteren sollte benutzen, wer andere Cloudanbieter verwendet. Leider ließ sich die Umsetzung aufgrund der genannten Probleme nicht testen.

Cryptomator

Mit Cryptomator (Abbildung 3, [11]) existiert eine weitere Lösung zum Verschlüsseln von Daten für die Cloud. Der Entwickler Sebastian Stenzel arbeitet hauptsächlich an der Software, die unter MIT-Lizenz steht. Der Quellcode wartet auf Github [12]. Wer die Homepage des Projekts betrachtet, stellt fest, dass sich die Autoren viel Zeit nehmen, die kryptografischen Zusammenhänge zu erklären. Das und die Tatsache, dass es sich um freie Software handelt, sorgt für Vertrauen und erlaubt es Dritten, Programme zu entwickeln, die mit Cryptomator interagieren.

Abbildung 3: Cryptomator zeigt grafisch die Aktivität beim Empfang einer zu verschlüsselnden Datei an. Unten zu sehen, der in Gnome Files eingebundene Webdav-Server.

Abbildung 3: Cryptomator zeigt grafisch die Aktivität beim Empfang einer zu verschlüsselnden Datei an. Unten zu sehen, der in Gnome Files eingebundene Webdav-Server.

Interna

Offenbar haben sich die Entwickler intensiv Gedanken gemacht, wie sie die Software absichern wollen. Die generiert zunächst aus dem Passwort des Benutzers und aus einem zufälligen Wert (Salt) einen Schlüssel. Dafür nutzt Cryptomator den Schlüsselableitungsalgorithmus Scrypt [13]. Der macht das blinde Erraten (Brute Force) sehr schwer.

Üblicherweise übernimmt eine Hashfunktion (MD5, SHA-1, SHA-256) das Passwort zusammen mit dem Salt. Die Ausgabe der Hashfunktion ist dann der Schlüssel. Unter Einsatz spezieller Hardware und Algorithmen probieren Angreifer allerdings mehrere Millionen Werte pro Sekunde und ermitteln so ein Passwort unter Umständen sehr schnell. Der Scrypt-Algorithmus führt deshalb die Hashfunktion mehrfach aus und benutzt zudem noch viel Arbeitsspeicher. Dadurch verlangsamt er Versuche, das Passworts zu erraten. Wählt der Betreiber die richtigen Parameter für Scrypt, kommt selbst eine spezielle Hardware nicht über wenige hundert Rateversuche pro Sekunde hinaus. Den so errechneten Schlüssel (Key Encryption Key, KEK) benutzt das System später, um den Masterschlüssel zu dechiffrieren.

Für sonstige kryptografische Aktionen setzt Cryptomator den AES-Algorithmus ein und betreibt diesen in den Modi Cypher Block Chaining (CBC) oder Counter (CTR). Der Hashalgorithmus SHA-256 dient als Basis für weitere Operationen und ist nach aktuellem Stand eine gute Wahl dank geringer Angriffsfläche.

Nach der Installation (siehe Kasten “Auf die Platte”) erscheint ein Fenster mit dem Maskottchen der Software (Abbildung 4). In der linken unteren Ecke fügt der Benutzer einen so genannten Vault hinzu. Dies ist ein Ordner, in dem die verschlüsselten Inhalte landen. Weiterhin befindet sich darin auch der Schlüssel. Der lässt sich zwar aufgrund der oben genannten Schlüsselerzeugung nicht einfach zum Entschlüsseln verwenden, dennoch erscheint es sicherer, ihn außerhalb des Verzeichnisses aufzubewahren. Der Vault liegt dann innerhalb eines beim Cloudanbieter gehosteten Ordners.

Auf die Platte

Für die Installation von Cryptomator unter Linux existieren zwei Möglichkeiten: Für Debian-basierte Systeme bieten die Entwickler ein vorgefertigtes Paket an. Dieses lässt sich nach dem Download mittels

dpkg -i Dateiname

installieren. Das Paket speichert die Inhalte im Verzeichnis »/opt/Cryptomator« . Für andere Systeme gibt es eine »jar« -Datei, die der Aufruf

java -jar Dateiname

startet, alternativ ruft der Nutzer die Datei »/opt/Cryptomator/Cryptomator« auf.

Abbildung 4: Das Maskottchen von Cryptomator erscheint beim Start der Software, eine Updatefunktion ist auch an Bord.

Abbildung 4: Das Maskottchen von Cryptomator erscheint beim Start der Software, eine Updatefunktion ist auch an Bord.

Um den Vault anzulegen, gibt der Betreiber ein Verzeichnis an. Im zweiten Schritt denkt er sich ein Passwort aus. Hier sieht die Software keine Beschränkungen bezüglich der Länge oder der verwendeten Zeichen vor. Wünschenswert wären Mindestvorgaben aber schon, denn trotz einer guten Ableitungsfunktion wie Scrypt lassen sich simple Passwörter recht schnell erraten.

Bevor Cryptomator den Vault öffnet, fragt es das soeben ausgedachte Passwort erneut ab. Zugleich aktiviert es im Hintergrund einen lokalen Webdav-Server auf einem zufälligen Port. Nautilus, aber auch Gnome Files, können Webdav und zeigen das neue Verzeichnis automatisch an (Abbildung 3). Für die Kommandozeile benötigt der Nutzer ein Programm wie Cadaver [14], um Dateien zu verwalten. Verschiebt der User nun Dateien von der Festplatte in das Webdav-Verzeichnis, verschlüsselt Cryptomator diese automatisch und legt sie im Vault ab.

Nach kurzer Einarbeitungszeit lässt sich Cryptomator gut bedienen, im Test traten keinerlei spürbaren Einschränkungen wie Abstürze oder ähnliches auf. Als Pluspunkt darf auch gelten, dass die Entwickler aktiv an der Software arbeiten.

Alte Gefährten

Neben den speziell fürs Verschlüsseln von Daten in der Cloud entworfenen Programmen enthält Linux weitere Kryptotools bereit. Insbesondere auf Gnu-PG [15] und das veraltete Truecrypt [16] trifft dies zu, wobei es letzteres inzwischen als Fork namens Veracrypt (Abbildung 5, [17]) gibt.

Abbildung 5: Nachdem die Entwickler Truecrypt aufgegeben haben, trat Veracrypt die Nachfolge an.

Abbildung 5: Nachdem die Entwickler Truecrypt aufgegeben haben, trat Veracrypt die Nachfolge an.

Gnu-PG kommt in der Regel zum Verschlüsseln von E-Mails zum Einsatz, etwa mit Enigmail [18]. Mit dem Tool kann jeder Linux-User aber auch Dateien lokal chiffrieren, um sie danach in einem Cloudordner abzulegen und zu synchronisieren. Diese Lösung erfordert jedoch einige Handarbeit. So muss der Anwender darauf achten, nicht die unverschlüsselten Inhalte in den Cloudordner zu schieben oder die Dateien in den falschen Ordner zu entschlüsseln, der sie dann unbeabsichtigt wieder zurück in die Cloud synchronisiert. Wer dennoch Gnu-PG verwenden möchte, sollte Skripte heranziehen. Die erledigen dann die wichtigen Arbeitsschritte, und der Admin vermeidet Fehler.

Mit Hilfe von Truecrypt beziehungsweise dem Nachfolger Veracrypt legen Nutzer verschlüsselte Container an. Ein für die Cloud vorgesehener Ordner kann diese synchronisieren. Die Datei-Inhalte sieht nur der Benutzer, der auch den Container gemountet hat und das Passwort kennt. Der Nachteil: Kleine Änderungen an den Dateien im Container wirken sich auf den kompletten Container aus. Das heißt, der Dienst synchronisiert den kompletten Container, wenn sich nur ein Zeichen in einer Datei ändert, sofern der Provider kein Block-Level-Sync unterstützt.

Ebenfalls eine Erwähnung wert ist Ecrypt-FS [19], das Ubuntu einsetzt [20]. Das Kernel-basierte verschlüsselte Dateisystem mountet der Anwender über ein bestehendes Dateisystem (etwa Ext 4). Es legt standardmäßig zwei Verzeichnisse an (»~/Private« und »~/.Private« ) und schreibt die Verschlüsselungsinformationen in die Header der zu verschlüsselnden Dateien. Ecrypt-FS legt Dateien, die der User in »~/Private« ablegt, automatisch verschlüsselt im Verzeichnis »~/.Private« ab. Von dort lassen sie sich dann etwa in die Cloud hochladen. Der User kann die Software allerdings an eigene Bedürfnisse anpassen und den verschlüsselten Ordner etwa in der Dropbox positionieren. Bombensicher ist Ecrypt-FS aber nicht: Fällt einem Angreifer das Adminpasswort in die Finger, darf er die verschlüsselten Verzeichnisse der Anwender auslesen.

Fazit

Alles in allem erscheinen Programme, die speziell zum Verschlüsseln von Clouddaten gedacht sind, der bessere Ansatz. Cryptomator liegt derzeit erst in einer Beta-Version vor, machte in den Tests aber den stabilsten Eindruck. Weiterhin erschien es von den getesteten Programmen auch am einfachsten zu benutzen. Panbox bringt mehr Funktionen mit, es benötigt daher auch mehr Zeit für die Einarbeitung. Vorausgesetzt die oben geschilderten Pannen treten in zukünftigen Versionen nicht mehr auf, scheint es ebenfalls ein empfehlenswertes Programm für den Umgang mit Daten für die Cloud zu sein. (kki)

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 5 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
LINUX-MAGAZIN KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Readly Logo
E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Nach oben