Logo


Computer Communication & Consulting

Linux Howto

letzte Änderung 17.01.2010

USB Drives verschlüsseln


LUKS - Linux Unified Key Setup
LUKS - Installieren und Einrichten
File System in der LUKS Partition ändern/formatieren
Password-Handling für LUKS Partitionen

USB Sticks und Festplatten, ich fasse sie hier unter dem Begriff USB-Drives zusammen, werden immer populärer. Jedes Jahr gibt es die doppelte Kapazität zum gleichen Preis. Was auf der einen Seite sehr schön ist, kann sehr schnell zum Nachteil werden. Gehen doch bei Verlust des USB-Stick oder der USB-Festplatte viele Daten verloren bzw. geraten in fremde Hände. Speziell bei großen Kapazitäten besteht die Gefahr, dass durch Verlust oder gar Diebstahl auch vertrauliche Daten in die "falschen Hände" geraten.
So addiert sich zu dem Ärgernis des Datenverlustes auch noch die Unannehmlichkeit eines eventuellen Datenmissbrauchs.

Gegen Verlust kann man sich schützen, indem man gut auf seine USB-Drives aufpasst. Gegen Datenmissbrauch im Fall des Falles, durch Verschüsseln des Datenträgers.


LUKS - Linux Unified Key Setup

LUKS ist der Standard zur Verschlüsselung (Encryption) von Filesystemen unter Linux. LUKS erweitert das Verschlüsselungsverfahren dm-crypt um einen Header für die Metadaten. Dieser Metadaten-Container bietet u.a. Platz für bis zu acht Passwörter, mit denen auf die verschlüsselte Partition zugegriffen werden kann.

Man sollte von der Möglichkeit der 8 Passworte mit Bedacht Gebrauch machen. Ein zusätzliches Passwort kann einem selbst helfen, für den Fall, dass es zu Problemen mit dem "normalen" Passwort kommt. Ein defektes bzw. vergessenes Passwort erzeugt einen Datenverlust.
Es gibt keinen Weg, ohne das gültige Passwort auf die Daten zuzugreifen.
Für eine Brut-Force Attacke hat man damit jedoch auch ein zweites oder drittes Türchen geöffnet. Das bedeutet, die Sicherheit der Verschlüsselung wird durch zusätzliche Passworte veringert.

LUKS lässt sich auch verwenden um die "online" Partitionen von Systemen zu verschlüsseln. Das ist jedoch nicht Gegenstand dieser Seite.


LUKS - Installieren und Einrichten

Unter Debian und dessen derrivaten, z.B. Ubuntu, ist das Installieren sehr einfach. Als User Root mit:

apt-get install crytsetup

installieren. Cryptsetup muss auf allen Systemen installiert sein, an denen man das verschlüsselte USB-Drive verwenden möchte.

Achtung: Die Partition, die man mit Cryptsetup einrichtet wird "formatiert", d.h. alle darauf befindlichen Daten werden gelöscht. Man kann eine bestehende Partition nicht nachträglich verschlüsseln.

Will man ein existierendes USB-Drive verschlüsseln, muss man alle Daten zuvor auf ein anderes Laufwerk kopieren, die Verschlüsselung einrichten und die Daten anschließend zurück kopieren.

USB-Drive mit LUKS formatieren

Vor der Formatierung sollte man sich überlegen, ob man das USB-Drive ausschließlich unter Linux betreiben möchte. Will man Daten mit Windows-Benutzer/Geräten tauschen, so sollte man dafür entweder ein weiteres/anderes USB-Drive benutzen oder das USB-Drive partitionieren.

Unter Windows soll man LUKS Partitionen mit freeOTFE mounten können, man sollte sich fragen, ob dies notwendig ist, da USB-Datenträger preiswert verfügbar sind und man einen normalen USB-Stick direkt ohne Zusatzaufwand (Installation von freeOTFE) an ein Windows System anstecken kann.

Alle Beispiele gehen davon aus, dass man als User root angemeldet ist. Ansonsten ist jeweils ein sudo voranzustellen.

Die Formatierung eine USB-Drives mit LUKS ist sehr einfach. Für das Beispiel ist das zu verschlüsselnde USB-Drive als /dev/sde vorhanden und es soll die Partition sde1 formatiert werden.
Bitte stellen Sie absolut sicher, dass Sie die richtige Partition auswählen. Die Daten der gewählten Partition gehen verloren!

cryptsetup --verbose --verify-passphrase luksFormat /dev/sde1

Cryptsetup fragt nach, ob man die Partion wirklich verschlüsselt formatieren will. Diese Frage muss mit einem YES in Großbuchstaben beantwortet werden. Anschließend ist das Password zweimal einzugeben und dann beginnt die Formatierung.


zum Seitenanfang


File System in der LUKS Partition ändern/formatieren

LUKS formatiert standardmäßig zwar mit VFAT, aber unter Linux ist das nicht das präferierte Filesystem und an Windows will man das USB-Drive nicht unbedingt betreiben.

Für das Formatieren mittels mkfs muss die LUKS-Partition dem System bekannt sein, sie darf jedoch nicht gemounted sein.
Die LUKS-Partition /dev/sde1 wird mit

cryptsetup luksOpen /dev/sde1 sde1

nach sde1 gemappt. Man könnte sie statt "sde1" auch "usb_drive" nennen. Ob sie gemappt ist lässt sich mit "ls /dev/mapper" prüfen. Es sollte etwas ähnliches wie

luks-uuid-4bcfe137-4d26-4030-8378-73e34a829a47

im Listing erscheinen. Die exakte Darstellung ist abhängig von der Linux-Version und dem USB-Drive.

Nun kann man beispielweise mit:

mkfs.ext3 /dev/mapper/sde1

ein EXT3-Filesystem auf der LUKS-Partition erstellen.

Anschließend wird mit:

cryptsetup luksClose sde1

das Drive-Mapping wieder entfernt.

Beim erneuten Anstecken des USB-Drives sollte jetzt ein Popup-Fenster erscheinen, in dem das Passwort zum Zugriff auf das Drive abgefragt wird. Ansonsten lässt sich das Laufwerk wie jedes ander USB-Drive verwenden.

Beim Anlegen mit Ubuntu kann es vorkommen, dass das Mounten mit dem Return Exit Code 239 abgebrochen wird. Dann ist wahrscheinlich noch das Mapping auf /dev/mapper aktive. Einfach mit "ls /dev/mapper" prüfen und ggf. per "cryptsetup luksClose luks-uuid-xxx" aushängen, wobei xxx durch die entsprechenden Eintrag zu ersetzen ist.


zum Seitenanfang


Password-Handling für LUKS Partitionen

Passworte lassen sich nicht ändern. Jedoch kann eine LUKS Partition bis zu 8 Passwörter haben. Somit kann man ein Passwort hinzufügen:

cryptsetup luksAddKey /dev/sde1

Der Key wird in das erste freie Slot geschrieben.

Anders ist das beim Entfernen von Passworten. Da muss man angeben und sollte man wissen, welches "Key-Slot" man entfernt.

cryptsetup luksDelKey /dev/sde1 1

Im Beispiel wird das Passwort von Key-Slot 1 entfernt.

Passwörter lassen sich ändern indem man ein temporäres Passwort auf Slot 1 setzt. Dann das Password von Slot 1 löscht, dort das neue einsetzt und dann das temporäre entfernt.
Aber Achtung: Wenn dabei etwas schief geht, kann der komplette Inhalt der Partition "verloren" gehen. Erst denken, dann tippen!

Wenn man sich nicht sicher ist, auf welchem Key-Slot das Password liegt, kann man sich das mit:

cryptsetup luksDump /dev/sde1

anzeigen lassen. Mit dem Dump werden eine Reihe Informationen aus dem LUKS-Header angezeigt. Das aktive Key-Slot wird als ENABLED gelistet.


zum Seitenanfang




Home Page
Ranking-Hits
Copyright © 2001-2014 Bernd Holzhauer. Alle Rechte vorbehalten.
Warenzeichen und Marken sind Eigentum der jeweiligen Besitzer.

Das Ing.Büro Bernd Holzhauer distanziert sich grundsätzlich von gesetzeswidrigen und möglicherweise illegalen Inhalten in Seiten, auf die über www.cc-c.de verwiesen wird. Sollte Ihnen diesbezüglich etwas auffallen, melden Sie es uns bitte per email.