Vollständige Version anzeigen : Festplattenverschlüsselung mit losetup


Crack02
07.02.2006, 17:53

da es inzwischen auch möglich ist, mit truecrypt (TrueCrypt - Free Open-Source On-The-Fly Disk Encryption Software for Windows 7/Vista/XP, Mac OS X and Linux (;;;truecrypt~org)) container unter linux zu erstellen, ist das vielleicht einfacher zu handhaben, als die umständliche losetup variante.


"losetup" ist ein Teil Paketes "util-linux", welches bei Bedarf nachinstalliert werden muss.
SuSE-Nutzer können dies über

yast -i util-linux

Bei Debian verläuft eine nachträgelich Installation ähnlich einfach:

apt-get install util-linux

Bei SuSE 9;0 habe ich die Erfahrung gemacht, dass man in in die version 2;12 von util-linux noch einen patch einspielen und das paket von hand compilieren musste.
Hier gehe ich mal von einer neueren Version oder einer anderen Distribution aus.

Außerdem müssen (entweder direkt im Kernel oder als Module) "loop", "cryptoloop" sowie mindestens ein Cipher (Algorithmus, z;B. AES, Blowfish, Twofish, Serpent, DES..;) vorhanden sein.
Bei den meisten fertigen Kernelimages ist "loop" entweder direkt integriert oder als Modul dabei, "cryptoloop" hingegen als Modul oder im schlechtesten Fall, gar nicht vorhanden. Wenn dies der Fall sein sollte, kommt man um einen neuen handgearbeiteten Kernel nicht herum.

Sofern Module vorhanden sind, diese mit

modprobe <modulname>

laden.
Das wären in unserem Fall (hier AES als Beispielalgorithmus).

modprobe loop
modprobe cryptoloop
modprobe aes


Mit

lsmod

vergewissern wir uns, ob die Module korrekt geladen sind.

Die aktiven Cipher findet man in /proc/crypto

cat /proc/crypto


Jetzt kommts drauf an, ob ein Dateicontainer erstellt werden soll, eine Partiton oder eine ganze Festplatte verschlüsselt werden soll.
Gehen wir mal von einem Dateicontainer mit 10GB Größe aus.

Wir erstellen uns also aus dem Zufallsgenerator eine 10GB große Datei.

dd if=/dev/urandom of=/daten bs=1M count=10240 &

Zur Erklärung:
dd konvertiert oder kopiert Dateien
if=/dev/urandom if ist die Quelle und in unserem Fall der einfach Zufallsgenerator urandom.
Alternativen wären /dev/zero (Nullgenerator) und /dev/random (normaler Zufallsgenerator).
Die Frage, wieso nicht das eine oder das andere benutzt wird, ist leicht zu beantworten:
/dev/random würde zu lange dauern (und damit mein ich Zeitspannen, je nach Kapazität von
mehreren Tagen, Wochen) und /dev/zero spuckt nur Nullen und kein Datengulasch aus.
Verschlüsselte Dateien wären also aus dem Haufen Nullen leicht zu isolieren.
of=/daten of ist der Zielort und das ist bei uns im Wurzelverzeichnis / die Datei "daten".
bs=1M bs gibt die Menge an Daten an, die bei jedem Durchlauf geschrieben werden.
Hier 1M, entspricht 1 Megabyte oder 1;048;576 Byte.
count=10240 count gibt die Anzahl der Durchläufe an, in unserem Fall 10240, weil wir damit am Ende
auf genau 10 Gigabyte kommen.
& & startet den Prozess im Hintergrund, d;h. wir können unsere aktuelle Shell weiter
verwenden. Aus dem einfachen Grund, weil dieser Vorgang lange (bis zu einigen Stunden)
dauern kann;


Das ganze wie gewünscht anpassen und durchlaufen lassen.

Sobald die Datei voller Datenmüll fertig ist, bügeln wir unsere Verschlüsselung darüber. Losetup fungiert dann als Datenvermittler zwischen dem Rechner und dem Dateicontainer. Der Begriff "Live-Verschlüsselung" o;ä. sollte jeder schon einmal gehört haben.

losetup -e aes-256 /dev/loop0 /daten

Zur Erklärung:
losetup das losetup-Programm.
-e aes-256 -e definiert den Cipher (Algorithmus) hier AES mit einer Schlüssellänge von 256 bit.
Man könnte auch einen stärkeren oder schwächeren Schlüssel wie 128 bit oder 512 bit
oder 1024 bit nehmen. Jedoch geht das alles zu Lasten der Performance. 256bit oder
512bit ist ein guter Kompromiss zwischen Sicherheit und Performance.
/dev/loop0 das Loop-Laufwerk.
/daten unser Dateicontainer;


Dann noch ein kugelsicheres Passwort eingeben (z;B. " W39h§jg!jnaEn$/gs "). Dieses Passwort gut wählen und merken. Es kann nachträglich nicht geändert werden und bei Verlust sind alle Daten im Eimer!!
Jetzt ist unser Dateicontainer über eine Live-Verschlüsselung mit einem block device oder loop device (hier /dev/loop0) verbunden. Also erstellen wir uns ein Dateisystem darauf:

mkfs;ext2 /dev/loop0

bzw.

mkfs -t ext2 /dev/loop0

Zur Erklärung:
mkfs;ext2 ein Symlink auf "mkfs -t ext2".
mkfs Programm zum Formatieren (Dateisysteme erstellen) von Laufwerken.
-t ext2 -t definiert das Dateisystem, hier ext2.
Wieso kein ext3 oder reiserfs? Ganz einfach. Das sind beides journaling filesystems,
d;h. einfach ausgedrückt: Diese Dateisysteme führen Buch über alles was darauf
geschrieben und gelöscht wird. Das sollte jedoch bei sensiblen Daten nicht der Fall sein.
/dev/loop0 das Laufwerk, welches unseren Dateicontainer beherbergt;


Jetzt haben wir auf unserer Datenmüllhalde ein verschlüsseltes Dateisystem und können unseren Dateicontainer wie eine ganz normale Festplatte einbinden.

mount -t ext2 /dev/loop0 /dateicontainer

Zur Erklärung:
mount Programm zum einbinden von Laufwerken und Verzeichnissen.
-t ext2 definiert das Dateisystem (bei bekannten Dateisystemen optional).
/dev/loop0 der Dateicontainer.
/dateicontainer der Ordner, in den das loop device eingebunden werden soll,
hier beispielshalber im Wurzelverzeichnis / der Ordner "dateicontainer;


Alles was nun im Ordner /dateicontainer passiert wird verschlüsselt in unserer 10GB Datei abgelegt bzw. wieder herausgeholt.

Wenn wir das Laufwerk nicht mehr brauchen lösen wir die Verbindung mit dem Laufwerk:

umount /dateicontainer

Zur Erklärung:
umount Befehl zum Lösen von Laufwerksverbindungen
/dateicontainer Der Ordner, dessen Verbindung mit einem Laufwerk gelöst werden soll;


Jetzt ist zwar der Ordner weg, jedoch ist der Dateicontainer immernoch mit dem loop device verbunden, d;h. er kann jederzeit ohne Passworteingabe wieder eingebunden werden.

Um die Verbindung zwischen der Datei und dem loop device zu lösen geben das hier ein:

losetup -d /dev/loop0

Zur Erklärung:
losetup das losetup-Programm
-d /dev/loop0 -d definiert das loop device, dessen Verbindung gekappt werden soll und
/dev/loop0 ist das block device, welches mit /daten verbunden ist;


Jetzt ist /daten wieder eine ganz normale uneinbare 10GB große Datei.

Zum wiedereinbinden einfach die Schritt wiederholen (ausgenommen vom Dateisystem erstellen, denn das würde sämtliche Daten zerstören).
Wichtig dabei ist, das der Cipher-Parameter im losetup-Befehl (sprich -e aes-256) exakt dem Anfangsparameter entspricht. losetup wird bei einem falschen Parameter zwar keine Fehlermeldung ausgeben, jedoch wird das mounten des loop devices scheitern.
Wer klug ist und nicht viel Zeit hat, schreibt sich ein kleines Script welches alle notwendigen zum Wiedereinbinden automatisiert (ausgenommen der Passworteingabe versteht sich).


FaQ:
F: Gibt es noch andere Möglichkeiten zur Verschlüsselung?
A: Ja, z;B. loop-aes oder dmcrypt (einfach mal googlen).

F: Das ist total kompliziert.
A: Machst jetzt einen auf Mädchen oder was? Sicherheit hat seinen Preis :-P

F: Wieso ausgerechnet losetup?
A: Fällt mir am leichtesten, außerdem bin ich damit flexibel. Kann ich einfach Cipher und Keysize bestimmen.

F: Hast du immer langeweile?
A: Nein, weil mich ständig irgendwelche dummen Leute nach irgendwas fragen. Ich glaub ich änder meinen Nick auch mal. Darf ich vorstellen? DrCrack....


created and licensed under MIT-License (;opensource~org/licenses/mit-license;html)
# EOF

Hardware Preisvergleich | Amazon Blitzangebote!

Videos zum Thema
Video Loading...
Ähnliche Themen zu Festplattenverschlüsselung mit losetup
  • Windows 10 und Veracrypt: Festplattenverschlüsselung mit Mangel
    Windows 10 in Kombination mit Veracrypt verhindert scheinbar das löschen von Passwörtern oder Unmountet nicht ordentlich. Mir ist aufgefallen, dass wenn Windows hochfährt häufiger die Festplatten noch bzw wieder gemountet sind und Daten lesbar sind OHNE das ich diese mit Passwort gemountet habe [...]

  • Wozu eine Festplattenverschlüsselung?
    Hey Folks, wozu genau ich eine Verschlüsselung benötige ist klar. Aber wie funktioniert dass? Wir die Festplatte per software verschlüselt und beim Start des Rechners muss ich ein Passwort eingeben? Oder ist eine Verschlüsselung so dass die Festplatte dann für den gebrauch nicht mehr nu [...]

  • Was bringt eine Festplattenverschlüsselung?
    Hi, ich bin am überlegen ob ich meine Externe Festplatte verschlüsseln werde. Was bringt mir das? Wie sicher ist es wirklich? [...]

  • Losetup Dismount
    manuell gehts per umount <Einhängepunkt> also z;b. umount /storage1 und dann losetup -d <loop device> also z;b. losetup -d /dev/loop0 [...]



raid-rush.ws | Imprint & Contact pr