Vor fast acht Jahren ist die DSGVO in Kraft getreten. Sie betrifft jeden, der personenbezogene Daten verarbeitet. Für Privatanwender bietet eine Verschlüsselung die einfachste Möglichkeit, solche Daten zu schützen.
Bei der Datenschutz-Grundverordnung (DSGVO) handelt es sich um ein 88-seitiges PDF-Dokument [1], das sich mit dem Schutz personenbezogener Daten beschäftigt. Das sind Daten, die sich direkt oder auf Umwegen mit einer Person in Verbindung bringen lassen. Es macht definitiv keinen Spaß, sich im Detail mit diesem Dokument zu beschäftigen. Ein Aspekt ist aber wichtig, bezieht sich auf alle personenbezogenen Daten und taucht im Text an vielen Stellen als Fragment auf: “angemessene Maßnahmen zum Schutz der Rechte und Freiheiten sowie der berechtigten Interessen der betroffenen Person”.
Hand aufs Herz, haben Sie auf Ihrem Notebook Daten von anderen Personen? Sind diese Daten personenbezogen, wie etwa die Adressen von Vereinsmitgliedern, Adressen im E-Mail-Programm oder lokal gespeicherte E-Mails? Wenn man darüber nachdenkt, könnte da doch einiges an Informationen von anderen Personen auf dem eigenen Rechnern herumliegen. Möglicherweise gibt es daneben Informationen über die eigene Person, die nicht öffentlich werden sollen – Passwörter sind hier der Klassiker. Dementsprechend empfiehlt es sich, bestimmte Daten zu verschlüsseln, auch auf privaten Geräten.
Verschlüsseln
Verschlüsselung gehört zu den Themen, mit denen sich komplette Bücher füllen lassen. Es gibt viele unterschiedliche Verfahren und Algorithmen, zudem kann man dabei eine ganze Menge falsch machen. Egal, was Sie unternehmen, um die Datensicherheit zu verbessern, es bedeutet Aufwand und erweist sich als recht komplex. Daher beschränkt sich dieser Artikel auf ein einfach zu bedienendes, für den privaten Gebrauch taugliches Tool. Dabei ist primär wichtig, dass es unter Linux läuft. Eine kurze Recherche im Netz bringt einige Kandidaten ans Licht, die unsere Anforderungen erfüllen könnten.
Bitlocker zählt zu den populärsten Verschlüsselungswerkzeugen. Das Werkzeug verschlüsselt komplette Festplatten. Allerdings handelt es sich dabei um ein proprietäres Produkt von Microsoft. Für eingefleischte Open-Source-Nutzer kommt es daher nicht infrage.
Hinter Veracrypt [2] steckt eine Open-Source-Anwendung zum Verschlüsseln von Festplatten, die Sie frei von der Homepage des Projekts herunterladen können. Sie steht vielen Linux-Distributionen sowie für Windows und MacOS zur Verfügung. Es gibt sogar Pakete für den Raspberry Pi, allerdings derzeit keine für die aktuelle Version von Raspberry Pi OS (“Bookworm”). Für die ganz Hartgesottenen steht daneben der Quellcode zur Verfügung. Veracrypt basiert auf Truecrypt 7.1a vom Februar 2012, der letzten Vollversion von Truecrypt. Ein Blick in den Quellcode [3] zeigt jedoch, dass die Community Veracrypt aktiv weiterentwickelt.
Das Erste, was beim Besuch der Truecrypt-Homepage auffällt, ist die Meldung aus Abbildung 1, die von der Verwendung des Tools abrät [4]. Danach folgt direkt eine Anleitung für die Migration zu Bitlocker. Um es kurz zu machen: Finger weg von Truecrypt! Es gibt gute freie Nachfolgeprojekte wie das erwähnte Veracrypt, die Sie stattdessen verwenden können.
Zulucrypt
Die reine Linux-Software Zulucrypt [5] erlaubt die Nutzung unterschiedlichster Verschlüsselungsverfahren. Das Tool liegt in einer etwas altmodisch aussehenden GUI- sowie einer Kommandozeilenvariante vor. Beide unterstützen sowohl aktuelle als auch veraltete (und damit unsichere) Verschlüsselungsverfahren. Das gibt Ihnen die öglichkeit, unsicher gewordene verschlüsselte Dateien wieder auf den aktuellen Stand der Technik zu bringen.
Zulucrypt unterstützt Dm-crypt, LUKS-Volumes, Truecrypt-Volumes und Veracrypt-Volumes und arbeitet dabei mit Dateien, Filesystemen oder kompletten Partitionen. Zusätzlich können Sie auf das Werkzeug Zulumount zurückgreifen, mit dem Sie verschlüsselte Volumes in das Dateisystem einbinden. Auf Filesystemebene unterstützt es die populären Verschlüsselungstechniken EncFS, GocryptFS, SecureFS, eCryptfs und CryFS sowie diverse weniger gängige Verschlüsselungsverfahren.
Installation
Für Ubuntu gibt es ein Zulucrypt-Paket, das Sie mit dem Befehl sudo apt install zulucrypt-gui einrichten. Allerdings handelt es sich dabei um eine schon etwas angestaubte Version der Software (v5.7.0 vom Oktober 2019). Wir zeigen im Folgenden, wie Sie die aktuelle Version direkt von der Homepage des Projekts installieren. Das bedeutet zwar etwas mehr Aufwand, für den Sie jedoch ein Gewinn an Sicherheit entschädigt.
Sehen Sie als Erstes auf der Homepage von Zulucrypt nach, welche Version Sie für die von Ihnen verwendete Distribution herunterladen müssen (Abbildung 2). Für den Fall, dass Sie vergessen haben, auf welcher Version Sie momentan arbeiten, liefert Ihnen das Kommando lsb_release -a Details zu Ihrer Installation. Findet sich auf der Liste kein passendes Release, können Sie prüfen, ob die Repositories der von Ihnen verwendeten Distribution ein Zulucrypt-Paket anbieten. Falls nicht, bleibt als letzter Ausweg nur ein Griff zum Quellcode auf Github [6].

Abbildung 2: Aus der Liste auf der Homepage des Projekts müssen Sie zunächst das passende Paket auswählen.
Wir gehen hier davon aus, dass Sie auf der Homepage von Zulucrypt etwas Passendes finden. Beim Entpacken der heruntergeladenen Datei erhalten Sie vier Pakete, die Sie zwingend in der richtigen Reihenfolge einrichten müssen. Listing 1 zeigt als Beispiel die Installation unter Ubuntu 20.04.6 LTS. Noch ein wichtiger Hinweis am Rande: Wenn Zulucrypt schon einmal via Apt installiert war, müssen Sie vor der Neueinrichtung erst alle alten Komponenten entfernen. Nach der Installation erscheint Zulucrypt automatisch im Anwendungsmenü, alternativ starten Sie es via Konsole.
Listing 1
Installation
$ wget https://github.com/mhogomchungu/zuluCrypt/releases/download/6.2.0/zuluCrypt-6.2.0-ubuntu-20.04-Focal_Fossa.tar.xz $ tar xvf zuluCrypt-6.2.0-ubuntu-20.04-Focal_Fossa.tar.xz $ cd zuluCrypt-6.2.0-ubuntu-20.04-Focal_Fossa/ $ cd amd64 $ sudo apt install ./libzulucrypt1_6.2.0.1655643999.90e68c1-0_amd64.deb $ sudo apt install ./libzulucrypt-dev_6.2.0.1655643999.90e68c1-0_amd64.deb $ sudo apt install ./zulucrypt-cli_6.2.0.1655643999.90e68c1-0_amd64.deb $ sudo apt install ./zulucrypt-gui_6.2.0.1655643999.90e68c1-0_amd64.deb
Grundlegendes
Bevor Sie damit anfangen, Ihre Daten mit Zulucrypt zu verschlüsseln, sollten Sie sich ein wenig mit den Grundlagen der Kryptografie beschäftigen. Bei der Verschlüsselung geht es darum, dass kein Fremder bestimmte Informationen lesen kann. Die Technologie ist keineswegs neu, selbst im alten Rom verschlüsselten die Menschen bereits fleißig [7]. Grundsätzlich gibt es dabei immer ein Verfahren und einen Schlüssel. Das Verfahren ist üblicherweise öffentlich bekannt, der Schlüssel dagegen geheim.
Falls Sie den Schlüssel zu Ihren Daten verlieren (vergessen), besteht keine Möglichkeit mehr, die Daten wiederherzustellen. Bitte behalten Sie das bei der Wahl des Schlüssels im Hinterkopf. Daneben erhöht sich mit steigender Komplexität des Schlüssels der Schutz der Daten. Den Schlüssel irgendwo aufzuschreiben, gehört bekanntermaßen nicht zu den guten Ideen. In der Praxis hat es sich als gangbarer Weg erwiesen, den Schlüssel so zu wählen, dass man ihn wieder herleiten kann. Bitte achten Sie bei diesem Ansatz darauf, nichts zu verwenden, was sich andere Personen genauso herleiten könnten (Geburtsdatum, Name des Partners, etc.).
Allgemein unterteilen sich die Verfahren in zwei Gruppen: symmetrische und asymmetrische Verfahren [8]. Bei den symmetrischen Verfahren dient ein Schlüssel (Key) dazu, die Daten sowohl zu verschlüsseln als auch wieder zu entschlüsseln. Bei den asymmetrischen Verfahren kommen zwei unterschiedliche Schlüssel zum Einsatz.
Erste Schritte
Zulucrypt nutzt Container, die ein Dateisystem enthalten. Damit arbeiten Sie wie gewohnt: Sie legen also Dateien und Verzeichnisse an, bearbeiten sie, und so weiter. Um auf den Inhalt eines Containers zuzugreifen, müssen Sie ihn in das Dateisystem Ihres Rechners einhängen. Der Container selbst kann dabei ein beliebiges blockorientiertes Gerät sein, wie eine Datei oder Partition – quasi alles, was sich unter Unix in das Filesystem einhängen lässt. Das dazu verwendete Werkzeug heißt Zulumount und gehört zur Zulucrypt-Installation.
Schluss mit der trockenen Theorie, Zeit für ein praktisches Beispiel: Sehen wir uns an, wie man einen verschlüsselten Datei-Container erstellt und damit arbeitet. Für den Artikel nutzten wir die recht spartanisch wirkende GUI von Zulucrypt. Alle hier gezeigten Funktionen lassen sich aber auch auf der Kommandozeile problemlos ausführen.
Navigieren Sie über das Menü zum Punkt Create | Encrypted Container In A New File. Hier definieren Sie einige grundlegende Parameter für den Container (Abbildung 3), wie Name und Pfad. Zudem müssen Sie den Container mit einer festen Größe anlegen. Überlegen Sie sich also vorher genau, was alles in den Container hinein soll, sonst könnte es vorkommen, dass Sie ihn noch einmal erzeugen müssen. Was hat es aber mit den Random Data im Container auf sich? Den leeren Container mit Zufallsdaten zu füllen, erschwert es einem potenziellen Angreifer, den Schlüssel durch mathematische Verfahren gestützt zu erraten. Aber erneut ein Hinweis: Das Generieren größerer Mengen an Zufallszahlen braucht Zeit. Mit einem Klick auf Create erstellen Sie zu guter Letzt den Container.

Abbildung 3: Beim Erstellen des Containers geben Sie grundlegende Parameter wie den Dateinamen und Pfad an.
Innerhalb des Containers befinden sich momentan nur Zufallszahlen. Im nächsten Schritt geben Sie einige Parameter für die Verschlüsselung ein (Abbildung 4). Zuerst wählen Sie, welche Art von Schlüssel Zulucrypt nutzen soll. Der Einfachheit halber wählen Sie hier Key aus und geben die Schlüssel manuell ein. Die restlichen Standardwerte belassen Sie erst einmal auf den Voreinstellungen. Es würde den Rahmen des Artikels sprengen, hier sehr viel weiter ins Detail zu gehen.

Abbildung 4: Dieser Dialog umfasst die Informationen, die Zulucrypt zum Erstellen des verschlüsselten Volumes benötigt.
Ganz unten stellen Sie den Typ für das Dateisystem innerhalb des Containers ein. Hier empfiehlt sich Ext4. Zuvor haben Sie festgelegt, dass Sie das Filesystem mit Zufallszahlen füllen möchten. Nun definieren Sie, welchen Zufallsgenerator Sie dazu nutzen. Der Generator /dev/random erzeugt echte Zufallszahlen, /dev/urandom eine Folge von pseudozufälligen Zahlen, die sich nach einiger Zeit wiederholen. Kennt man den aktuellen Wert, lässt sich der nächste Wert leicht erraten.
Sie vermuten es sicher schon: /dev/urandom erzeugt die Daten wesentlich schneller als dev/random. Falls Sie den größtmöglichen Schutz bevorzugen, entscheiden Sie sich trotzdem besser für /dev/random. Indem Sie abschließend auf Create klicken, erzeugen Sie das Volume im Container, was je nach Größe einige Zeit dauert. Zu guter Letzt erscheint die entsprechende Erfolgsmeldung.
Jetzt haben Sie einen verschlüsselten, mit Zufallszahlen gefüllten Container erstellt. Um mit ihm arbeiten zu können, müssen Sie ihn öffnen (Abbildung 5). Das erledigen Sie über den Menüpunkt open | Volume Hosted In A File. Hier wählen Sie das Verzeichnis aus, in dem der Container liegt, und geben das Passwort ein. Interessanterweise bezeichnet Zulucrypt das Passwort beim Erstellen des Containers als Key. Mit einem Klick auf open öffnet die Software den Container und zeigt den Mountpoint an, unter dem er zu finden ist. Gleichzeitig öffnet sich ein Dateimanagerfenster, in dem Sie sofort loslegen können. Was Sie in diesem Verzeichnis (und damit im Container) ablegen, verschlüsselt die Anwendung direkt.
Auch über die Kommandozeile können Sie jetzt im Container-Verzeichnis arbeiten. Wenn Sie überprüfen wollen, ob die Daten verschlüsselt sind, sehen Sie sich einfach den Container mit einem Editor an. Dabei bekommen Sie nur digitales Rauschen zu Gesicht. Lesen lässt sich ausschließlich der Header der Datei, der einige zum Öffnen des Containers benötigte Metadaten enthält (Abbildung 6).

Abbildung 6: Der Datei-Header des Containers enthält einige lesbare Metadaten. Ansonsten sehen Sie nur digitales Rauschen.
Fazit
Mit dem Thema Verschlüsselung muss sich jeder Anwender früher oder später einmal intensiver auseinandersetzen. Mit Zulucrypt haben Sie ein leicht zu bedienendes und flexibles Werkzeug dafür an der Hand. In diesem Artikel konnten wir allerdings nur einen kurzen Überblick über die Funktionen des Werkzeugs geben. Wenn Sie sich für das Thema Verschlüsselung interessieren, sollten Sie definitiv ein wenig Zeit investieren, um sich eine für Sie persönlich passende Lösung auszudenken.
Falls Sie in einer heterogenen Umgebung mit unterschiedlichen Betriebssystemen arbeiten, könnte außerdem Veracrypt das Verschlüsselungswerkzeug Ihrer Wahl sein. Unbedingt sollten Sie die eingesetzten Werkzeuge gut kennen und sie regelmäßig auf ihre Aktualität hin prüfen. Truecrypt bietet ein gutes Beispiel dafür, dass im Internet auch lange nach dem Tod eines Projekts immer noch Anleitungen und Empfehlungen dafür umhergeistern. (csi)
Infos
-
DSGVO: https://eur-lex.europa.eu/legal-content/DE/TXT/PDF/?uri=CELEX:32016R0679
-
Veracrypt: https://www.veracrypt.fr/en/Home.html
-
Veracrypt-Quellcode: https://github.com/veracrypt/VeraCrypt/graphs/commit-activity
-
Truecrypt: https://truecrypt.sourceforge.net
-
Zulucrypt: http://mhogomchungu.github.io/zuluCrypt/
-
Zulucrypt-Quellcode: https://github.com/mhogomchungu/zuluCrypt/
-
Caesar-Chiffre: https://de.wikipedia.org/wiki/Caesar-Verschl%C3%Bcsselung
-
Asymmetrische Verschlüsselung: https://www.kryptowissen.de/asymmetrische-verschluesselung.html







