Sie können eine mit OS X verschlüsselte HFS + -Partition nicht mit mount
der Option von bereitstellen encryption=aes
. Der Grund dafür ist, dass verschlüsselte HFS + -Partitionen und -Volumes ein proprietäres Format verwenden.
Weder Cryptoloop noch Loop-AES , die zugrunde liegenden Entschlüsselungsmethoden von mount
und encryption
, verstehen dieses Format.
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:
Wie für die Fehlermeldungen, die Sie angetroffen haben:
Erster Fehler:
Error: Password must be at least 20 characters.
Überraschenderweise werden mount
lange Kennwörter nicht nur für die Verschlüsselung, sondern auch für die Entschlüsselung erzwungen , 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 Paket installieren loop-aes-utils
Sie nicht sind mit loop-AES.
Loop-AES verwendet mehrere modifizierte Benutzerraum Werkzeuge ( mount
, umount
, losetup
, swapon
und swapoff
, sofern durch loop-aes-utils
) und einem modifizierten loop.ko
Kernel - Modul. Aktuelle Ubuntu-Versionen kompilieren ein unverändertes loop
Modul 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 . Deswegen mount
braucht Cryptoloop noch.
Wenn nach dem Laden immer noch eine ähnliche Fehlermeldung cryptoloop.ko
angezeigt wird, wird der Verschlüsselungstyp möglicherweise nicht erkannt. Zum Beispiel hat mein Ubuntu 12.04 nicht erkannt aes-128
, aber aes
. SLES erkennt nur aes-128
.
aes256
stattdessen versuchtaes-256
?