暗号化されたHFSをUbuntuにマウントする


32

Ubuntuで暗号化されたHFS +パーティションをマウントしようとしました。

古いポストは、それを行うにはかなり良い方法を説明しますが、暗号化されたパーティションを使用する方法の情報が欠けています。

私がこれまでに見つけたのは:

  # 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

しかし、これを実行すると、次のエラーが表示されます。

  Error: Password must be at least 20 characters.

だから私は2回それを入力しようとしましたが、これはこれになります:

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

助言がありますか?


これが違いを生むかどうかはわかりませんが、aes256代わりに試しましたaes-256か?
アンスガーウィーチャーズ

はい-両方で同じ結果
-pagid

回答:


59

のオプションを使用してOS Xで暗号化されたHFS +パーティションをマウントすることはできません。その理由は、暗号化されたHFS +パーティションとボリュームが独自の形式を使用しているためです。mountencryption=aes

CryptoloopLoop-AESも、どちらもとで使用される基本的な復号化メソッドでmountありencryption、その形式を理解しません。

これは私が見つけたものです:

Cryptoloopは、単一のAESブロックとして暗号化されたパーティションまたはディスクイメージをマウントできます(これはシングルキーモードと呼ばれます。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は、シングルキー(上記のような)およびマルチキー暗号化パーティションまたはディスクイメージをマウントできます。

  /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|                                                    |             |
+------------+                                                    |             |
|    ...     |                                                    |             |
+------------+                                                    +-------------+

一方、暗号化されたHFS +パーティション:

Cryptoloopの後継であるdm-crypt暗号化されたHFS +も読み取ることができません。

しかし、すべての希望がなくなる前に:

  • 暗号化の専門家グループが作成しましたvfdecrypt(Ubuntuパッケージdmg2imgに含まれています。tar.gzはこちら:http : //code.google.com/p/iphone-elite/downloads/list)。暗号化されたFileVaultディスクイメージを解読します(デバイスファイルを操作します)。

    このツールは非常に有望に見えますがDisk Utility、OS X 10.8.2 "Mountain Lion"で作成したいくつかの暗号化されたディスクイメージでは動作しませんでした。他の人々(http://bre.klaki.net/blog/2011/08/17/)は、古い暗号化画像で成功したようです。

  • 他の専門家がプロジェクトlibfvdehttps://code.google.com/p/libfvde)に取り組んでおり、fvdemountFileVault暗号化システムボリュームを読み取るためのコマンドが含ま れています。ここでの制限要因は「システムボリューム」です。リムーバブルメディア上のパーティションはサポートしていません。あなたは好奇心旺盛であれば、説明はここにある: https://code.google.com/p/libfvde/wiki/Mounting#Mouting_the_system_volume。ソースコードはhttps://code.google.com/p/libfvde/downloads/listからダウンロードでき ます

あなたが遭遇したエラーメッセージに関して:

最初のエラー:

Error: Password must be at least 20 characters.

驚くべきことに、mount暗号化だけでなく復号化にも長いパスワードを適用しますが、復号化するパーティションを制御できない場合があります。この迷惑を回避するには、ソースをダウンロードして編集し、再コンパイルする必要があります。(SuSE Linux Enterprise Server(SLES)などの他のディストリビューションには、この制限はありません。)

2番目のエラー:

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

Cryptoloopカーネルモジュールをロードする必要があります。

$ sudo modprobe cryptoloop

あなたはパッケージインストールがためにloop-aes-utilsあなたがされていないループ-AESを使用します。

ループ-AESは、(いくつかの修飾されたユーザ空間ツールを使用してmountumountlosetupswaponswapoff、によって提供されるloop-aes-utils)および変性loop.koカーネルモジュール。最近のUbuntuバージョンは、変更loopされていないモジュールをカーネルにコンパイルします。

    $ 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

そのため、ループAESはそのままではUbuntuで使用できません。http://loop-aes.sourceforge.net/loop-AES.READMEで説明されているように、カーネルにパッチを適用して再コンパイルする必要があります。だからこそmountCryptoloopが必要です。

cryptoloop.ko暗号化タイプをロードした後も同様のエラーメッセージが表示される場合は、認識されない場合があります。例えば、私のUbuntu 12.04は認識しませんでしたaes-128、しかしaes。SLESはのみを認識しaes-128ます。


1
回答で提供される詳細な情報と詳細については+1。
デーモンのカオス

4
これは単に驚異的な答えです。非常に有益で、詳細で、明らかに非常によく研究されています。ジャウメを共有してくれてありがとう、どうもありがとう。
chmac

3
OSX 10.10.3でこれを試したところ、成功したことに注意してください。また、コンピューターで多くのことを行っていたときに、ドライブの暗号化を解除するプロセスが進展しないこともわかりました。しかし、ラップトップを壁の電源に接続し、ドライブを接続した状態で、蓋を閉じたまま(フルスリープ)、PowerNapで寝ている間に復号化を終了しました。
voxobscuro

14

実際、暗号化されたファイルを開き、Linuxにマウントできる復号化されたイメージを作成できるJavaアプリケーションhfsexplorerがあり.dmgます.dmg

.dmgOS X 10.9.5で暗号化されたファイルを作成し、Ubuntu 14.04.2 LTSを実行している仮想マシンからイメージを探索することができました。私のテストケースでは、AES-128とAES-256の両方の暗号化が機能しました。

これは私が.dmgイメージを作成した方法です:

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

Ubuntuを実行している仮想マシンから、イメージを開くことができました。

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

パスワードの入力を求められ、画像の内容が表示されます。Linuxのhfsツールを使用してマウントできる復号化されたディスクイメージを作成するオプション([ツール]-> [ディスクイメージの作成])があります。

$ mount vault_decrypted.dmg /mnt/hfs/

HFS + Journaledファイルシステムでも機能しました。唯一の制限は、LinuxでHFS + Jファイルシステムへの書き込みサポートがデフォルトで無効になっていることです。

これは、の暗号化がコマンドによって.dmg理解されhfsexplorer、おそらく実装できることを示していますmount。暗号化され.dmgていないファイルを作成すると、最終的にLinuxにイメージをマウントできます。

vfdecrypt 私にとってもうまくいきませんでした。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.