FDE के लिए द्वि-कारक का उपयोग करने के लिए मैं GnuPG के साथ dm-crypt (LUKS) का उपयोग कैसे करूँ?


9

उबंटू के साथ पूर्ण डिस्क एन्क्रिप्शन (होमेडिर एन्क्रिप्शन के विपरीत) का उपयोग करते समय, एलयूकेएस के साथ डीएम-क्रिप्ट का उपयोग वॉल्यूम को एन्क्रिप्ट करने के लिए किया जाता है। इंस्टॉलर में (कम से कम 12.04 वैकल्पिक पर) आप पासफ़्रेज़ या कीफ़ाइल का उपयोग करके इसे सेट करने के बीच चुन सकते हैं । मैं दो के संयोजन का उपयोग करना चाहता हूं; या तो नहीं, लेकिन दोनों की आवश्यकता है।

क्यों? क्योंकि यह सुरक्षा (दो-कारक) को बढ़ाता है; आप की आवश्यकता होगी है कुछ और आप की जरूरत है पता है कुछ इसे अनलॉक करने के। फिर मैं एक छोटे हटाने योग्य भंडारण उपकरण (USB फ्लैश ड्राइव) पर कीफाइल डालना चाहता हूं और केवल बूट समय के दौरान इसे प्लग करता हूं। नतीजा यह होना चाहिए कि रूट विभाजन को अनलॉक करने के लिए सही फ्लैश ड्राइव में डालना और सही पासफ़्रेज़ प्रदान करना आवश्यक है ।

तो, दूसरे शब्दों में कहें, मैं पासफ़्रेज़ के लिए बूट के दौरान पूछा जाना चाहता हूं, जिसमें बाहरी ड्राइव पर कीफाइल एन्क्रिप्ट किया गया है।

मुझे एक /usr/share/initramfs-tools/hooks/cryptgnupgसहायक स्क्रिप्ट दिखाई देती है जो इसे पूरा करने में मदद कर सकती है, लेकिन मुझे इसका कोई सुराग नहीं है कि इसका उपयोग कैसे किया जाए।

बस भ्रम से बचने के लिए: मैं इसे अनलॉक करने के लिए वॉल्यूम में एक अतिरिक्त कुंजी जोड़ने का तरीका नहीं पूछ रहा हूं ।


मुझे स्वयं द्वारा ... डॉक्स पढ़कर उत्तर का एक भाग मिला है । इस का उपयोग करने के तरीके पर पढ़ें /usr/share/doc/cryptsetup/README.gnupg। मैं इसे बदलने के लिए कुछ समय खोजने की कोशिश करूंगा ताकि यह बाहरी मीडिया से कीफाइल का उपयोग कर सके।
gertvdijk

जवाबों:


5

मैं एक ही काम करता हूं, हालांकि मुझे डर है कि मेरा जवाब संतोषजनक नहीं होगा, क्योंकि विभिन्न कारणों से मैं पूरी तरह से कस्टम इनट्रामर्फ के साथ गया था ।

इसके बजाय GnuPG, जो एक अतिरिक्त बाइनरी है जिसे इनट्रामाफ़्स में शामिल किया जाना है (और इसके मामले में GnuPG-2, बल्कि एक जटिल एक), मैंने बस इसका उपयोग किया है जो पहले से ही वहां है। और यह स्पष्ट है dm-crypt/LUKS

तो मान लीजिए कि आपके पास ए keyfile। अधिमानतः यादृच्छिक डेटा के साथ एक।

# dd if=/dev/urandom of=keyfile count=1
1+0 records in
1+0 records out
512 bytes (512 B) copied, 0.000189802 s, 2.7 MB/s

LUKS के साथ इसके लिए एन्क्रिप्शन जोड़ें (अपनी पसंद की सिफर सेटिंग्स जोड़ने के लिए स्वतंत्र महसूस करें)।

# truncate -s 2M keyfile.luks
# cryptsetup luksFormat keyfile --header keyfile.luks

WARNING!
========
This will overwrite data on keyfile.luks irrevocably.

Are you sure? (Type uppercase yes): YES
Enter passphrase: bananas
Verify passphrase: bananas

अब आपके पास एक keyfile (512 बाइट) और एक keyfile.luks (2MB है, जो किसी कारण से cryptsetup को 192k LUKS हेडर लिखने की आवश्यकता है)। चूँकि Initramfs को वैसे भी संकुचित किया जाएगा, यह बहुत बुरा नहीं है (अभी भी छोटा है GnuPG)।

अब आप कीफाइल को डिक्रिप्ट कर सकते हैं:

# cryptsetup luksOpen keyfile --header keyfile.luks lukskey
Enter passphrase for keyfile: bananas

और आपके पास यादृच्छिक डेटा के 512 बाइट हैं /dev/mapper/lukskey। (यदि आप इसे बदलना चाहते हैं, तो आप इसे लिख सकते हैं, इसलिए हम पहले फ़ाइल को शून्य से आरंभ कर सकते थे।)

# blockdev --getsize64 /dev/mapper/lukskey
512

Initramfs में init आप इसके साथ वास्तविक LUKS वॉल्यूम खोलने के लिए आगे बढ़ सकते हैं (यह मानते हुए कि आपने पहले कुंजी जोड़ी थी)।

cryptsetup --key-file=/dev/mapper/lukskey luksOpen /dev/yourdisk luksyourdisk
cryptsetup luksClose lukskey # clean up

यह दृष्टिकोण GnuPG को पूरी तरह से उत्कृष्ट बनाता है, साथ ही आपको सभी LUKS लाभ मिलते हैं, जैसे कि कुंजी के लिए कई पासफ़्रेज़, आपकी पसंद का सिफर, वगैरह। कई रिट्रीट के साथ एक अच्छा (ज्यादातर नियमित) पासवर्ड संकेत का उल्लेख नहीं है।


2
शांत समाधान है, लेकिन मैं अपने initramfs में इसे कैसे एकीकृत करूं? आप कहते हैं कि आप एक पूरी तरह से कस्टम initramfs का उपयोग करते हैं, लेकिन क्या यह केवल हुक का उपयोग करके संभव नहीं होगा?
gertvdijk

निश्चित रूप से। शायद एक हुक के बिना भी अगर आप किसी तरह से पहले कुंजी को खोजने और खोलने के लिए क्रिप्टैब को मजबूर करने का एक तरीका सोच सकते हैं। उदाहरण के लिए, यह एक फाइल होना जरूरी नहीं है, आप USB स्टिक पर इसके लिए एक अलग विभाजन बना सकते हैं। हालाँकि जब से मैं उस तरह से नहीं कर रहा हूँ मैं इसके लिए एक ठोस जवाब नहीं दे सकता ... क्षमा करें: - /
frostschutz

1
कोई समस्या नहीं है - GnuPG को दरकिनार करना और LUKS का पुन: उपयोग करना निश्चित रूप से एक बेहतर विकल्प है। यदि मुझे GnuPG दृष्टिकोण के लिए हुक को फिर से लिखने की आवश्यकता है, तो मैं इसे वैसे भी उपयोग किए बिना इसे फिर से लिखना चाहूंगा। और हाँ, मैं जानता हूँ कि यह एक फ़ाइल नहीं है।
gertvdijk

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