Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

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

Code Block
#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):

Code Block
mkfs.ext3 /dev/mapper/safedisk




1.2 Verschlüsseltes Dateisystem in einer Datei

Mit folgendem Befehl wird zunächst eine Datei angelegt.

Code Block
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:

Code Block
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