Verschlüsseltes Verzeichnis

Aus wiki.archlinux.de
Version vom 1. November 2007, 10:49 Uhr von GerBra (Diskussion | Beiträge) (Die Seite wurde neu angelegt: Wie kann ich z.B. private Daten so ablegen, daß diese von niemandem - auch nicht von root - gelesen werden können? Oftmals hat man ja die Notwendigkeit, etwas verschl...)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Wie kann ich z.B. private Daten so ablegen, daß diese von niemandem - auch nicht von root - gelesen werden können? Oftmals hat man ja die Notwendigkeit, etwas verschlüsselt ablegen zu müssen. Eine einzelne Datei läßt sich ja noch mit gpg verschlüsseln. Was aber, wenn man Verzeichnisse mit Unterverzeichnissen verschlüsseln will? Und darauf am besten auch noch wie auf eine "normale" Partition zugreifen will, also Mounten in den Verzeichnissbaum? Oder diese verschlüsselte Struktur auch über das Netzwerk benutzen will?

Die Lösung heißt hier: Luks Encryption. Mit diesem im Kernel enthalteten Verschlüsselungs-Standard können Partitionen verschlüsselt werden, zum Entschlüsseln und Benutzen ist ein Paßwort ("Passphrase") nötig. Luks und das Tool cryptsetup werden vornehmlich zum Verschlüsseln ganzer Partitionen, Festplatten oder des gesamten Systems verwendet (z.B. bei Laptops, die leicht gestohlen oder verloren gehen können). Dazu gibt es auch unter [1] einen Beitrag.

Brauche ich nun also eine freie Partition, damit ich das nutzen kann? Nein. Dieser Artikel zeigt, wie man am Ende eine beliebig große Datei wie eine Festplatten-Partition nutzen kann und diese dann formatieren, verschlüsseln und wie eine reale Partition ins Dateisystem einhängen kann.

Zwei Beispiele werde ich hier vorstellen: Das erste ist gedacht für die ausschließlich lokale Verwendung auf einem Rechner. Das zweite Beispiel stellt die Funktionalität dann auch übers Netzwerk vor.

1. Lokal Als erstes erstellen wir uns eine Datei, die später unsere "Partition" ist.

 dd if=/dev/zero of=/tmp/mycrypt bs=1M count=100

Das erstellt uns eine 100MB große Datei /tmp/mycrypt, die momentan komplett aus Nullen besteht.

Jetzt müssen wir diese Einzeldatei dem Kernel als eine