Es gibt prinzipiell 2 Möglichkeiten der Verschlüsselung, über das Programm losetup (alt, soll nicht mehr verwendet werden) und neu: cryptsetup
1. Vorbereitung (Verwendung von cryptsetup):
Entweder möchte man eine ganze Partition verschlüsseln oder man packt seine vertraulichen Daten in eine Datei.
Diese kann man dann auch als Dateisystem mounten
1.1 Ganze Partition verschlüsseln
Die Partition muss hierzu nicht besonders vorbereitet werden, es sollte eine neue leere Partition angelegt werden.
Beispiel:
Partitionsname /dev/sda2
Verschlüsselungsalgorithmus: aes-cbc-essiv:sha256
Kennwortlänge 21 Zeichen (minimum 20 Zeichen !)
Name des verschlüsselten Dateisystems (wird unter /dev/mapper angelegt)
Mountverzeichnis /daten
#21 Zeichen von der Tastatur lesen in die Variable PASS read -s -n 21 -p "Passwort :" PASS #Passwort an cryptsetup weitergeben echo $PASS|cryptsetup -c aes-cbc-essiv:sha256 create safedisk /dev/sda2 if [ $? -ne 0 ] then echo "cryptsetup fehlgeschlagen" exit 1 fi #Bitte beachten: cryptsetup kann ein falsches Kennwort nicht erkennen ! #Sollte das Kennwort nicht richtig sein, wird beim Mountbefehl das Dateisystem nicht erkannt. mount /dev/mapper/safedisk /daten
Wichtig: Bei der ersten Benutzung muss man noch das Dateisystem formatieren:
Hierzu unmittelbar vor dem mount-Befehl eingeben (Im Beispiel ext3-Dateisystem):
mkfs.ext3 /dev/mapper/safedisk
1.2 Verschlüsseltes Dateisystem in einer Datei
Mit folgendem Befehl wird zunächst eine Datei angelegt.
dd if=/dev/zero of=safefile.data bs=1k count=1000000
Beispiel:
Größe 1GB, durch den Schalter count kann die Anzahl der Blöcke gewählt werden.
Durch bs=1k kann die Blockgröße verändert werden,
of= gibt den Dateinamen an.
if=/dev/zero füllt die Datei mit nullen.
Prinzipiell funktioniert es genauso wie unter 1.1 beschrieben mit folgenden Änderungen:
Vor dem cryptsetup muss man noch eingeben:
losetup /dev/loop0 safefile.data
Hintergrund: cryptsetup kann die Datei nicht als Blockgerät ansprechen. Mit losetup wird die Datei an ein loop-Device angeschlossen.
Statt der Datei verwendet man danach das loop-Device.
Hinweis: Natürlich sollte man sich vergewissern, dass das Gerät /dev/loop0 nicht bereits verwendet wird. Es stehen aber noch mehrere Geräte zur Verfügung (loop1, loop2, ...)
Man verwendet dann in dem o.g. Beipiel unter 1.1 statt /dev/sda2 das Gerät /dev/loop0
2. Verwendung von losetup
#21 Zeichen als Passwort einlesen
read -s -n 21 -p "Passwort :" PASS
#Kernelmodul für Verschlüsselung laden
modprobe cryptoloop
#Kennwort an losetup übergeben
echo $PASS|losetup -e aes128 /dev/loop0 safefile.data -p 0