PrivacyIdea नाम के एक समूह ने initramfs में HMAC-SHA1 चुनौती-प्रतिक्रिया दिनचर्या को जोड़ने के लिए एक छोटा सा पैकेज बनाया है , जिसका अर्थ है कि उबंटू आपको Yubikey को पास करने की चुनौती के लिए क्वेरी कर सकता है और फिर LUKS वॉल्यूम अनलॉक करने के लिए प्रतिक्रिया का उपयोग कर सकता है। अधिकांश भाग के लिए, मैं इन निर्देशों का पालन कर रहा हूं , कुछ जोड़ा टिप्पणियों के साथ। प्रक्रिया वास्तव में करना बहुत आसान है।
मैंने इसे Ubuntu 14.04, 16.04 और 18.04 पर परीक्षण किया है; एक Yubikey नियो का उपयोग करना। यह फर्मवेयर 2.0+ के साथ, और उबुन्टु के किसी भी संस्करण के साथ 14.04 के बाद किसी भी हाल के Yubikey के साथ काम करना चाहिए। मैंने उबंटू 19.04 को एक यूबिकी 5 सी के साथ भी परीक्षण किया है, कुछ अतिरिक्त काम की आवश्यकता थी लेकिन इसे काम करने के लिए बनाया जा सकता है। इसमें अन्य हार्डवेयर HMAC-SHA1 चुनौती-प्रतिक्रिया उपकरण भी हो सकते हैं, जिनके साथ यह काम करता है, लेकिन मैं किसी भी मौजूद नहीं हूं। हमेशा की तरह, सुनिश्चित करें कि आगे बढ़ने से पहले आपके पास अपने डेटा का बैकअप होना चाहिए - यहाँ कोई समस्या नहीं होनी चाहिए, लेकिन हमेशा ऐसा मौका होता है कि यह आपके कंप्यूटर पर सब कुछ नष्ट कर देगा। ये निर्देश बिना किसी वारंटी के आते हैं।
अपडेट: Ubuntu 16.04 के बाद से, आवश्यक पैकेज मुख्य रिपॉजिटरी में हैं और किसी PPA की आवश्यकता नहीं है।
यदि आपके कोई प्रश्न हैं तो टिप्पणी जोड़ें!
0. आवश्यक शर्तें
इस काम के लिए, आपके पास पहले से ही LUKS फुल-डिस्क एन्क्रिप्शन सेट अप और काम करना होगा। आप उबंटू स्थापित करते समय उपयुक्त विकल्प का चयन करके ऐसा कर सकते हैं। अधिकतम सुरक्षा के लिए, आपके पास इंस्टॉल के दौरान बहुत मजबूत पासफ़्रेज़ होना चाहिए। यदि आपका पासफ़्रेज़ खरोंच तक नहीं है, तो आपको इसे जारी रखने से पहले इसे बेहतर तरीके से बदलना चाहिए ( अधिक विस्तृत निर्देश यहां )।
नीचे दी गई विधि किसी भी मौजूदा पासफ़्रेज़ की जगह नहीं लेगी, बल्कि LUKS स्लॉट में से किसी एक में एक और पासफ़्रेज़ जोड़ देगी। इसलिए यदि आप अपनी Yubikey खो देते हैं, तब भी आप किसी भी मौजूदा पासफ़्रेज़ का उपयोग करके अपने कंप्यूटर को अनलॉक कर सकते हैं - मेरा सुझाव है कि आप इसे नोट कर लें और इसे कहीं सुरक्षित रूप से छिपा दें - आपको इस प्रक्रिया के दौरान कुछ बार इसकी आवश्यकता भी होगी। आपकी नई Yubikey चुनौती पासफ़्रेज़ अभी भी यथोचित रूप से मजबूत होनी चाहिए, लेकिन उबंटू को स्थापित करते समय आपके द्वारा उपयोग किए जाने वाले पासफ़्रेज़ के रूप में लंबे समय तक नहीं होना चाहिए।
1. PrivacyIdea पीपीए जोड़ें और पैकेज स्थापित करें
उबुन्टु 14.04 पर
एक टर्मिनल खोलें, और निम्न कमांड चलाएँ:
sudo add-apt-repository ppa:privacyidea/privacyidea
संकेत मिलने पर एंटर दबाएं, फिर चलाएं:
sudo apt-get update
इसके बाद पैकेज स्थापित करें:
sudo apt-get install yubikey-luks
उबंटू 16.04, 18.04 पर
पीपीए की कोई आवश्यकता नहीं है, आप पैकेज को इसके साथ स्थापित कर सकते हैं:
sudo apt-get install yubikey-luks
उबंटू 19.04 पर
उबंटू 19.04 के लिए स्रोत से पैकेज बनाने के तरीके के लिए यह उत्तर देखें yubikey-luks
।
2. Yubikey सॉफ्टवेयर इंस्टॉल करें
यदि आप किसी अन्य चीज़ के लिए Yubikey की HMAC-SHA1 कार्यक्षमता का उपयोग कर रहे हैं, तो आप इस अनुभाग को छोड़ सकते हैं। यह दूसरे Yubikey स्लॉट में किसी भी कॉन्फ़िगरेशन को मिटा देगा, इसलिए यदि आप इस Yubikey के साथ अन्य उद्देश्यों के लिए HMAC-SHA1 का उपयोग करते हैं , तो इस चरण को निष्पादित न करें।
आपको उबंटू के साथ काम करने के लिए उबंटू के साथ काम करने की आवश्यकता होगी, या तो यूबिको पीपीए से उबंटू 14.04 पर या मुख्य उबुन्या भंडार से 16.04 पर और बाद में स्थापित करना होगा।
उबुन्टु 14.04 पर
यदि आपने पहले ऐसा नहीं किया है, तो PPA जोड़ें और पैकेज को इसके साथ स्थापित करें:
sudo add-apt-repository ppa:yubico/stable
sudo apt-get update
sudo apt-get install yubikey-personalization
उबंटू में 16.04, 18.04 (और बाद में)
sudo apt-get install yubikey-personalization
3. HMAC-SHA1 के लिए प्रारंभिक Yubikey स्लॉट
अब हमें HMAC-SHA1 कॉन्फ़िगरेशन के साथ Yubikey के दूसरे स्लॉट को प्रोग्राम करने की आवश्यकता है। यह आपके पिछले स्लॉट कॉन्फ़िगरेशन को मिटा देगा, जो डिफ़ॉल्ट रूप से खाली है। फिर, यदि आप HMAC-SHA1 का उपयोग किसी और चीज के लिए कर रहे हैं, तो यह कमांड जारी नहीं करता है - यह आपके कॉन्फ़िगरेशन को मिटा देगा। आप अपने अन्य उपयोगों के लिए इस LUKS सेटअप के लिए Yubikey के अंदर समान गुप्त कुंजी का सुरक्षित रूप से उपयोग कर सकते हैं। (उदाहरण के लिए, LUKS + Yubikey का उपयोग कर दूसरे कंप्यूटर के साथ)।
ykpersonalize -2 -ochal-resp -ochal-hmac -ohmac-lt64 -oserial-api-visible
टर्मिनल किए गए परिवर्तनों के बारे में कुछ जानकारी प्रदर्शित करेगा। आपको इसे नोट करने की आवश्यकता नहीं है, लेकिन यह एक चुनौती दिए जाने पर प्रतिक्रिया की गणना करने के लिए HMAC-SHA1 एल्गोरिथ्म में Yubikey द्वारा उपयोग की गई गुप्त कुंजी दिखाएगा।
4. LUKS स्लॉट में Yubikey को एनरोल करें
अब हम Yubikey से डिक्रिप्शन कुंजी में से एक के रूप में प्रतिक्रिया को जोड़ने के लिए LUKS कॉन्फ़िगरेशन को संपादित करेंगे।
जिस विभाजन को हमें निर्दिष्ट करने की आवश्यकता है, वह इस बात पर निर्भर करता है कि आप अपनी मशीन को बूट करने के लिए BIOS या UEFI का उपयोग कर रहे हैं या नहीं। BIOS के लिए, एन्क्रिप्टेड वॉल्यूम /dev/sda5
डिफ़ॉल्ट रूप से है, UEFI के लिए यह पर है /dev/sda3
। आप disks
उपयोगिता को खोलकर और विभाजन के मार्ग की पुष्टि करके इसकी जांच कर सकते हैं - यह या तो होना चाहिए sda3
या sda5
। नोट: NVMe डिस्क के साथ नए कंप्यूटर पर, पथ कुछ इस तरह होगा /dev/nvme0n1p3
।
इसे टर्मिनल में चलाएं:
sudo yubikey-luks-enroll -d /dev/sda3 -s 7
यह एलयूकेएस कॉन्फ़िगरेशन के स्लॉट 7 को लिखेगा, इंस्टॉलर में संकेतों का पालन करेगा (वे आपके द्वारा चलाए जा रहे संस्करण के आधार पर थोड़ा भिन्न होते हैं)।
फिर तुम सब हो गया! आपको अपने कंप्यूटर को रिबूट करने में सक्षम होना चाहिए, और यदि आपका Yubikey डाला गया है, तो आप अपने चुनौती पासवर्ड में टाइप कर सकते हैं और LUKS विभाजन को अनलॉक करने और सिस्टम को बूट करने के लिए दूसरे कारक के रूप में Yubikey का उपयोग कर सकते हैं। एक बार जब आप हार्ड ड्राइव को डिक्रिप्ट कर लेते हैं तो आप Yubikey को हटा सकते हैं।
यदि आप अपनी Yubikey खो देते हैं, तब भी आप हार्ड ड्राइव को डिक्रिप्ट करने के लिए अपने मूल (उम्मीद से बहुत लंबे) पासफ़्रेज़ में प्रवेश कर सकते हैं, और फिर आप इस प्रक्रिया का पालन करके एक नया Yubikey रजिस्टर कर सकते हैं।
एन्क्रिप्शन चुनौती पासफ़्रेज़ बदलना
बाद की तारीख में पासवर्ड बदलना काफी सरल है, बस इस कमांड का उपयोग गुप्त कुंजी को रीसेट करने के लिए करें। गुप्त कुंजी को रीसेट करना पूरी तरह से आवश्यक नहीं है, लेकिन यह चोट नहीं पहुंचाएगा। ध्यान रखें कि यह पिछली गुप्त कुंजी को नष्ट कर देगा, यदि आप इस Yubikey के साथ किसी और चीज के लिए HMAC-SHA1 का उपयोग करते हैं तो ऐसा न करें। (उदाहरण के लिए, LUKS + Yubikey का उपयोग कर दूसरे कंप्यूटर के साथ)।
ykpersonalize -2 -ochal-resp -ochal-hmac -ohmac-lt64 -oserial-api-visible
फिर, चरण 4 के समान , एलयूकेएस कुंजी स्लॉट में एक नया पासवर्ड दर्ज करने के लिए, इसके अलावा इसके लिए स्लॉट 7 को स्पष्ट करने का विकल्प छोड़कर:
sudo yubikey-luks-enroll -d /dev/sda3 -s 7 -c
जब Enter any remaining passphrase
आपसे कहा जाए , तो अपने बैकअप पासफ़्रेज़ का उपयोग करें - न कि यूबीकी चुनौती पासफ़्रेज़। फिर एक नई Yubikey चुनौती पासफ़्रेज़ दर्ज करें , दो बार, फिर अंत में आपको एक बार बैकअप पासफ़्रेज़ दर्ज करने की आवश्यकता होगी।
अब आपकी पुरानी Yubikey चुनौती पासफ़्रेज़ हटा दी गई है और केवल आपका नया हार्ड ड्राइव को डिक्रिप्ट करेगा। आपका पिछला बैकअप पासफ़्रेज़ अब भी वही रहेगा। आप चरण 0 में दिए गए लिंक का अनुसरण करके उस पासफ़्रेज़ को बदल सकते हैं ।
सुरक्षा निहितार्थ पर ध्यान दें
Yubikey को जोड़ने से आपके सिस्टम में एक निश्चित स्तर की सुरक्षा बढ़ेगी - किसी को दोनों चुनौती पासफ़्रेज़ को जानना होगा और आपकी Yubikey को आपकी हार्ड ड्राइव को अनलॉक करने में सक्षम होना होगा (या अपना प्रारंभिक पासफ़्रेज़ ढूंढें, जिसे आप अब बैकअप के रूप में उपयोग कर रहे हैं) । हालांकि, किसी हमलावर के लिए तकनीकी रूप से संभव है कि हार्ड ड्राइव को डिक्रिप्ट करें यदि वे आपकी चुनौती पासफ़्रेज़ को जानते हैं (उदाहरण के लिए, "कंधे सर्फिंग" जब आप इसे टाइप करते हैं) और केवल थोड़े समय के लिए अपने Yubikey तक पहुंच प्राप्त कर सकते हैं। चुनौती पासफ़्रेज़ का उपयोग करके वे Yubikey से प्रतिक्रिया प्राप्त कर सकते हैं और इसे संग्रहीत कर सकते हैं, और फिर इसका उपयोग Yubikey के बिना किसी भी समय हार्ड ड्राइव को डिक्रिप्ट करने के लिए कर सकते हैं। या फिर, अगर कोई हमलावर या मालवेयर का एक टुकड़ा आपके पासफ्रेज को जानता था और आपकी यूबीकी से जुड़ी मशीन पर कोड चलाने में सक्षम था, तो वे चुनौती जारी कर सकते हैं और प्रतिक्रिया को स्टोर कर सकते हैं। इसलिए अपनी चुनौती पासफ़्रेज़ में प्रवेश करते समय, और यह सुनिश्चित करने के लिए कि आपके पास हमेशा सुरक्षित स्थान पर Yubikey है, यह सुनिश्चित करना अभी भी बेहद महत्वपूर्ण है। आपको केवल उस मशीन में प्लग करना चाहिए जिसे आप भरोसा करते हैं। यदि आप अपने Yubikey का ट्रैक खो देते हैं और संदेह करते हैं कि कोई व्यक्ति इसका उपयोग डिक्रिप्शन कुंजी सीखने की कोशिश करने के लिए कर रहा है, तो Yubikey के अंदर गुप्त कुंजी को रीसेट करने के लिए फिर से चरण 2 और 3 निष्पादित करें और एक नई चुनौती पासफ़्रेज़ चुनें। ध्यान दें कि यदि एक विरोधी ने आपके पासफ़्रेज़ में से एक (याबिके से एचएमएसी-एसएचए 1 प्रतिक्रिया, या आपका बैकअप) सीखने में कामयाबी हासिल की है, तो वे एलयूकेएस मास्टर कुंजी का बैकअप बना सकते हैं, और उसके बाद भी अपनी हार्ड ड्राइव को डिक्रिप्ट करने के लिए उपयोग करें। आप भविष्य में पासफ़्रेज़ को बदलते हैं। और यह सुनिश्चित करने के लिए कि आपके पास हमेशा सुरक्षित स्थान पर Yubikey है। आपको केवल उस मशीन में प्लग करना चाहिए जिसे आप भरोसा करते हैं। यदि आप अपने Yubikey का ट्रैक खो देते हैं और संदेह करते हैं कि कोई व्यक्ति इसका उपयोग डिक्रिप्शन कुंजी सीखने की कोशिश करने के लिए कर रहा है, तो Yubikey के अंदर गुप्त कुंजी को रीसेट करने के लिए फिर से चरण 2 और 3 निष्पादित करें और एक नई चुनौती पासफ़्रेज़ चुनें। ध्यान दें कि यदि एक विरोधी ने आपके पासफ़्रेज़ में से एक (याबिके से एचएमएसी-एसएचए 1 प्रतिक्रिया, या आपका बैकअप) सीखने में कामयाबी हासिल की है, तो वे एलयूकेएस मास्टर कुंजी का बैकअप बना सकते हैं, और उसके बाद भी अपनी हार्ड ड्राइव को डिक्रिप्ट करने के लिए उपयोग करें। आप भविष्य में पासफ़्रेज़ को बदलते हैं। और यह सुनिश्चित करने के लिए कि आपके पास हमेशा सुरक्षित स्थान पर Yubikey है। आपको केवल उस मशीन में प्लग करना चाहिए जिसे आप भरोसा करते हैं। यदि आप अपने Yubikey का ट्रैक खो देते हैं और संदेह करते हैं कि कोई व्यक्ति इसका उपयोग डिक्रिप्शन कुंजी सीखने की कोशिश करने के लिए कर रहा है, तो Yubikey के अंदर गुप्त कुंजी को रीसेट करने के लिए फिर से चरण 2 और 3 निष्पादित करें और एक नई चुनौती पासफ़्रेज़ चुनें। ध्यान दें कि यदि एक विरोधी ने आपके पासफ़्रेज़ में से एक (याबिके से एचएमएसी-एसएचए 1 प्रतिक्रिया, या आपका बैकअप) सीखने में कामयाबी हासिल की है, तो वे एलयूकेएस मास्टर कुंजी का बैकअप बना सकते हैं, और उसके बाद भी अपनी हार्ड ड्राइव को डिक्रिप्ट करने के लिए उपयोग करें। आप भविष्य में पासफ़्रेज़ को बदलते हैं। Yubikey के अंदर गुप्त कुंजी को रीसेट करने के लिए चरण 2 और 3 को फिर से निष्पादित करें और एक नई चुनौती पासफ़्रेज़ चुनें। ध्यान दें कि यदि एक विरोधी ने आपके पासफ़्रेज़ में से एक (याबिके से एचएमएसी-एसएचए 1 प्रतिक्रिया, या आपका बैकअप) सीखने में कामयाबी हासिल की है, तो वे एलयूकेएस मास्टर कुंजी का बैकअप बना सकते हैं, और उसके बाद भी अपनी हार्ड ड्राइव को डिक्रिप्ट करने के लिए उपयोग करें। आप भविष्य में पासफ़्रेज़ को बदलते हैं। Yubikey के अंदर गुप्त कुंजी को रीसेट करने के लिए चरण 2 और 3 को फिर से निष्पादित करें और एक नई चुनौती पासफ़्रेज़ चुनें। ध्यान दें कि यदि एक विरोधी ने आपके पासफ़्रेज़ में से एक (याबिके से एचएमएसी-एसएचए 1 प्रतिक्रिया, या आपका बैकअप) सीखने में कामयाबी हासिल की है, तो वे एलयूकेएस मास्टर कुंजी का बैकअप बना सकते हैं, और उसके बाद भी अपनी हार्ड ड्राइव को डिक्रिप्ट करने के लिए उपयोग करें। आप भविष्य में पासफ़्रेज़ को बदलते हैं।Cryptsetup के लिए मैन पेज यह बताता है, luksHeaderBackup अनुभाग देखें। यदि आपको संदेह है कि यह हुआ है, तो आपको अपने डेटा की सुरक्षा के लिए पूरी तरह से नया LUKS वॉल्यूम बनाना होगा।