Ubuntu'da şifreli HFS'yi bağla


32

Ubuntu'da şifreli bir HFS + bölümü oluşturmaya çalışıyorum.

Bir daha eski yayın nasıl yapılacağını oldukça iyi tarif, ama nasıl şifrelenmiş bölüm kullanmak bilgiyi yoksundur.

Şimdiye kadar bulduğum şey:

  # 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

Ancak bunu çalıştırdıktan sonra aşağıdaki hatayı alıyorum:

  Error: Password must be at least 20 characters.

Bu yüzden iki kez yazmaya çalıştım, ama bu sonuçta:

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

Baska öneri?


Bunun bir fark yaratıp yaratmadığından emin değilsin, ama aes256bunun yerine denedin aes-256mi?
Ansgar Wiechers

evet - her ikisi için de aynı sonuç - sadece "aes" kullanmak bile aynı sonucu verir
pagid 20.01.2012

Yanıtlar:


59

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 mountve encryptionbu 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, mountyalnı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-utilssen değil Döngü-AES kullanarak.

Döngü-AES çeşitli modifiye Kullanıcı araçları kullanmaktadır ( mount, umount, losetup, swaponve 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 loopmodü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 mounthala 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-128ama aes. SLES yalnızca tanır aes-128.


1
Cevapta verilen ayrıntılı bilgi ve detay için +1.
Kaos Daemon'u

4
Bu sadece olağanüstü bir cevaptır. İstisnai olarak bilgilendirici, ayrıntılı ve görünüşe göre son derece iyi araştırılmış. Jaume'u paylaştığın için teşekkürler, çok teşekkürler.
chmac

3
Sadece bunu OSX 10.10.3'te başarılı bir şekilde denediğimi not etmek istedim. Ayrıca, bilgisayarın şifresini çözme işleminin bilgisayarla fazla bir şey yapmadığımda ilerleme kaydetmediğini de tespit ettim. Ancak, dizüstü bilgisayar duvardaki güçle ve sürücü takılıyken, kapağı kapalı (tam uyku) bıraktım ve PowerNap'te uyurken şifresini çözdüm.
voxobscuro

14

Aslında, şifreli dosyaları açabilen ve Linux'a monte edilebilecek şifreli görüntüler oluşturan Java uygulaması hfsexplorer vardır ..dmg.dmg

.dmgOS X 10.9.5'te şifreli dosyalar oluşturmayı başardım ve ardından görüntüyü Ubuntu 14.04.2 LTS çalıştıran sanal bir makineden keşfettim. Test durumları için hem AES-128 hem de AES-256 şifreleme çalıştı.

.dmgGörüntüyü böyle yarattım :

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

Ubuntu çalıştıran sanal makineden görüntüyü açmayı başardım:

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

Bir şifre ister ve ardından görüntünün içeriğini gösterir. Daha sonra linux'tan hfs araçlarıyla birleştirilebilecek şifrelenmiş bir disk görüntüsü oluşturan bir seçenek (Araçlar -> disk görüntüsü oluştur) vardır.

$ mount vault_decrypted.dmg /mnt/hfs/

HFS + Günlüklü dosya sistemleri bile çalıştı. Tek sınırlama, HFS + J dosya sistemlerine yazma desteğinin Linux'ta varsayılan olarak devre dışı bırakılmasıdır.

Bu, şifrelemenin komut .dmgtarafından anlaşıldığını hfsexplorerve muhtemelen uygulanabileceğini göstermektedir mount. Şifrelenmemiş bir oluşturma ile .dmggörüntüyü Linux'ta sonuçta bağlamak mümkündür.

vfdecrypt benim için de işe yaramadı.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.