Ubuntu में माउंट एन्क्रिप्टेड HFS


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.

इसलिए मैंने इसे दो बार टाइप करने की कोशिश की, लेकिन इसका परिणाम यह हुआ:

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

कोई सुझाव?


यकीन नहीं होता कि इससे फर्क पड़ता है, लेकिन क्या आपने aes256इसके बजाय कोशिश की है aes-256?
अंसार विएचेर्स

हां - दोनों के लिए एक ही परिणाम - यहां तक ​​कि "एईएस" का उपयोग करने से भी एक ही परिणाम मिलता है
पगिड

जवाबों:


59

आप OS X के विकल्प का उपयोग करके एन्क्रिप्ट किए गए HFS + विभाजन को माउंट नहीं कर सकते । कारण यह है कि एन्क्रिप्टेड HFS + विभाजन और वॉल्यूम एक मालिकाना प्रारूप का उपयोग करते हैं ।mountencryption=aes

न तो क्रिप्टोलोप और न ही लूप-एईएस , जो अंतर्निहित डिक्रिप्शन विधियों द्वारा उपयोग किए जाते हैं mountऔर encryption, उस प्रारूप को समझते हैं।

यह वही है जो मुझे पता चला है:

क्रिप्टोलोप एक एकल एईएस ब्लॉक के रूप में एन्क्रिप्ट किए गए विभाजन या डिस्क छवियों को माउंट कर सकता है (इसे एकल-कुंजी मोड कहा जाता है, http://www.tldp.org/HOWTO/html_single/Cryptoloop-HOWTO/#stryptoloop-introduction ) देखें :

  /dev/sdXX                                                        
  disk image                                                       /dev/loopX
+-----------+                                                    +-------------+
|           |                                                    |             |
|           |                                                    |             |
|           |                                                    | unencrypted |
| AES block | -AES passwd->AES key->decrypt I/O to loop device-> |  partition  |
|           |                                                    |             |
|           |                                                    |             |
|           |                                                    |             |
+-----------+                                                    +-------------+

एईएस-लूप एकल-कुंजी (जैसे ऊपर) और बहु-कुंजी एन्क्रिप्टेड विभाजन या डिस्क छवियों को माउंट कर सकते हैं:

  /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(उबंटू पैकेज में शामिल dmg2img, tar.gz यहाँ है: http://code.google.com/p/iphone-elite/downloads/list ), जो एन्क्रिप्टेड फ़ाइलवॉल्ट डिस्क छवियों को डिक्रिप्ट करता है (यह जीता) टी डिवाइस फ़ाइलों के साथ काम)।

    यह उपकरण बहुत ही आशाजनक लगता है, लेकिन मैंने Disk UtilityOS X 10.8.2 "माउंटेन लायन" पर बनाई गई कई एन्क्रिप्टेड डिस्क छवियों के साथ काम नहीं किया । अन्य लोगों ( http://bre.klaki.net/blog/2011/08/17/ ) को पुरानी एन्क्रिप्टेड छवियों के साथ सफलता मिली है।

  • अन्य विशेषज्ञ प्रोजेक्ट पर काम करते हैं libfvde ( https://code.google.com/p/libfvde ), जिसमें fvdemountफ़ाइल वॉल्ट एन्क्रिप्टेड सिस्टम वॉल्यूम को पढ़ने के लिए कमांड शामिल है । यहाँ सीमित कारक "सिस्टम वॉल्यूम" है। यह हटाने योग्य मीडिया पर विभाजन का समर्थन नहीं करता है। यदि आप उत्सुक हैं, तो वर्णन यहाँ है: https://code.google.com/p/libfvde/wiki/Mounting#Mout_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), यह प्रतिबंध नहीं है।)

दूसरी त्रुटि:

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

आपको Cryptoloop कर्नेल मॉड्यूल को लोड करने की आवश्यकता है:

$ sudo modprobe cryptoloop

यद्यपि आपने पैकेज स्थापित loop-aes-utilsआप नहीं कर रहे हैं लूप-एईएस का उपयोग करते हुए।

लूप-एईएस कई संशोधित उपयोगकर्ता अंतरिक्ष उपकरणों का उपयोग करता ( mount, umount, losetup, swaponऔर swapoff, द्वारा प्रदान की loop-aes-utils) एक संशोधित और loop.koकर्नेल मॉड्यूल। हाल के उबंटू संस्करण 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

इसलिए लूप-एईएस का उपयोग बॉक्स से बाहर उबंटू पर नहीं किया जा सकता है। : आप पैच और कर्नेल यहां बताए पुन: संयोजित करने की जरूरत है http://loop-aes.sourceforge.net/loop-AES.README । इसलिए mountअभी भी Cryptoloop की जरूरत है।

यदि आपको अभी भी एक समान त्रुटि संदेश मिलता है, तो लोड करने cryptoloop.koके बाद एन्क्रिप्शन प्रकार पहचाना नहीं जा सकता है। उदाहरण के लिए, मेरा Ubuntu 12.04 पहचान नहीं था aes-128, लेकिन aes। SLES केवल पहचानता है aes-128


1
उत्तर में दी गई गहन जानकारी और विवरण के लिए +1।
अराजकता के डेमन

4
यह एक बस अभूतपूर्व जवाब है। असाधारण रूप से जानकारीपूर्ण, विस्तृत और जाहिर तौर पर बहुत अच्छी तरह से शोध किया गया। धन्यवाद साझा करने के लिए धन्यवाद, बहुत बहुत धन्यवाद।
13

3
बस यह नोट करना चाहता था कि मैंने बस OSX 10.10.3 पर सफलता के साथ यह कोशिश की है। मैंने यह भी पाया कि जब मैं कंप्यूटर के साथ बहुत कुछ कर रहा था तो ड्राइव को डिक्रिप्ट करने की प्रक्रिया में कोई प्रगति नहीं होगी। हालाँकि, दीवार की शक्ति पर लैपटॉप और प्लग में ड्राइव के साथ, मैंने ढक्कन को बंद कर दिया (पूरी नींद) और इसे पावरनैप में सोते समय डिक्रिप्शन समाप्त हो गया।
voxobscuro

14

दरअसल, जावा एप्लीकेशन है 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

उबंटू चलाने वाली वर्चुअल मशीन से मैं छवि को खोलने में सक्षम था:

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

यह एक पासवर्ड के लिए संकेत देता है और फिर छवि की सामग्री दिखाता है। एक विकल्प है (उपकरण -> डिस्क छवि बनाएं) जो एक डिक्रिप्टेड डिस्क छवि बनाता है जिसे तब लिनक्स के साथ hfs उपकरण के साथ माउंट किया जा सकता है।

$ mount vault_decrypted.dmg /mnt/hfs/

यहां तक ​​कि HFS + जर्नल फ़ाइल सिस्टम ने काम किया। एकमात्र सीमा यह है कि लिनक्स में डिफ़ॉल्ट रूप से HFS + J फाइल सिस्टम का लेखन समर्थन अक्षम है।

यह दर्शाता है कि एन्क्रिप्शन .dmgको समझा जाता है hfsexplorerऔर संभवतः इसे mountकमांड में लागू किया जा सकता है । एक अनएन्क्रिप्टेड बनाने के साथ .dmgअंततः लिनक्स में छवि को माउंट करना संभव है।

vfdecrypt मेरे लिए भी काम नहीं किया।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.