Inhaltsverzeichnis

Allgemein

Um eine Festplatte zu verschlüsseln wird geli verwendet. Dies arbeitet direkt auf geom-Providern und ist somit in der Lage Partitionen transparent zu verschlüsseln.

ASESNI Laden

Wenn die verwendete CPU hardwareseitige AES-Beschleunigung unterstützt kann diese mit folgendem Eintrag in der /boot/loader.conf aktiviert werden.

aesni_load="YES"

GELI laden

Damit GELI (welches die Entschlüsselung der Daten übernimmt) beim Systemstart geladen wird muss noch folgende Zeile in die /boot/loader.conf hinzugefügt werden:

geom_eli_load="YES"

Partition anlegen

Um nun auf der Festplatte eine z.B. 500GB große Partition anzulegen wird gpart mit folgenden Parametern aufgerufen (Hierbei muss adX mit der entsprechenden Devicenode ersetzt werden).

# gpart add -s 500G -l CRYPTO -a 1m -t freebsd-ufs adX

Master-Key anlegen

Nun wird eine Schlüsseldatei angelegt mit welcher das Image dann verschlüsselt wird. Will man kein Key-File verwenden (nur in Ausnahmefällen sinnvoll), sondern ausschließlich ein Passwort eingeben kann dieser Schritt übersprungen werden.

% dd if=/dev/random of=crypt.key bs=128k count=1

GELI initialisieren

Nun muss GELI noch das Device initialisieren.

# geli init -s 4096 -l 256 -K crypt.key /dev/gpt/CRYPTO

Will man hingegen kein Key-File verwenden sieht die Zeile wie folgt aus:

# geli init -s 4096 -l 256 /dev/gpt/CRYPTO

Anschließend muss noch zwei mal das zum Verschlüsseln zu verwendende Passwort eingegeben werden.

GELI-Provider aktivieren

Um das Ganze nun zu aktivieren wird folgend vorgegangen:

# geli attach -k crypt.key /dev/gpt/CRYPTO

Hiermit wurde das unverschlüsselte Device /dev/gpt/CRYPTO.eli erzeugt. Wird kein Key-File verwendet entfällt -k crypt.key.

Dateisystem erzeugen

Das neue Image muss nun noch mit einem Dateisystem gefüllt werden.

# dd if=/dev/random of=/dev/gpt/CRYPTO.eli bs=1m
# newfs -j /dev/CRYPTO.eli

Um das Device nun in /crypt zu mounten muss nur noch folgender Befehl abgesetzt werden:

# mount /dev/gpt/CRYPTO.eli /crypt

Das Device kann nun normal verwendet werden.

Device auswerfen

Zunächst wird das Laufwerk unmouned. Dies geschieht mit:

# umount /crypt

Anschließend muss noch der GELI-Provider ausgeworfen werden. Hierdurch wird der entschlüsselte Zugriff beendet.

# geli detach gpt/CRYPTO.eli

Tipp: Wurde beim attach Befehl die Option -d verwendet wird das Device automatisch detached sobald der umount abgeschlossen ist.