pag*_*gid 38 encryption mount hfs ubuntu
我尝试在 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
Run Code Online (Sandbox Code Playgroud)
但是一旦我运行它,我就会收到以下错误:
Error: Password must be at least 20 characters.
Run Code Online (Sandbox Code Playgroud)
所以我尝试输入两次,但结果是:
ioctl: LOOP_SET_STATUS: Invalid argument, requested cipher or key (256 bits) not supported by kernel
Run Code Online (Sandbox Code Playgroud)
有什么建议?
jau*_*ume 61
您不能使用mount's option挂载在 OS X 中加密的 HFS+ 分区encryption=aes。原因是加密的 HFS+ 分区和卷使用专有格式。
既不Cryptoloop也不环路-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 |
| | | |
| | | |
| | | |
+-----------+ +-------------+
Run Code Online (Sandbox Code Playgroud)
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| | |
+------------+ | |
| ... | | |
+------------+ +-------------+
Run Code Online (Sandbox Code Playgroud)
另一方面,加密的 HFS+ 分区:
xxd)man diskutil或https://developer.apple.com/legacy/library/documentation/Darwin/Reference/ManPages/man8/diskutil.8.html )使用AES-XTS:
$ diskutil coreStorage list
(...)
+-> Logical Volume Family D1C4665F-EAC8-4DAB-B392-634842A59559
----------------------------------------------------------
Encryption Status: Unlocked
Encryption Type: AES-XTS
(...)
Run Code Online (Sandbox Code Playgroud)
Cryptoloop 和 Loop-AES 似乎都不支持。
Cryptoloop 的继任者dm-crypt也无法读取加密的 HFS+。
但在所有希望破灭之前:
一组加密专家创建了vfdecrypt(包含在 Ubuntu 包中dmg2img,tar.gz 在这里:http :
//code.google.com/p/iphone-elite/downloads/list),它解密加密的 FileVault 磁盘映像(它不会t 使用设备文件)。
这个工具看起来很有前途,但不适用于我Disk Utility在 OS X 10.8.2“Mountain Lion”上创建的几个加密磁盘映像中的任何一个。其他人 ( http://bre.klaki.net/blog/2011/08/17/ ) 似乎在使用旧的加密图像方面取得了成功。
其他专家致力于项目libfvde
( https://code.google.com/p/libfvde ),其中包括fvdemount用于读取 FileVault 加密系统卷的命令
。这里的限制因素是“系统体积”。它不支持可移动媒体上的分区。如果您好奇,这里有说明: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.
Run Code Online (Sandbox Code Playgroud)
令人惊讶的是,虽然您可能无法控制要解密的分区,但它mount不仅为加密还为解密强制执行长密码。您只能通过下载和编辑源代码并重新编译来解决这个麻烦。(其他发行版,例如 SuSE Linux Enterprise Server (SLES),没有此限制。)
第二个错误:
ioctl: LOOP_SET_STATUS: Invalid argument, requested cipher or key (256 bits) not supported by kernel
Run Code Online (Sandbox Code Playgroud)
您需要加载 Cryptoloop 内核模块:
$ sudo modprobe cryptoloop
Run Code Online (Sandbox Code Playgroud)
因为虽然你安装的软件包loop-aes-utils你没有使用循环-AES。
环-AES使用几个修改用户空间工具(mount,umount,losetup,swapon和swapoff,由提供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
Run Code Online (Sandbox Code Playgroud)
所以 Loop-AES 不能在 Ubuntu 上开箱即用。您需要按照此处的说明修补和重新编译内核:http : //loop-aes.sourceforge.net/loop-AES.README。这就是为什么mount仍然需要 Cryptoloop。
如果加载后仍然收到类似的错误消息,cryptoloop.ko则可能无法识别加密类型。例如,我的 Ubuntu 12.04 无法识别aes-128,但是aes. SLES 只识别aes-128.
Str*_*ped 19
实际上,有一个 Java 应用程序hfsexplorer能够打开加密.dmg文件并创建.dmg可以在 Linux 中安装的解密图像。
我能够.dmg在 OS 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
Run Code Online (Sandbox Code Playgroud)
从运行 Ubuntu 的虚拟机我能够打开图像:
$ ./hfsexplorer-0/bin/hfsexplorer.sh /tmp/vault.dmg
Run Code Online (Sandbox Code Playgroud)
它会提示输入密码,然后显示图像的内容。有一个选项(工具 -> 创建磁盘映像)可以创建一个解密的磁盘映像,然后可以使用来自 linux 的 hfs 工具进行挂载。
$ mount vault_decrypted.dmg /mnt/hfs/
Run Code Online (Sandbox Code Playgroud)
甚至 HFS+ 日志文件系统也能工作。唯一的限制是在 Linux 中默认禁用对 HFS+J 文件系统的写入支持。
这表明 的加密.dmg被命令理解hfsexplorer并可能在mount命令中实现。通过创建未加密.dmg的映像,最终可以在 Linux 中安装映像。
vfdecrypt 也不适合我。
| 归档时间: |
|
| 查看次数: |
43402 次 |
| 最近记录: |