Sen monte edemez kullanarak OS X şifreli bir HFS + bölümü mount
'ın seçeneği encryption=aes
. Bunun nedeni, şifreli HFS + bölümlerinin ve birimlerinin özel bir biçim kullanmasıdır .
Ne Cryptoloop, ne de Loop-AES , kullanılan şifre çözme yöntemleridir mount
ve encryption
bu formatı anlamaz.
Ben de bunu öğrendim:
Cryptoloop, tek bir AES bloğu olarak şifrelenmiş bölümleri veya disk görüntülerini bağlayabilir (buna tek tuş modu denir, bkz. 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, tek tuşlu (yukarıdaki gibi) ve çok tuşlu şifreli bölümleri veya disk görüntülerini monte edebilir:
/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| | |
+------------+ | |
| ... | | |
+------------+ +-------------+
Öte yandan, şifreli bir HFS + bölümü:
Cryptoloop'un halefi, dm-crypt
şifreli HFS + 'ı da okuyamıyor.
Ancak bütün umutlar gitmeden önce:
Karşılaştığınız hata mesajlarına gelince:
İlk hata:
Error: Password must be at least 20 characters.
Şaşırtıcı bir şekilde, mount
yalnızca şifreleme için değil, şifre çözme için de uzun şifreler uygular , ancak şifresini çözmek için bölüm üzerinde denetiminiz olmayabilir. Bu sıkıntıyı ancak kaynağı indirip düzenleyerek ve yeniden derleyerek çözebilirsiniz. (SuSE Linux Enterprise Server (SLES) gibi diğer dağıtımlar da bu kısıtlamaya sahip değildir.)
İkinci hata:
ioctl: LOOP_SET_STATUS: Invalid argument, requested cipher or key (256 bits) not supported by kernel
Cryptoloop çekirdek modülünü yüklemeniz gerekir:
$ sudo modprobe cryptoloop
Eğer paket yüklü halde çünkü loop-aes-utils
sen değil Döngü-AES kullanarak.
Döngü-AES çeşitli modifiye Kullanıcı araçları kullanmaktadır ( mount
, umount
, losetup
, swapon
ve swapoff
, tarafından sağlanır loop-aes-utils
) ve bir tadil edilmiş loop.ko
çekirdek modülü. Son Ubuntu sürümleri, değiştirilmemiş bir loop
modülü çekirdeğe derler :
$ 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
Bu yüzden Loop-AES, kutunun dışındaki Ubuntu'da kullanılamaz. Çekirdeği burada açıklandığı şekilde yamalayıp yeniden derlemeniz gerekir: http://loop-aes.sourceforge.net/loop-AES.README . Bu yüzden mount
hala Cryptoloop'a ihtiyaç duyuyor.
Yine benzer bir hata mesajı alırsanız cryptoloop.ko
, şifreleme türünü yükledikten sonra tanınmayabilir. Örneğin, Ubuntu 12.04'üm tanımadı aes-128
ama aes
. SLES yalnızca tanır aes-128
.
aes256
bunun yerine denedinaes-256
mi?