Mounten Sie verschlüsseltes HFS in Ubuntu

32088
pagid

Ich versuche, eine verschlüsselte HFS + -Partition in Ubuntu einzuhängen.

Ein älterer Beitrag beschrieben, wie das geht, aber es fehlen Informationen über die Verwendung verschlüsselter Partitionen.

Was ich bisher gefunden habe, ist:

 # install required packages sudo apt-get install hfsprogs hfsutils hfsplus loop-aes-utils # try to mount it mount -t hfsplus -o encryption=aes-256 /dev/xyz /mount/xyz 

Sobald ich das ausgeführt habe, bekomme ich folgende Fehlermeldung:

 Error: Password must be at least 20 characters. 

Also habe ich versucht, es zweimal einzugeben, aber das führt dazu:

 ioctl: LOOP_SET_STATUS: Invalid argument, requested cipher or key (256 bits) not supported by kernel 

Irgendwelche Vorschläge?

30
Nicht sicher, ob dies einen Unterschied macht, aber haben Sie "aes256" anstelle von "aes-256" versucht? Ansgar Wiechers vor 11 Jahren 0
ja - dasselbe Ergebnis für beide - auch wenn Sie nur "aes" verwenden, erhalten Sie dasselbe Ergebnis pagid vor 11 Jahren 0

2 Antworten auf die Frage

55
jaume

Sie können keine in OS X verschlüsselte HFS + -Partition mithilfe mountder Option " mounten " encryption=aes. Der Grund ist, dass verschlüsselte HFS + -Partitionen und -Datenträger ein proprietäres Format verwenden.

Weder Cryptoloop noch Loop-AES, das sind die zugrunde liegenden Entschlüsselungsmethoden, die von mountund verwendet werden encryption, verstehen dieses Format.

Das habe ich herausgefunden:

Cryptoloop kann Partitionen oder Plattenimages einbinden, die als einzelner AES-Block verschlüsselt sind (dies wird als Einzeltastenmodus bezeichnet, siehe http://www.tldp.org/HOWTO/html_single/Cryptoloop-HOWTO/#cryptoloop-introduction ):

 /dev/sdXX  disk image /dev/loopX +-----------+ +-------------+ | | | | | | | | | | | unencrypted | | AES block | -AES passwd->AES key->decrypt I/O to loop device-> | partition | | | | | | | | | | | | | +-----------+ +-------------+ 

AES-Loop kann mit einem oder mehreren Schlüsseln verschlüsselte Partitionen oder Festplattenimages mounten:

 /dev/sdXX  disk image /dev/loopX +------------+ +-------------+ |AES block #1| | | +------------+ | | |AES block #2| | unencrypted | +------------+ -AES passwd->AES key(s)->decrypt I/O to loop dev-> | partition | |AES block #3| | | +------------+ | | | ... | | | +------------+ +-------------+ 

Auf der anderen Seite eine verschlüsselte HFS + -Partition:

Der Nachfolger von Cryptoloop dm-cryptkann auch kein verschlüsseltes HFS + lesen.

Aber bevor alle Hoffnung verschwunden ist:

Wie für die Fehlermeldungen, auf die Sie gestoßen sind:

Erster Fehler:

Error: Password must be at least 20 characters. 

Überraschenderweise mounterzwingt lange Kennwörter nicht nur für die Verschlüsselung, sondern auch für die Entschlüsselung, obwohl Sie möglicherweise nicht die zu entschlüsselnde Partition steuern können. Sie können dieses Problem nur umgehen, indem Sie die Quelle herunterladen, bearbeiten und neu kompilieren. (Andere Distributionen wie SuSE Linux Enterprise Server (SLES) haben diese Einschränkung nicht.)

Zweiter Fehler:

ioctl: LOOP_SET_STATUS: Invalid argument, requested cipher or key (256 bits) not supported by kernel 

Sie müssen das Cryptoloop-Kernel-Modul laden:

$ sudo modprobe cryptoloop 

Obwohl Sie das Paket installiert haben, verwenden loop-aes-utilsSie kein Loop-AES.

Loop-AES verwendet mehrere modifizierte Benutzerraum Werkzeuge ( mount, umount, losetup, swaponund swapoff, sofern durch loop-aes-utils) und ein modifiziertes loop.koKernelmodul. Aktuelle Ubuntu-Versionen kompilieren ein unverändertes loopModul in den Kernel:

 $ cd /usr/src/linux-source-3.2.0/linux-source-3.2.0/drivers/block/ $ diff -q /tmp/loop.c-3.x.patched loop.c Files /tmp/loop.c-3.x.patched and loop.c differ 

Daher kann Loop-AES nicht für Ubuntu verwendet werden. Sie müssen den Kernel wie folgt patchen und neu kompilieren: http://loop-aes.sourceforge.net/loop-AES.README . Deshalb mountbraucht es noch Cryptoloop.

Wenn Sie nach dem Laden noch eine ähnliche Fehlermeldung erhalten, wird cryptoloop.koder Verschlüsselungstyp möglicherweise nicht erkannt. Zum Beispiel hat mein Ubuntu 12.04 nicht erkannt aes-128, aber aes. SLES erkennt nur aes-128.

+1 für die ausführlichen Informationen und Details in der Antwort. Daemon of Chaos vor 11 Jahren 1
Dies ist eine einfach phänomenale Antwort. Außergewöhnlich informativ, detailliert und anscheinend äußerst gut recherchiert. Vielen Dank für das Teilen von Jaume. Vielen Dank. chmac vor 11 Jahren 4
Ich wollte nur anmerken, dass ich dies gerade an OSX 10.10.3 mit Erfolg versucht habe. Ich fand auch heraus, dass der Entschlüsselungsvorgang des Laufwerks keine Fortschritte machen würde, wenn ich viel mit dem Computer zu tun hatte. Mit dem Laptop an der Steckdose und dem angeschlossenen Laufwerk ließ ich den Deckel geschlossen (Vollschlaf) und beendete die Entschlüsselung, während er in PowerNap schlief. voxobscuro vor 9 Jahren 3
14
Strongly Typed

Tatsächlich gibt es die Java-Anwendung hfsexplorer, die verschlüsselte .dmgDateien öffnen und entschlüsselte .dmgImages erstellen kann, die in Linux eingebunden werden können.

Ich konnte .dmgin OS X 10.9.5 verschlüsselte Dateien erstellen und dann das Image von einer virtuellen Maschine aus untersuchen, auf der Ubuntu 14.04.2 LTS ausgeführt wird. Sowohl die AES-128- als auch die AES-256-Verschlüsselung funktionierte für meine Testfälle.

So habe ich das .dmgBild erstellt:

$ hdiutil create -size 10m -layout NONE -fs HFS+ -encryption AES-256 -volname "Vault" vault.dmg 

Von der virtuellen Maschine mit Ubuntu konnte ich das Image öffnen:

$ ./hfsexplorer-0/bin/hfsexplorer.sh /tmp/vault.dmg 

Sie werden nach einem Kennwort gefragt und zeigen dann den Inhalt des Bildes an. Es gibt eine Option (Tools -> Disk-Image erstellen), die ein entschlüsseltes Disk-Image erstellt, das dann mit den hfs-Tools von Linux gemountet werden kann.

$ mount vault_decrypted.dmg /mnt/hfs/ 

Sogar HFS + Journaled Dateisysteme funktionierten. Die einzige Einschränkung ist, dass die Schreibunterstützung für HFS + J-Dateisysteme in Linux standardmäßig deaktiviert ist.

Dies zeigt, dass die Verschlüsselung unter dem Befehl .dmgverstanden wird hfsexplorerund möglicherweise implementiert werden kann mount. Durch das Erstellen eines unverschlüsselten ist .dmges möglich, das Image in Linux zu mounten.

vfdecrypt hat auch nicht für mich gearbeitet.

Interessant, vielen Dank für Ihre Antwort. Jeff Burdges vor 9 Jahren 0