Dateien, Archive und Partitionen mit Passwortschutz

Aus EasyLinux 03/2015

Dateien, Archive und Partitionen mit Passwortschutz

© Brand-X

Private Daten schützen

Wer im Zug sein Notebook liegen lässt, erleidet nicht nur einen finanziellen Schaden – jede Person, die das Gerät findet und mitnimmt, kann durch einfaches Booten von einer Live-DVD auf alle Dateien zugreifen – darunter auch Briefe, E-Mails oder Zugangsdaten für Onlinedienste. Verschlüsselung reduziert die Risiken.

Diebstahl oder Verlust eines teuren Computers sind ärgerlich genug, aber noch schlimmer ist oft der Eingriff in die Privatsphäre, der damit verbunden ist: Der Dieb oder der kriminelle Finder kann das Gerät mit nach Hause nehmen und dann in aller Ruhe die Festplatteninhalte analysieren. Auf den meisten Geräten dürften auch private Daten gespeichert sein, die nicht in fremde Hände gelangen sollten.

Gegen den Datenverlust helfen regelmäßige Backups, und das Auslesen der Daten durch Dritte verhindern Sie, indem Sie die Festplatte (oder wenigstens Teile davon) verschlüsseln.

In diesem Artikel beschreiben wir drei Ansätze, mit denen Sie Ihre Daten vor fremden Blicken schützen können: das Verschlüsseln einzelner Dateien (einfach, aber bei vielen Dateien umständlich), das Verschlüsseln einer Partition (z. B. der Partition, welche die Home-Verzeichnisse enthält) und den Einsatz einer verschlüsselten, so genannten Container-Datei. Unabhängig davon, für welche Methode Sie sich entscheiden, sollten Sie in jedem Fall beachten, dass es beim Diebstahl eines laufenden Systems möglich ist, auf alle aktuell entschlüsselten Dateien zuzugreifen, sobald die Hürde der Passworteingabe am Bildschirmschoner überwunden ist – der Dieb hat hier aber alle Zeit der Welt, beliebig viele Passwörter auszuprobieren, so dass die Verwendung sicherer Passwörter wichtig ist. Profi-Angreifer haben darüber hinaus noch weiter gehende Möglichkeiten, selbst ohne das richtige Passwort Zugriff auf das laufende System zu erlangen.

Wenn Sie sich für die technischen Grundlagen der Verschlüsselung interessieren, lesen Sie den gleichnamigen Kasten; für die praktische Umsetzung ist das aber nicht nötig.

Grundlagen der Verschlüsselung

Ein ganzer Teilbereich der Informatik, die so genannte Kryptographie (griechisch: geheim schreiben), beschäftigt sich damit, wie man Botschaften von einem Sender zum Empfänger bringen kann, ohne dass Dritte (die wir als Angreifer bezeichnen) die Nachricht lesen oder verändern können.

Verschlüsselung läuft dabei immer so ab, dass mit einem festgelegten Verfahren die Nachricht vor dem Versand in eine unlesbare, verschlüsselte Form umgewandelt wird. Diese macht sich dann auf die Reise, und der Empfänger muss sie zunächst entschlüsseln (also die Verschlüsselung rückgängig machen), bevor er sie lesen kann (Abbildung 1). Die ursprüngliche Botschaft nennt man immer “Klartext”, für die verschlüsselte Variante ist der Begriff “Geheimtext”, manchmal auch das englische Wort “Ciphertext” üblich.

Abbildung 1: Bei symmetrischer Verschlüsselung dient derselbe Schlüssel zum Ver- und Entschlüsseln.

Abbildung 1: Bei symmetrischer Verschlüsselung dient derselbe Schlüssel zum Ver- und Entschlüsseln.

Nun kann ein Angreifer den Geheimtext während der Übertragung immer noch abfangen, darum ist es wichtig, dass er ihn nicht mit geringem Aufwand entschlüsseln kann (Abbildung 2). Deshalb hängt das Ergebnis einer Verschlüsselung nie nur vom Klartext ab, sondern man setzt zusätzlich einen Schlüssel (oder ein Schlüsselpaar) ein: Tauscht man den Schlüssel aus, ändert sich auch der erzeugte Geheimtext.

Abbildung 2: Eine verschlüsselte Mail in Thunderbird: Ohne den privaten GPG-Schlüssel sieht man nur unverständliche Buchstaben.

Abbildung 2: Eine verschlüsselte Mail in Thunderbird: Ohne den privaten GPG-Schlüssel sieht man nur unverständliche Buchstaben.

In einfachen Verschlüsselungsverfahren müssen sich Sender und Empfänger auf einen gemeinsamen Schlüssel einigen, der sowohl zum Ver- als auch zum Entschlüsseln benutzt wird. Solche Verfahren heißen “symmetrisch”, weil sie in beiden Richtungen denselben Schlüssel verwenden. Einen gemeinsamen Schlüssel zu verwenden, macht aber die Aufgabe komplizierter, wenn Sender und Empfänger sich nicht vorab treffen können, um diesen Schlüssel zusammen auszuwählen. Es ist dann ein separater (sicherer) Kommunikationsweg nötig.

Asymmetrische Verschlüsselung

Darum gibt es als Alternative die asymmetrischen (nicht-symmetrischen) Verschlüsselungsverfahren, die immer ein Schlüsselpaar einsetzen: Jeder Teilnehmer in einem solchen System besitzt sowohl einen privaten als auch einen öffentlichen Schlüssel. Der öffentliche dient zum Verschlüsseln einer Botschaft, mit dem privaten erhält man später den Klartext zurück (Abbildung 3). Solange Sie nur selbst mit Klar- und Geheimtexten experimentieren, reicht dieses eine Schlüsselpaar aus; Sie können damit aber keine Nachrichten für eine andere Person verarbeiten: Würden Sie eine Nachricht mit Ihrem eigenen öffentlichen Schlüssel verschlüsseln und dann verschicken, könnte der Empfänger damit nichts anfangen – ihm fehlt der private Schlüssel zum Entschlüsseln. Sie brauchen in dieser Situation stattdessen den öffentlichen Schlüssel des Empfängers.

Abbildung 3: Asymmetrische Verschlüsselung arbeitet mit zwei Schlüsseln: Der öffentliche verschlüsselt, der private entschlüsselt.

Abbildung 3: Asymmetrische Verschlüsselung arbeitet mit zwei Schlüsseln: Der öffentliche verschlüsselt, der private entschlüsselt.

Die Namen für die Schlüssel sind also passend gewählt:

  • Jeder hält seinen privaten Schlüssel geheim, denn er dient dazu, Nachrichten zu entschlüsseln, die an ihn gerichtet sind.
  • Den öffentlichen Schlüssel macht man öffentlich, man kann ihn z. B. anderen Personen schicken, auf die eigene Webseite stellen oder bei speziellen Servern hinterlegen, die genau für diese Aufgabe eingerichtet wurden: Im Idealfall hat jede Person Zugriff auf den öffentlichen Schlüssel einer Person und kann damit Nachrichten verschlüsseln, die an diese geschickt werden sollen.

Bei diesen Verfahren müssen sich Sender und Empfänger also nicht vorher über einen gemeinsamen Schlüssel abstimmen, darum eignen sie sich besonders gut für den Versand von Mails – auch an Empfänger, mit denen man bisher gar keinen Kontakt hatte, sofern sich deren öffentlicher Schlüssel beschaffen lässt.

Dateien verschlüsseln

Einzelne Dateien verschlüsseln Sie am leichtesten mit einem Shell-Programm namens openssl. Im folgenden Beispiel schützen wir damit eine Datei creat.c, indem wir eine verschlüsselte Version creat.c.enc erzeugen. Die zusätzlich Dateiendung .enc soll für “encoded” (kodiert; verschlüsselt) stehen. Nach Eingabe des Befehls

openssl aes-256-cbc -salt -in creat.c -out creat.c.enc

fordert OpenSSL zweimal zur Eingabe eines Passworts auf; die eingetippten Zeichen zeigt das Programm dabei nicht an, es erscheinen auch keine Sternchen oder andere Zeichen – Sie tippen also blind.

Bevor Sie die Originaldatei löschen, sollten Sie sicherstellen, dass sich die verschlüsselte Version auf wieder entschlüsseln lässt: Dazu rufen Sie OpenSSL mit der Option -d (decrypt, deutsch: entschlüsseln) auf. Hinter der Option -in steht diesmal der Name der verschlüsselten Datei, hinter -out geben Sie einen neuen Dateinamen an:

openssl aes-256-cbc -d -in creat.c.enc -out creat.c.copy

Erneut fragt OpenSSL nach dem Passwort und erledigt danach die Entschlüsselung. In Listing 1 sehen Sie auch die Ausgaben, die openssl beim Einsatz erzeugt. Der zweite Befehl in dem Listing zeigt den fehlschlagenden Versuch der Entschlüsselung (wegen Eingabe eines falschen Passworts), der dritte Befehl die erfolgreiche Entschlüsselung. Abschließend überprüft ein Aufruf des Tools diff, dass die Originaldatei und das Ergebnis nach Ver- und Entschlüsselung identisch sind. (Wenn diff zwischen zwei Dateien keine Unterschiede feststellt, erzeugt es keine Ausgabe.)

Listing 1

Datei mit OpenSSL ver- und entschlüsseln

[esser@quad:/tmp]$ openssl aes-256-cbc -salt -in creat.c -out creat.c.enc
enter aes-256-cbc encryption password:
Verifying - enter aes-256-cbc encryption password:
[esser@quad:/tmp]$ openssl aes-256-cbc -d -in creat.c.enc -out creat.c.copy
enter aes-256-cbc decryption password:
bad decrypt
140735090429212:error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt:evp_enc.c:539:
[esser@quad:/tmp]$ openssl aes-256-cbc -d -in creat.c.enc -out creat.c.copy
enter aes-256-cbc decryption password:
[esser@quad:/tmp]$ diff creat.c creat.c.copy
[esser@quad:/tmp]$

Sie können das Passwort (sowohl beim Ver- als auch beim Entschlüsseln) alternativ über den Parameter -k schon im Befehl eingeben – sollten dabei aber beachten, dass

  • andere Personen, die Ihnen über die Schulter blicken, das Passwort mitlesen können, und
  • Anwender, die auf demselben Rechner angemeldet sind, das Passwort bei unglücklichem Timing in der Prozessliste finden können, wenn diese genau zur rechten Zeit mit ps die Liste der gerade laufenden Prozesse anzeigen lassen.

Aus diesem Grund ist es immer sicherer, das Passwort interaktiv einzugeben.

Zip-Archive verschlüsseln

Das Zip-Archivformat, das auch unter Windows populär ist, erlaubt die Verschlüsselung der enthaltenen Dateien (wobei die Dateinamen sichtbar bleiben). Unter Linux können Sie auf der Kommandozeile das Programm zip verwenden, um ein Zip-Archiv zu erstellen, und dabei auf Wunsch direkt die Verschlüsselung aktivieren.

Ein üblicher Aufruf von zip (ohne Verschlüsselung) sieht so aus:

esser@hpquadi7:~> zip -r 2015.zip 2015
  adding: 2015/ (stored 0%)
  adding: 2015/01/ (stored 0%)
  adding: 2015/01/steuern/ (stored 0%)
  adding: 2015/01/steuern/artikel.txt (deflated 47%)
...

Dabei sorgt die Option -r für rekursives Verarbeiten des angegebenen Verzeichnisses (2015), und 2015.zip ist der Dateiname der zu erstellenden Zip-Datei. Um beim Packen auch gleich zu verschlüsseln, ergänzen Sie die Option -e (encrypt, verschlüsseln):

esser@hpquadi7:~> zip -er 2015.zip 2015
Enter password: geheim
Verify password: geheim
  adding: 2015/ (stored 0%)
  adding: 2015/01/ (stored 0%)
  adding: 2015/01/steuern/ (stored 0%)
...

und geben bei den Aufforderungen Enter password (Passwort eingeben) und Verify password (Passwort bestätigen) zweimal das gewünschte Passwort ein.

Zip-Archive können auch – gemischt – verschlüsselte und unverschlüsselte Dateien (in einer einzigen Archivdatei) enthalten. Beim Versuch, ein solches Mischarchiv zu entpacken, können dann in jedem Fall die unverschlüsselten Dateien ausgepackt werden; für die geschützten Dateien fragt das Entpackprogramm unzip nach dem Schlüssel. Dieses Feature könnten Sie beispielsweise dazu verwenden, in einer unverschlüsselt gespeicherten Datei einen Hinweis auf das Passwort zu geben – z. B. wenn Sie ein Archiv per Mail verschicken und in einer Readme-Textdatei auf den separaten Versand des Passworts per Briefpost hinweisen.

Haben Sie ein Zip-Archiv bereits erstellt und fällt Ihnen erst im Nachhinein ein, dass Sie eine geschützte Version des Archivs bevorzugen, können Sie die Verschlüsselung auch “nachrüsten” (ohne das Archiv zu entpacken und neu zu packen). Dafür nutzen Sie das Programm zipcloak, das als Argument lediglich den Namen einer Archivdatei erwartet und dann (wie zip) zur zweimaligen Eingabe des Passworts auffordert:

esser@hpquadi7:~/> zipcloak 2015.zip
Enter password: geheim
Verify password: geheim
encrypting: 2015/
encrypting: 2015/01/
encrypting: 2015/01/steuern/
...

Office-Dateien verschlüsseln

Um ein LibreOffice-Dokument mit einem Passwortschutz zu versehen, rufen Sie im Officeprogramm den Menüpunkt Datei / Speichern unter auf. Wie gewohnt tragen Sie einen Dateinamen ein. (Hatten Sie die Datei bereits früher gespeichert, ist das Namensfeld schon ausgefüllt.) Für die Verschlüsselung setzen Sie nun unten das Häkchen vor der Option Mit Kennwort speichern (Abbildung 4). Dann öffnet sich ein kleines Dialogfenster, in das Sie zweimal (in die Felder Passwort eingeben und Passwort wiederholen) das geheime Kennwort eintragen (Abbildung 5). Beachten Sie dabei, dass Sie künftig in jedem Fall dieses Kennwort benötigen, um die Datei erneut zu öffnen.

Abbildung 4: Setzen Sie das Häkchen vor "Mit Kennwort speichern", um ein LibreOffice-Dokument zu schützen.

Abbildung 4: Setzen Sie das Häkchen vor “Mit Kennwort speichern”, um ein LibreOffice-Dokument zu schützen.

Abbildung 5: LibreOffice fordert Sie dann auf, zweimal das Kennwort einzugeben.

Abbildung 5: LibreOffice fordert Sie dann auf, zweimal das Kennwort einzugeben.

Was verschlüsselt LibreOffice?

LibreOffice-Dokumente sind im Grund Zip-Archive, auch wenn sie nicht die Dateiendung .zip haben. Das können Sie leicht überprüfen, indem Sie testweise eine LibreOffice-Datei (egal, ob Text, Tabelle oder Präsentation) erzeugen, im Dateimanager den Dateinamen so ändern, dass er auf .zip endet, und dann diese Datei mit einem Archivprogramm (z. B. Ark) öffnen.

Bei normalen LibreOffice-Dateien sehen Sie dann eine Vielzahl von XML-Dateien, und das gilt auch für passwortgeschützte Dokumente. Das komplette Zip-Archiv wird also nicht verschlüsselt. Dass der Schutz dennoch wirksam ist, merken Sie, wenn Sie versuchen, eine der XML-Dateien zu betrachten: Bei ungeschützten Dokumenten können Sie diese XML-Dateien in einem Texteditor öffnen und sehen dann XML-Quellcode (der ein wenig an den HTML-Quellcode von Webseiten erinnert; siehe Abbildung 6). Nicht so bei einem passwortgeschützten Dokument: Die XML-Dateien enthalten hier nur unentzifferbare Zeichen, die kein System entdecken lassen.

Abbildung 6: Normale OpenOffice-Dokumente sind Zip-Archive, die lesbare XML-Dateien enthalten. Hier ist rechts der Satz aus dem Beispieldokument lesbar.

Abbildung 6: Normale OpenOffice-Dokumente sind Zip-Archive, die lesbare XML-Dateien enthalten. Hier ist rechts der Satz aus dem Beispieldokument lesbar.

Betroffen sind nicht nur alle Dateien im Hauptverzeichnis des Zip-Archivs (darunter am wichtigsten content.xml mit dem Textinhalt Ihres Dokuments), sondern auch alle eingebetteten Bilder, die im Unterordner Pictures liegen (Abbildung 7). Somit ist wirklich das gesamte Dokument gegen unbefugte Blicke geschützt. Die einzige Datei im Zip-Archiv, die nicht verschlüsselt ist, ist die Datei manifest.xml im Ordner META-INF, die Informationen über die Verschlüsselung enthält.

Abbildung 7: Vergeben Sie ein Kennwort, verschlüsselt LibreOffice alle XML-Dateien, bevor es sie in das Zip-Archiv schreibt.

Abbildung 7: Vergeben Sie ein Kennwort, verschlüsselt LibreOffice alle XML-Dateien, bevor es sie in das Zip-Archiv schreibt.

Wenn Sie die Abbildungen 3 und 4 genau vergleichen, sehen Sie, dass die jeweils im Zip-Archiv liegenden XML-Dateien in der verschlüsselten Version immer deutlich kleiner als ihre Gegenstücke in der unverschlüsselten Datei sind: Die einzelnen Dateien sind also auch komprimiert (und das Zip-Archiv bewirkt eine zusätzliche Kompression).

Beim Speichern verwendet LibreOffice einen Zufallszahlengenerator, um (mit diversen kryptographischen Tricks) aus dem Kennwort einen 128 Bit langen Schlüssel zu erzeugen. Dieser Schlüssel wird dann verwendet, um mit dem Blowfish-Verfahren [1] die einzelnen XML-Dateien zunächst zu komprimieren und dann zu verschlüsseln.

LibreOffice beherrscht auch den Kennwortschutz von Microsoft Office: Sie können also auch Word-, Excel- und PowerPoint-Dateien, die mit einem Kennwort versehen wurden, in LibreOffice öffnen – ebenso können Sie beim Exportieren in diese Formate ein Kennwort vergeben, das die Microsoft-Programme dann beim Öffnen abfragen.

Verschlüsseln unter KDE

In den Dateimanager Dolphin ist eine Möglichkeit integriert, Dateien zu verschlüsseln. Sie erreichen diese über den Eintrag Aktionen / Datei verschlüsseln im Kontextmenü einer Datei (Abbildung 8). Das funktioniert aber nur, wenn Sie das Verschlüsselungsprogramm KGpg konfiguriert haben, das z. B. in Zusammenarbeit mit KMail den sicheren Versand von E-Mails unterstützt. Einen Artikel über KGpg finden Sie in einer älteren LinuxUser-Ausgabe [2].

Abbildung 8: Wenn Sie das Verschlüsselungsprogramm KGpg konfigurieren, können Sie auch direkt aus Dolphin heraus Dateien verschlüsseln.

Abbildung 8: Wenn Sie das Verschlüsselungsprogramm KGpg konfigurieren, können Sie auch direkt aus Dolphin heraus Dateien verschlüsseln.

Partitionen verschlüsseln

Wenn der Aufwand, einzelne Dateien zu verschlüsseln, zu umständlich ist, können Sie auch eine komplett verschlüsselte Partition oder einen “Container” (im Wesentlichen ist das eine Image-Datei, vergleichbar mit dem ISO-Image einer DVD) nutzen. Das Standardtool für diese Vorgehensweise ist über viele Jahre TrueCrypt gewesen, doch haben dessen Entwickler im April 2014 die Arbeiten am Projekt eingestellt – auf ihrer Webseite [3] empfehlen sie Windows-Anwendern den Umstieg auf die in Windows integrierte BitLocker-Technologie, und den Linux-Anwendern ihrer Software legen sie den Umstieg auf bei Linux eingebaute Techniken nahe. Das ist zwar möglich, aber recht aufwendig, wie wir ab der Überschrift Crypto-Container von Hand beschreiben werden.

Trotz der Abkündigung von TrueCrypt lässt sich die Software weiter sinnvoll und problemlos verwenden; die letzte Version 7.1a ist weiterhin als Download verfügbar (wenn auch nicht über die TrueCrypt-Webseite), und Sie finden sie auch auf unserer Heft-DVD. Für die Einrichtung der Software können Sie unseren Workshop aus Ausgabe 01/2014 [4] nutzen – er beschreibt die Nutzung mit einem USB-Stick, der eine frei lesbare und eine verschlüsselte Partition erhält. Für eine Plattenpartition funktioniert das Verfahren genauso.

Statt mit TrueCrypt eine Partition zu verschlüsseln, können Sie auch eine Container-Datei verwenden; darüber haben wir zuletzt 2008 ausführlicher berichtet [5]; im Wesentlichen wählen Sie in der Programmeinrichtung die Option Create an encrypted file container (Erzeuge einen verschlüsselten Datei-Container) statt Create a volume within a partition/drive (Erzeuge ein Volume innerhalb einer Partition/eines Laufwerks).

Crypto-Container von Hand

Eine Container-Datei können Sie aber auch ohne die Mithilfe von TrueCrypt mit Bordmitteln von Linux erzeugen, dabei hilft das Programm cryptsetup. Wollen Sie das ausprobieren, gehen Sie folgendermaßen vor:

  1. Zunächst benötigen Sie eine Datei in passender Größe, die später als Container für die verschlüsselten Daten dient. Die können Sie mit dd erzeugen. Öffnen Sie dazu ein Terminalfenster (z. B. mit [Alt]+[F2] und Eingabe von konsole) und geben Sie darin den folgenden Befehl ein:

    dd if=/dev/zero of=.cryptcontainer bs=1M count=512

    Das Kommando erzeugt eine 512 MByte große versteckte Datei .cryptcontainer in Ihrem Home-Verzeichnis, die nur aus Null-Bytes besteht (also keinen Inhalt hat). Soll die Datei größer werden, ersetzen Sie in count=512 die 512 durch eine größere Zahl, z. B. 2048 oder 4096.

  2. Teilen Sie Linux mit, dass Sie die Datei als Crypto-Container nutzen wollen. Das geht folgendermaßen:

    sudo cryptsetup -y luksFormat .cryptcontainer

    Mit dem vorangestellten sudo führen Sie den Befehl als root aus und müssen dazu Ihr eigenes Passwort (Kubuntu) bzw. das Root-Passwort (OpenSuse) eingeben. Das Tool fragt nach, ob Sie wirklich die Datei als Container einrichten wollen; die Frage müssen Sie mit YES (komplett in Großbuchstaben) beantworten. Anschließend geben Sie zweimal ein Passwort ein (das bei der Eingabe nicht angezeigt wird).

  3. Mit einem weiteren cryptsetup-Aufruf ordnen Sie der Datei einen Namen zu (im Beispiel crypt) und aktivieren die Verschlüsselung:

    sudo cryptsetup luksOpen .cryptcontainer crypt

    Hier geben Sie erneut das im vorherigen Schritt vergebene Passwort ein.

  4. Jetzt steht ein neues virtuelles Gerät /dev/mapper/crypt zur Verfügung, das Sie wie eine Plattenpartition verwenden können – in den verbleibenden Schritten müssen Sie es formatieren und mounten (einhängen). Das Formatieren erledigt der Befehl

    sudo mkfs.ext3 /dev/mapper/crypt
  5. Zum Mounten geben Sie die folgenden Befehle ein:

    mkdir crypt
    sudo mount /dev/mapper/crypt crypt/
    sudo chown $(id -un):$(id -gn) crypt

    Danach können Sie im Ordner crypt/ in Ihrem Home-Verzeichnis Dateien ablegen, die automatisch verschlüsselt werden.

Container aushängen

Aber Achtung: Das Verschlüsseln (und beim Lesezugriff auch das Entschlüsseln) erfolgen automatisch; wenn Sie den Rechner in diesem Zustand verlieren, kann jeder Benutzer, der den Schutz des Bildschirmschoners überwindet, auch auf alle Dateien zugreifen. Um das zu verhindern, müssen Sie den Zugriff wieder unterbinden; dazu sind die Befehle

sudo umount /dev/mapper/crypt
sudo cryptsetup cryptsetup luksClose crypt

nötig. Der erste hebt nur die Einbindung auf (“unmountet” also das crypt-Verzeichnis); erst der zweite Befehl schaltet die transparente Ver- und Entschlüsselung ab. Danach sind die im Container abgelegten Dateien geschützt.

Um später wieder auf die Dateien zuzugreifen, geben Sie die beiden Befehle

sudo cryptsetup luksOpen .cryptcontainer crypt
sudo mount /dev/mapper/crypt crypt/

ein; der erste davon erfordert wieder die Angabe des Passworts, damit die Ver- und Entschlüsselung freigeschaltet wird. Das Ganze lässt sich auch automatisieren und so einrichten, dass Sie ohne sudo das Ein- und Aushängen vornehmen können (Sie benötigen dann nur noch das für die Verschlüsselung genutzte Passwort) – das empfehlen wir aber nur Anwendern mit fortgeschrittenen Kenntnissen, auf deren Rechner auch ein C-Compiler installiert ist. Wenn Ihnen das zu heikel ist, überspringen Sie den folgenden Abschnitt und lesen unter Verschlüsseln bei der Installation weiter.

Automatisieren – für Fortgeschrittene

Wenn auf Ihrem System ein C-Compiler installiert ist, können Sie das Ein- und Aushängen inklusive Aktivierung bzw. Deaktivierung des Crypto-Geräts so automatisieren, dass Sie dafür keine Root-Rechte benötigen; an der Eingabe der Verschlüsselungs-Passphrase kommen Sie damit aber nicht vorbei – das ließe sich zwar auch regeln, aber damit wäre das System nicht mehr geschützt.

Erzeugen Sie mit

mkdir -p ~/bin; cd ~/bin

den Ordner bin in Ihrem Home-Verzeichnis (falls dieser noch nicht existiert) und wechseln Sie hinein. Legen Sie dann in diesem Ordner die beiden Dateien cryptopen.c und cryptclose.c an und tragen Sie die Inhalte aus Listing 2 und Listing 3 ein. In Listing 2 müssen Sie in /home/esser/.cryptcontainer den Namen esser durch Ihren Benutzernamen ersetzen.

Mit den folgenden Kommandos übersetzen Sie die beiden C-Quellcode-Dateien und sorgen dafür, dass sie mit Root-Rechten laufen. (Die chown– und chmod-Befehle machen root zum Besitzer der Dateien und setzen das so genannte SUID-Bit: Dadurch können Sie die Programme nun als normaler Benutzer starten, und sie laufen dennoch mit Root-Rechten.)

gcc -o cryptopen cryptopen.c
gcc -o cryptclose cryptclose.c
sudo chown root cryptopen cryptclose
sudo chmod u+s cryptopen cryptclose

Listing 2

cryptopen.c

#include <unistd.h>
int main () {
  setuid (0);
  execl ("/usr/sbin/cryptsetup",
         "cryptsetup", "luksOpen",
         "/home/esser/.cryptcontainer",
         "crypt");
}

Listing 3

cryptclose.c

#include <unistd.h>
int main () {
  setuid (0);
  execl ("/usr/sbin/cryptsetup",
         "cryptsetup",
         "luksClose", "crypt");
}

Weiter geht es mit zwei Skripten, welche das Crypt-Gerät aktivieren und mounten bzw. beide Schritte rückgängig machen: Legen Sie im bin-Ordner die Dateien crypt-on und crypt-off an und tragen Sie die Inhalte aus Listing 4 und Listing 5 ein. Insgesamt entspricht dann der Aufruf von crypt-on oder crypt-off den jeweils zwei von Hand einzugebenden Befehlen aus der weiter oben stehenden Beschreibung fürs Aktivieren und Deaktivieren des Zugriffs – aber ohne, dass dazu die Eingabe Ihres Benutzerpassworts (Kubuntu) bzw. des Root-Passworts (OpenSuse) nötig wäre – Sie brauchen nur das Passwort, das Sie beim Anlegen des Containers vergeben haben.

Listing 4

crypt-on

cd
cryptopen
mount crypt

Listing 5

crypt-off

cd
umount crypt
cryptclose

Mit chmod +x crypt-on crypt-off machen Sie diese beiden Dateien ausführbar. Tragen Sie außerdem in /etc/fstab

/dev/mapper/crypt  /home/username/crypt  ext3  users,noauto  0  0

ein, können Sie künftig aus der Shell heraus mit crypt-on den verschlüsselten Container ein- und mit crypt-off wieder aushängen:

esser@hpquadi7:~> crypt-on
Geben Sie die Passphrase für »/home/esser/.cryptcontainer« ein:
esser@hpquadi7:~> ls ~/crypt/
abc  def  lost+found
esser@hpquadi7:~> crypt-off
esser@hpquadi7:~> ls ~/crypt/
esser@hpquadi7:~>

(Die letzte Ausgabe zeigt, dass die Dateien jetzt nicht mehr sichtbar sind, weil der Container nicht länger eingehängt ist.)

Verschlüsseln bei der Installation

OpenSuse und Kubuntu bieten Ihnen bei der Installation der Distribution an, eine verschlüsselte Partition anzulegen. Das ist der sicher einfachste Weg zum geschützten Bereich. (Bei OpenSuse ist sogar eine Vollverschlüsselung der ganzen Festplatte möglich.)

  • Bei der OpenSuse-Installation wählen Sie dafür bei der Partitionierung die Experteneinstellungen und setzen beim Anlegen der Partition für /home die Option Dateisystem verschlüsseln.
  • Kubuntu-Anhänger wählen bei der Einrichtung des Benutzers die Option Meine persönlichen Dateien verschlüsseln.

Die Zukunft: Ext4-Verschlüsselung

Kommende Linux-Versionen werden noch einfacher Partitionen verschlüsseln können, denn kürzlich wurde das Standarddateisystem Ext4 von Linux um ein eingebautes Verschlüsselungsfeature erweitert [6]. Bis die Distributionen das Feature integrieren, werden aber wohl noch ein paar Monate vergehen.

Fazit

In diesem Workshop haben wir verschiedene Möglichkeiten beschrieben, wie Sie Dateien durch Verschlüsselung schützen können – von leichten über mittelschwere bis zu Fortgeschrittenen vorbehaltenen Methoden. Für alle davon sollten Sie abschließend diese beiden Punkte beachten:

  • Wenn Sie neben einer verschlüsselten Dateiversion auch eine ungeschützte Version auf derselben Platte behalten, ist der Schutz bei Diebstahl oder Verlust des Geräts wirkungslos – Diebe oder unehrliche Finder greifen dann einfach auf die ungeschützte Version zu.
  • Vergessen Sie das Passwort, das Sie für das Verschlüsseln einer Datei, eines Archivs oder einer Partition vergeben haben, ist kein Zugriff mehr möglich – Sie sollten also sicherstellen, dass es an anderer Stelle eine Sicherheitskopie gibt, auf die Sie ohne Passwort zugreifen können.

Infos

[1] Wikipedia-Eintrag zur Blowfish-Verschlüsselung: http://de.wikipedia.org/wiki/Blowfish

[2] Artikel zu KGpg: Marcel Hilzinger, “Schlüsselfrage”, LinuxUser 02/2009, S. 28 ff., http://linux-community.de/17408

[3] Alte TrueCrypt-Seite: http://truecrypt.sourceforge.net/

[4] Artikel zur TrueCrypt-Verschlüsselung eines USB-Sticks: Martin Loschwitz, “Sicher unterwegs”, EasyLinux 01/2014, S. 61 ff., http://http://linux-community.de/31337

[5] Artikel zu TrueCrypt: Martin Loschwitz und Hans-Georg Eßer, “Sicher verschlossen”, EasyLinux 02/2008, S. 54 f., http://linux-community.de/15533

[6] Verschlüsselung für Ext4: https://lwn.net/Articles/639427/

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDF
EasyLinux 03/2015 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben