Benutzer:ChrisGT/Festplatte verschlüsseln

Aus wiki.archlinux.de

„ChrisGT/Festplatte verschlüsseln“ wurde von ChrisGT als in Bearbeitung markiert. Um Bearbeitungskonflikte zu vermeiden, kontaktiere ChrisGT bitte, bevor du den Artikel bearbeitest.


In vielen Bereichen ist es wichtig sicherzustellen, dass sensible oder private Daten nicht in falsche Hände geraten. Gerade Laptops wechseln schnell unfreiwillig den Besitzer und oft ist der Verlust der Daten deutlich schlimmer als der Materialverlust. Das Verschlüsseln von Festplatten bietet einen guten Schutz, falls der Rechner im ausgeschalteten Zustand gestohlen worden ist(im laufenden Zustand kann natürlich ganz normal darauf zugegriffen werden und es sind andere Sicherungsmaßnahmen notwendig). Ein weiterer Vorteil ist die Entsorgung von Festplatten. Bei vollverschlüsselten Festplatten, können diese bedenkenlos entsorgt bzw. verkauft werden, ohne sich stundenlang mit dem sicheren Löschen der Daten beschäftigen zu müssen. Zielgruppen sind also nicht nur Staatsfeinde und Terrorverdächtige, sondern auch ganz normale Privatpersonen, denen die eigene Privatsphäre am Herzen liegt oder verschiedene Berufsgruppen, bei denen die Vertraulichkeit der Daten wichtig ist(zB Anwälte)

Welche Möglichkeiten bietet Arch

Unter Linux bietet uns dm-crypt die Möglichkeit im Zusammenhang mit verschiedenen Algorithmen die Festplatten zu verschlüsseln, was leider (im Gegensatz zu Windows mit Truecrypt ab V5 oder PGP Pro) vor der Installation geschehen sollte, da dies nachträglich um einiges schwieriger zu handhaben ist.

Nach dem Start der Installations CD, sollte man ersteinmal das Tastaturlayout auf Deutsch stellen(wichtig wegen der Passwortabfrage, da hier das richtige Installscript genutzt wird und somit beim Systemstart das Layout schon auf Deutsch ist, im Gegensatz zum alten Wiki).


Mit

 km 

ist das relativ schnell gemacht, die quertz Tastatur in Deutsch findet ihr weiter unten(i386/quertz/de-latin1-nodeadkeys.map.gz) und der Konsolefont sollte der Default-Eintrag(default8x16.psfu.gz) sein.

Nun kann man sich anschauen, welche Möglichkeiten Arch bietet, sein System zu verschlüsseln:

 cd /lib/modules/$(uname -r)/kernel/crypto
 ls

Wichtig ist hier vorallem das Modul xts und das jeweilige Modul des Algorithmus den man nutzen möchten. Empfehlenswert sind hier AES(wird meist verwendet), Twofish und Serpent.

Ich werde im folgenden versuchen auf alle 3 einzugehen.

Weiter Informationen zu den verschiedenen Algorithmen liefert Wikipedia:

AES

Twofish

Serpent

Einen Geschwindigkeitsvergleich zwischen Ext3(ohneVerschlüsselung), AES und Twofish findet Ihr unter:

KLICK MICH

oder

KLICK MICH

Laden und partitionieren

Laden der Module

Als erstes müssen die Kernelmodule aktiviert werden:

 modprobe dm-crypt
 modprobe xts
 modprobe aes-i586 oder aes-x86-64 für ein 64bit-Arch-System

Solltet Ihr Twofisch oder Serpent statt aes nehmen, dann einfach

 modprobe twofish 
 oder 
 modprobe serpent


Partitionieren

Spätestens an dieser Stelle sollte man sich Überlegen wie das Partitionslayout aussehen sollte und welchen Verschlüsselungsalgorithmus man wählt, da nach der Installation das Verändern/Verschieben der Partitionen nur sehr umständlich möglich ist und man so einiges an Erfahrung braucht. Je nach Vorliebe, also

 fdisk /dev/sda (Ich gehe davon aus, dass auf die erste Festplatte installiert wird, wenn nicht muss hier angepasst werden)

oder

 cfdisk /dev/sda (die doch etwas komfortablere Möglichkeit)

Meine Partitionslayout sieht folgendermaßen aus:

 /dev/sda1 ==> /boot ca. 100 MB Der einzige Teil der auf der Platte unverschlüsselt bleibt
 /dev/sda2 ==> swap je nach Größe von Eurem Arbeitsspeicher, ich nehme da immer 1 GB, auch wenn ichs gar nicht brauche
 /dev/sda3 ==> / 15 bis 25 GB je nach Eurem Plattenspeicher
 /dev/sda4 ==> /home den ganzen Rest

Crypto-Devices anlegen, formatieren und mounten

Jetzt geht es ans Eingemachte. Da ich wenig Lust habe, für jede Partition, ein eigenes Passwort einzugeben, habe ich bei mir / mit einem PW gesichert, /home wird mit einem Keyfile verschlüsselt und swap wird mit einem Zufallskey bei jedem Systemstart neu angelegt.

/

Als erstes kommt / dran Für die Verschlüsselung mit AES:

 cryptsetup luksFormat /dev/sda3 --cipher aes-xts-plain:sha256 --verify-passphrase --key-size 256

für Twofish

 cryptsetup luksFormat /dev/sda3 --cipher twofish-xts-plain:sha256 --verify-passphrase --key-size 256

für Serpent

 cryptsetup luksFormat /dev/sda3 --cipher serpent-xts-plain:sha256 --verify-passphrase --key-size 256

sha256 kann auch mit sha512 ersetzt werden, was allerdings mit Geschwindigkeitseinbußen einhergehen dürfte. Die Option key-size könnte ebenfalls auf 512 gesetzt werden, allerdings lohnt das nur wenn man ein Passwort mit mehr als 40 Zeichen hat und das wird sich kaum jemand merken können. Mit beiden Werten auf 256 ist man also ganz gut bedient und ziemlich sicher unterwegs. Das Passwort sollte sich gut gemerkt sein, sonst gibt es Probleme und man kann dieses Wiki von vorn abarbeiten, ein Widerherstellen ist nicht möglich, aber das ist ja auch Sinn der Sache. Prüft am Besten auch nocheinmal Euer Passwort als Klartext und gebt es in die Kommandozeile ein. So kann sichergestellt werden, dass auch das richtige Tastaturlayout gewählt wurde und Sonderzeichen auch das sind was man haben wollte

Nun sollte das Crypto-Device geöffnet und gemountet werden. Dazu muss ersteinmal ein Ordner in /mnt erstellt werden, wo wir die Partition einhängen können

 mkdir /mnt/root

und das Crypto-Device geöffnet werden

cryptsetup luksOpen /dev/sda3 root

Nach der Passworteingabe wird das erfolgreiche Öffnen mit "key slot 0 unlocked" bestätigt und es kann das Crypto-Device formatiert werden

 mke2fs -j /dev/mapper/root

und gemounted werden

mount /dev/mapper/root /mnt/root


 mount /dev/mapper/root /mnt/root


/home

/home wird mit einem zufallsgenerierten Keyfile verschlüsselt