AA_penetration_sxc922398.jpg

© sxc.hu, Kriss Szkurlatowski

USB-Sticks verschlüsseln

Kugelsicher

So ein winziger USB-Stick geht schnell mal verloren – Pech nur, wenn sensible Daten darauf lagern. Verschlüsseln hilft gegen solche Pannen.

Auf USB-Sticks tragen Sie mitunter wichtige Daten herum, die Sie lieber stets dabei haben. Dazu gehören Passwörter, E-Mail-Adressen, Kalkulationen und andere sensible Informationen. Geht der kleine Stift stiften, haben Sie unter Umständen ein Problem, falls die Daten in falsche Hände geraten.

Sorgenfrei tragen Sie Ihren Schatz nur dann durch die Gegend, wenn Sie Verschlüsselung nutzen. Dank der Device-Mapper-Infrastruktur, die der Kernel 2.6 mitbringt, ist es unter Linux möglich, Dateisysteme mit einer Art Schutzmantel zu umgeben. Das Kernel-Modul dm_crypt nutzt diesen, um das darin enthaltene Dateisystem mit einer verschlüsselten Schicht zu umgeben. Um die Partition oder Festplatte zu mounten, müssen Sie mit Hilfe des korrekten Passwortes die Schutzschicht knacken und können erst dann wie gewohnt mit dem Dateisystem arbeiten (Abbildung 1).

Abbildung 1: KDE 4 erkundigt sich nach dem Passwort für den nach dem LUKS-Standard verschlüsselten USB-Stick.

Die so verschlüsselten Sticks setzen Sie nur auf Systemen ein, die einen Kernel besitzen, der das Modul dm_crypt mitbringt. Unter Windows funktioniert der Stick nicht. Das Modul muss zudem auch die eingesetzte Verschlüsselungsmethode kennen: So verwendet der Kernel 2.6.24 unter anderem den Algorithmus aes-xts-plain, der in den Kernelversionen davor fehlt. Das bedeutet: Einen unter Ubuntu 8.04 mit aes-xts-plain verschlüsselten Stick können Sie unter Ubuntu 7.10 nicht mounten. Umgekehrt klappt es schon, doch dazu später mehr.

Stick verschlüsseln

Egal ob Sie eine Partition verschlüsseln oder entschlüsseln: Sie brauchen das Paket cryptsetup, das sowohl Ubuntu als auch Opensuse im Paketmanager anbieten. Damit verschlüsseln Sie nicht nur USB-Sticks, sondern auch gewöhnliche Festplatten. Seien Sie aber vorsichtig: Falls Sie aus /dev/sdb1 versehentlich /dev/sda1 machen, planieren Sie womöglich Ihre Root-Partition. Auf jeden Fall müssen Sie die gewünschte Partition vor dem Verschlüsseln formatieren: Sie verlieren also alle vorhandenen Daten.

Zunächst öffnen Sie eine Konsole und geben tail -f /var/log/messages ein. Stecken Sie dann den USB-Stick an den Rechner, spuckt die Konsole allerhand Zeilen aus, darunter eine wie sdb: sbd1. Ihr entnehmen Sie, welche Laufwerksbezeichnung Linux dem Stick zuweist. Wir verwenden in den folgenden Beispielen sdb, was Sie bei eigenen Versuchen jeweils durch den passenden Laufwerksbuchstaben für Ihren USB-Stick ersetzen müssen.

In der Regel hängt Linux USB-Sticks automatisch in das Verzeichnissystem ein. Unter KDE 3 erscheint die Frage, ob Sie das gefundene Medium in einem neuen Fenster öffnen wollen, Gnome fragt gar nicht erst. Unter KDE 4 erscheint in der Systemleiste ein Informationsfenster, welches das neue Laufwerk anzeigt.

Die nächsten Schritte nehmen Sie auf der Kommandozeile vor. Alle Befehle, vor denen sudo steht, führen Sie unter Opensuse mit Root-Rechten aus, die Sie über die Eingabe von su root und das Root-Passwort erlangen. Zunächst rufen Sie mit sudo fdisk /dev/sdb das Partitionierungstool Fdisk auf.

Fdisk steuern Sie über die Tastatur: Über [D] löschen Sie zunächst eine vorhandene Partition. Über [N] und dann [P] legen Sie eine neue, primäre Partition an. Geben Sie eine 1 ein, um eine erste primäre Partition zu erstellen, und drücken Sie danach zweimal [Eingabe], um den kompletten Stick zu verwenden. Über [W] schreiben Sie die Veränderungen abschließend auf den USB-Stick (Abbildung 2). Im nächsten Schritt überschreiben Sie die Partition mit Zufallsdaten:

$ sudo dd bs=4K if=/dev/urandom of=/dev/sdb1
Abbildung 2: Mit Hilfe von Fdisk partitionieren Sie den USB-Stick, bevor Sie ihn verschlüsseln. Dabei gehen alle Daten verloren.

Das dient dazu, potenziellen Angreifern keinen Hinweis auf Umfang und Ausdehnung der verschlüsselten Daten zu liefern. Der Parameter bs=4K legt für die Schreibzugriffe eine Blockgröße von 4 KByte fest, was den Vorgang beschleunigt.

Dann laden Sie über sudo modprobe dm_crypt das Kernel-Modul. Um den Stick später auf dem eigenen System zu nutzen, schreiben Sie den Namen des zu ladenden Moduls in die Datei /etc/modules. Dazu erlangen Sie unter Ubuntu über sudo su Root-Rechte und geben dann ein:

# echo dm_crypt >> /etc/modules

Danach legen Sie über das Tool Cryptsetup und mit Hilfe des Device-Mappers den anfangs erwähnten Schutzmantel an (Abbildung 3):

$ sudo cryptsetup -yvh sha256 -c aes-xts-plain -s 256 luksFormat /dev/sdb1
Abbildung 3: Kugelsichere Weste: Mit Cryptsetup stülpen Sie eine verschlüsselte Schutzschicht über die Partition /dev/sdb1.

Die Option -yvh sha256 sorgt für eine doppelte Abfrage des Passworts und speichert dieses als 256 Bit langen Hash-Wert. Über -c legen Sie die Verschlüsselungsmethode fest. Hier handelt es sich um den AES-XTS-Algorithmus mit einem 256-Bit langen Schlüssel (-s 256). Wollen Sie den Stick auch auf Systemen verwenden, die einen Kernel vor Version 2.6.24 nutzen, wählen Sie -c aes-lrw-benbi als Verschlüsselungsalgorithmus. Bei Kernelversionen vor 2.6.20 weichen Sie auf -c aes-cbc-essiv:sha256 aus. Sie sollten also im Vorfeld überlegen, was Sie mit dem verschlüsselten Stick vorhaben.

Der Befehl luksFormat gehört zum LUKS-Standard (Kasten "LUKS") und initiiert die Partition. Dabei setzen Sie ein Passwort. Im zweiten Schritt verschaffen Sie sich Zugang über luksOpen Zugang zur verschlüsselten Partition (Listing 1, Zeile 1). Dabei setzen Sie einen beliebigen Namen (hier: geheim), um das Laufwerk über den Device Mapper zu mounten.

LUKS

LUKS steht für "Linux Unified Key Setup". Der Standard versieht seinen Dienst unter anderem in Kooperation mit dem Kernelmodul dm_crypt. Er verpasst verschlüsselten Partitionen einen standardisierten Header und legt ein Format für die Daten fest. LUKS kommt mit mehreren Passworten zurecht, die sich ändern lassen, und ist immun gegen Wörterbuch-Angriffe.

Nach der Eingabe des Befehls fragt Cryptsetup nach dem gerade von Ihnen erstellten Passwort. Diesen Befehl müssen Sie später stets wiederholen, um den verschlüsselten Stick zu mounten. Die unverschlüsselte Partition erreichen Sie nun über den Einhängepunkt /dev/mapper/geheim – noch fehlt jedoch das Dateisystem. Das erzeugen Sie mittels mkfs.ext3 (Listing 1, Zeile 2). Direkt im Anschluss hängen Sie das Dateisystems des Sticks ein und arbeiten wie gewohnt damit (Listing 1, Zeile 3).

Eine kleine Korrektur braucht der nun in das Verzeichnis /mnt eingehängte Stick womöglich noch. Um den Eigentümer der Dateien auf dem Stick zu ändern, ersetzen Sie mithilfe von Chmod user:user durch die Kennung Ihres Standardbenutzers.

Im Anschluss schreiben Sie im Dateimanager beliebige Dateien auf den Stick. Um ihn wieder auszuhängen, geben Sie sudo umount /mnt ein. Um schließlich den Schutzmantel wieder zu schließen, nutzen Sie luksClose (Listing 1, Zeile 5).

Listing 1
$ sudo cryptsetup luksOpen /dev/sdb1 geheim
$ sudo mkfs.ext3 /dev/mapper/geheim
$ sudo mount /dev/mapper/geheim /mnt
$ sudo chmod -R user:user /mnt
$ sudo cryptsetup luksClose /dev/mapper/geheim

Entschlüsseln

Die Desktops reagieren verschieden, wenn Sie den Crypto-Stick einstöpseln: Bei KDE 4 müssen Sie im Dolphin links auf den Eintrag Volume klicken, damit die Passwortabfrage erscheint (Abbildung 1), Gnome zeigt diese in der Regel automatisch an. Wichtig: Laden Sie vor dem Einstecken des USB-Sticks auf fremden Systemen immer auch das Kernelmodul dm_crypt – dann klappt es mit dem sicheren Zugriff.

Glossar

AES

Advanced Encryption Standard. Dieser heißt nach seinen Entwicklern Joan Daemen und Vincent Rijmen auch Rijndael-Algorithmus. In den USA benutzen Behörden ihn für Dokumente mit höchster Geheimhaltungsstufe.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Daten mit Losetup und Cryptsetup verschlüsseln
    Befinden sich auf Ihrem PC sensible Daten, sollten Sie diese auch entsprechend schützen. Mit starker Verschlüsselung und einem sicheren Passwort kommen selbst Geheimdienste nicht an Ihre Daten heran.
  • 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.
  • Verschlüsselung wechsel dich
  • Verschlüsselte USB-Sticks mit TrueCrypt
    USB-Sticks erfreuen sich größter Beliebtheit, denn sie ermöglichen den schnellen und bequemen Transport von größeren Datenmengen. Leider sind sie aber auch sehr leicht zu entwenden oder zu verlieren – wie schützen Sie also Ihre Daten vor den Augen Dritter?
  • Dateien und Laufwerke verschlüsseln
    Gegenüber den sonst dazu verwendeten Kommandozeilenwerkzeugen erleichtert Zulucrypt das Verschlüsseln privater Datenbestände wesentlich, ohne dass Sie dabei Abstriche beim Leistungsumfang in Kauf nehmen müssten.
Kommentare
Anmerkung zu Listing 1
Kristian Kißling, Freitag, 13. Februar 2009 08:52:48
Ein/Ausklappen

Zwei Fehler haben sich in Listing 1 eingeschlichen, hier die Korrekturen:
Zeile 04: sudo chown -R user:user /mnt
Zeile 05: sudo umount /mnt
Zeile 06: sudo cryptsetup luksClose /dev/mapper/geheim




Bewertung: 244 Punkte bei 72 Stimmen.
Den Beitrag bewerten: Gut / Schlecht

Infos zur Publikation

LU 09/2016: Ciao, Windows!

Digitale Ausgabe: Preis € 5,99
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!

Aktuelle Fragen

Scannen nicht möglich
Werner Hahn, 19.08.2016 22:33, 3 Antworten
Laptop DELL Latitude E6510 mit Ubuntu 16,04, Canon Pixma MG5450. Das Drucken funktioniert, Scann...
Wie kann man das berichtigen
Udo Muelle, 17.07.2016 20:39, 1 Antworten
Fehlschlag beim Holen von http://extra.linuxmint.com/dists/rosa/main/binary-i386/Packages Hash-S...
Installation Genimotion
Horst Müller, 15.07.2016 17:00, 1 Antworten
Hallo, ich kann Genimotion nicht installieren. Folgende Fehlermeldung habe ich beim Aufruf erh...
Probleme beim Hochfahren der Terastaion 5400 mit Unix-Distrib
Sheldon Cooper, 10.07.2016 09:32, 0 Antworten
Hallo ihr lieben, habe seit zwei Tagen das Problem, das das NAS (Raid5) nicht mehr sauber hoch...
Mit Firewire Videos improtieren?
Werner Hahn, 09.06.2016 11:06, 5 Antworten
Ich besitze den Camcorder Panasonic NV-GS330, bei dem die Videos in guter Qualität nur über den 4...