우분투에 암호화된 HFS 마운트

우분투에 암호화된 HFS 마운트

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.

그래서 두 번이나 입력하려고 했으나 결과는 다음과 같습니다.

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

어떤 제안이 있으십니까?

답변1

마운트할 수 없습니다mount의 옵션을 사용하여 OS X에서 암호화된 HFS+ 파티션 encryption=aes. 그 이유는 암호화된 HFS+ 파티션과 볼륨이소유권체재.

어느 것도 아니다크립토루프...도 아니다루프-AESmount및 에서 사용하는 기본 암호 해독 방법인 는 encryption해당 형식을 이해합니다.

이것이 내가 알아낸 것입니다:

Cryptoloop는 단일 AES 블록으로 암호화된 파티션이나 디스크 이미지를 마운트할 수 있습니다(이를 단일 키 모드라고 합니다.http://www.tldp.org/HOWTO/html_single/Cryptoloop-HOWTO/#cryptoloop-소개):

  /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+도 읽을 수 없습니다.

그러나 모든 희망이 사라지기 전에:

발생한 오류 메시지는 다음과 같습니다.

첫 번째 오류:

Error: Password must be at least 20 characters.

놀랍게도 mount암호화뿐만 아니라 암호화에도 긴 비밀번호를 적용합니다.해독, 그러나 해독할 파티션을 제어할 수 없을 수도 있습니다. 소스를 다운로드하고 편집한 후 다시 컴파일해야만 이 문제를 해결할 수 있습니다. (SLES(SuSE Linux Enterprise Server)와 같은 다른 배포판에는 이러한 제한이 없습니다.

두 번째 오류:

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

Cryptoloop 커널 모듈을 로드해야 합니다.

$ sudo modprobe cryptoloop

loop-aes-utils패키지 를 설치했지만아니다Loop-AES를 사용합니다.

Loop-AES는 여러 수정된 사용자 공간 도구( mount, umount, losetupswapon에서 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

따라서 Loop-AES는 기본적으로 Ubuntu에서 사용할 수 없습니다. 여기에 설명된 대로 커널을 패치하고 다시 컴파일해야 합니다.http://loop-aes.sourceforge.net/loop-AES.README. 그렇기 때문에 mount여전히 Cryptoloop가 필요합니다.

로드한 후에도 비슷한 오류 메시지가 계속 나타나면 cryptoloop.ko암호화 유형이 인식되지 않을 수 있습니다. 예를 들어 내 Ubuntu 12.04는 을 인식하지 aes-128못했지만 aes. SLES는 aes-128.

답변2

실제로 Java 애플리케이션이 있습니다.hfsexplorer.dmg이는 암호화된 파일을 열고 .dmgLinux에 마운트할 수 있는 해독된 이미지를 생성할 수 있습니다.

.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+ 저널 파일 시스템도 작동했습니다. 유일한 제한 사항은 HFS+J 파일 시스템에 대한 쓰기 지원이 Linux에서 기본적으로 비활성화되어 있다는 것입니다.

이는 암호화가 명령에 .dmg의해 이해되고 hfsexplorer구현될 수 있음을 보여줍니다 mount. 암호화되지 않은 이미지를 생성하면 .dmg궁극적으로 Linux에 이미지를 마운트할 수 있습니다.

vfdecrypt나에게도 효과가 없었습니다.

관련 정보