it-swarm.com.de

Hängen Sie verschlüsseltes HFS in Ubuntu ein

Ich versuche, eine verschlüsselte HFS + -Partition in Ubuntu zu mounten.

Ein älterer Beitrag beschreibt die Vorgehensweise recht gut, es fehlen jedoch die Informationen zur 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

Aber sobald ich das starte, bekomme ich den folgenden Fehler:

  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?

31
pagid

Sie können eine HFS + -Partition, die in OS X mit der Option encryption=aes von mount verschlüsselt wurde, nicht mounten . Der Grund dafür ist, dass verschlüsselte HFS + -Partitionen und -Volumes ein proprietäres Format verwenden.

Weder Cryptoloop noch Loop-AES , die den verwendeten Entschlüsselungsmethoden zugrunde liegen Verstehe dieses Format unter mount und encryption.

Folgendes habe ich herausgefunden:

Cryptoloop kann als einzelner AES-Block verschlüsselte Partitionen oder Disk-Images bereitstellen (dies wird als Single-Key-Modus 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 Schlüssel (wie oben) und mehreren Schlüsseln verschlüsselte Partitionen oder Disk-Images 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:

Cryptoloops Nachfolger dm-crypt kann auch kein verschlüsseltes HFS + lesen.

Aber bevor alle Hoffnung verflogen ist:

In Bezug auf die Fehlermeldungen, auf die Sie gestoßen sind:

Erster Fehler:

Error: Password must be at least 20 characters.

Überraschenderweise erzwingt mount lange Passwörter nicht nur zur Verschlüsselung, sondern auch zur Entschlüsselung , obwohl Sie möglicherweise nicht die Kontrolle über die zu entschlüsselnde Partition haben. Sie können dieses Ärgernis nur umgehen, indem Sie die Quelle herunterladen, bearbeiten und neu kompilieren. (Andere Distributionen wie SuSE Linux Enterprise Server (SLES) unterliegen dieser 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-Kernelmodul laden:

$ Sudo modprobe cryptoloop

denn obwohl Sie das Paket loop-aes-utils installiert haben, verwenden Sie nicht Loop-AES.

Loop-AES verwendet mehrere modifizierte User-Space-Tools (mount, umount, losetup, swapon und swapoff, bereitgestellt von loop-aes-utils) und ein modifiziertes loop.ko-Kernelmodul. Aktuelle Ubuntu-Versionen kompilieren ein unverändertes Modul loop 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

loop-AES kann daher nicht sofort auf Ubuntu verwendet werden. Sie müssen den Kernel wie hier beschrieben patchen und neu kompilieren: http://loop-aes.sourceforge.net/loop-AES.README . Deshalb benötigt mount immer noch Cryptoloop.

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

57
jaume

Tatsächlich gibt es die Java-Anwendung hfsexplorer , die verschlüsselte .dmg-Dateien öffnen und entschlüsselte .dmg-Images erstellen kann, die in Linux eingehängt werden können.

Ich konnte verschlüsselte .dmg-Dateien in OS X 10.9.5 erstellen und dann das Image von einer virtuellen Maschine unter Ubuntu 14.04.2 LTS untersuchen. Sowohl die AES-128- als auch die AES-256-Verschlüsselung funktionierten für meine Testfälle.

So habe ich das .dmg-Image erstellt:

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

Auf der virtuellen Maschine, auf der Ubuntu ausgeführt wird, konnte ich das Image öffnen:

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

Es fordert zur Eingabe eines Passworts auf und zeigt dann den Inhalt des Bildes an. Es gibt eine Option (Extras -> Disk-Image erstellen), die ein entschlüsseltes Disk-Image erstellt, das dann mit den hfs-Tools von Linux bereitgestellt werden kann.

$ mount vault_decrypted.dmg /mnt/hfs/

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

Dies zeigt, dass die Verschlüsselung von .dmg von hfsexplorer verstanden wird und möglicherweise im Befehl mount implementiert werden kann. Durch das Erstellen eines unverschlüsselten .dmg ist es möglich, das Image letztendlich in Linux zu mounten.

vfdecrypt hat auch bei mir nicht funktioniert.

14
Strongly Typed