आप सुरक्षित रूप से GPG निजी कुंजी का बैकअप कैसे लेते हैं?


25

मुझे एक बहुत ही दिलचस्प सीएलआई पासवर्ड मैनेजर मिला, जिसे पास कहा जाता है । इसका उपयोग करने के लिए, आप एक GPG2 कुंजी युग्म उत्पन्न करते हैं, और gpg2 एन्क्रिप्टेड फ़ाइलों में पासवर्ड स्टोर करने में आपकी सहायता करने के लिए उपकरण का उपयोग करते हैं।

फ़ाइलों को एन्क्रिप्ट करने के लिए (एक नया पासवर्ड जोड़ें), यह सार्वजनिक कुंजी का उपयोग करता है।

फ़ाइलों को डिक्रिप्ट करने के लिए (एक संग्रहीत पासवर्ड पुनर्प्राप्त करें), यह निजी कुंजी का उपयोग करता है, जिसके लिए पासवर्ड की आवश्यकता होती है।

यह बहुत अच्छा काम करता है।

अब जब वह टूल मेरे सभी पासवर्डों को संग्रहीत कर रहा है, तो मैं इस सारे डेटा का बैकअप लेना चाहता हूं ताकि यदि मेरा कंप्यूटर क्रैश हो जाए, तो मैं अपने सभी ऑनलाइन खातों से लॉक नहीं हो जाऊंगा।

उपकरण गिट के साथ अच्छी तरह से एकीकृत करता है, इसलिए मैं आसानी से एक अलग कंप्यूटर पर अपने निजी git रेपो में .gpg फ़ाइलों को पुश करने में सक्षम था। जो मैं समझता हूं, ये फाइलें उन्हें डिक्रिप्ट किए बिना निजी कुंजी के बिना बेकार हैं।

मेरा सवाल यह है: मैं निजी और सार्वजनिक कुंजी को सुरक्षित तरीके से कैसे बैकअप करूं, ताकि जरूरत पड़ने पर मैं किसी अन्य मशीन पर "डेटाबेस" को पुनर्स्थापित कर सकूं? क्या मैं अपने git रेपो में सार्वजनिक और निजी दोनों तरह की कुंजियाँ संग्रहीत कर सकता हूँ, और बाद में किसी दूसरी मशीन पर आयात कर सकता हूँ? या क्या यह एक निजी, स्थानीय गिट रेपो में निजी कुंजी को संग्रहीत करने के लिए असुरक्षित अभ्यास माना जाता है? Git repo को एक्सेस करने के लिए पासवर्ड की आवश्यकता होती है। निजी कुंजी एन्क्रिप्ट की गई है, और खोलने के लिए पासवर्ड की आवश्यकता है - क्या यह स्टोर करने के लिए सुरक्षित है?

जवाबों:


10

एक पुनरीक्षण नियंत्रण प्रणाली में एक PGP निजी कुंजी को संग्रहीत करना, और अपने आप में, किसी भी महत्वपूर्ण सुरक्षा समस्या को उत्पन्न नहीं करता है। एक में निजी कुंजी भंडारण स्थानीय, निजी (अप्रकाशित) Git भंडार एक ही कंप्यूटर लेकिन किसी भी Git भंडार के बाहर निजी कुंजी भंडारण बनाम कोई महत्वपूर्ण सुरक्षा के प्रभाव होना चाहिए।

एकमात्र मुद्दा जो मैं सोच सकता हूं कि निजी कुंजी को संस्करण-नियंत्रित तरीके से संग्रहीत करने से आता है, जब तक कि आप किसी तरह पुराने संशोधनों को नष्ट नहीं कर सकते, कुंजी पासफ़्रेज़ परिवर्तन आप की तुलना में कहीं कम सुरक्षा खरीदते हैं, अन्यथा।

सुरक्षा निहितार्थ के अपने सेट के साथ क्या आ सकता है एक निजी कुंजी को इस तरह से संग्रहीत किया जा रहा है कि कोई अन्य व्यक्ति कुंजी फ़ाइल तक पहुंच प्राप्त करने में सक्षम हो सकता है। ऐसी स्थिति में, वह सब जो एक हमलावर और आपकी कुंजी के बीच खड़ा होता है, वह है इसके पासफ़्रेज़ की ताकत।

यह स्वीकार करते हुए कि भंडारण सुरक्षा सही नहीं है, और आधुनिक परिवेश में भी ऐसा नहीं है जहाँ लोग नियमित रूप से क्लाउड सेवाओं तक वापस आते हैं (जिसका शाब्दिक अनुवाद "किसी और का कंप्यूटर" है), हम आमतौर पर पासफ़्रेज़ के साथ अपनी गुप्त कुंजियों की रक्षा करते हैं। मुझे विश्वास है कि, भले ही आप उदाहरण के लिए gpg- एजेंट चला रहे हों, आप ऐसा ही कर रहे हैं।

लब्बोलुआब यह है कि जब तक आपका पासफ़्रेज़ अच्छा है, यहां तक ​​कि किसी अन्य व्यक्ति के कंप्यूटर पर एन्क्रिप्ट की गई फ़ाइल की एक प्रति संग्रहीत करना अपेक्षाकृत सुरक्षित होना चाहिए।

हालांकि, यह एक बहुत बड़ा है अगर: अधिकांश लोगों के पासवर्ड या पासफ़्रेज़, बल्कि उतने ही घटिया होते हैं, जितने कि कंप्यूटर पर किए जाने वाले प्रयासों में दरार पड़ जाते हैं। GnuPG काफी लंबाई में काम करने की कोशिश करता है और साथ ही साथ यह भी देता है कि आप इसे क्या देते हैं, लेकिन ठोस डेटा सुरक्षा के लिए, आपको एक अच्छा पासफ़्रेज़ की आवश्यकता होती है, और आपको git रिपॉजिटरी में निजी कुंजी आयात करने से पहले इसे सेट करने की आवश्यकता होती है। कुंजी को आयात किए जाने के बाद, एक हमलावर सिद्धांत रूप में इसके किसी भी संस्करण पर हमला कर सकता है, और यदि उनके पास यह विश्वास करने का कारण है कि किसी विशेष संशोधन में निम्न-गुणवत्ता पासफ़्रेज़ है, तो संभवतः इसके लिए जाना जाएगा। उस कारण से, सुनिश्चित करें कि आप सावधानी से पासफ़्रेज़ चुनें। मैंने पासवर्ड को संभालने के तरीके पर एक छोटा प्राइमर लिखा है, जिसमें शामिल हैंपासवर्ड या पासफ़्रेज़ चुनने के बारे में सुझाव , जिन्हें आपको याद रखने में सक्षम होना चाहिए , जो आपको उपयोगी लग सकते हैं।


6

मैं हाल ही में एक समान सेटअप पर विचार कर रहा हूं। अपने प्रश्न से निपटने से पहले, मुझे यह बताने दें कि मुझे इसके बारे में क्या परेशान करता है। यह यहाँ बड़ी लंबाई में समझाया गया है । संक्षेप में- जब पास GPG को बुलाता है, तो यह हुड के नीचे अनावश्यक असममित (RSA / EC) क्रिप्टो करता है। अनावश्यक - क्योंकि यहां कोई अविश्वास पार्टी नहीं है।

यह कष्टप्रद है क्योंकि असममित क्रिप्टो सिमेट्रिक क्रिप्टो की तुलना में भविष्य के प्रमाण कम है। उदाहरण के लिए, आज के असममित क्रिप्टो को पर्याप्त रूप से बड़े क्वांटम कंप्यूटरों द्वारा तोड़ दिया जाता है, जो अभी तक मौजूद नहीं है। अधिक आम तौर पर, असममित क्रिप्टो "गणित की समस्याओं" पर निर्भर करता है हम नहीं जानते कि कैसे हल किया जाए, सममित क्रिप्टो की तुलना में बहुत अधिक।

इस कमजोरी को कम करने के लिए, आप कम से कम अपनी GPG सार्वजनिक कुंजी को पास निजी के साथ ही उपयोग कर सकते हैं, क्योंकि उदाहरण के लिए (संभावित) क्वांटम हमले के लिए इस सार्वजनिक कुंजी की आवश्यकता है: यहाँ देखें

आपके वास्तविक प्रश्न पर, यह स्पष्ट नहीं है कि आप सार्वजनिक रूप से या निजी रूप से git रेपो (पासवर्ड के साथ) को संग्रहीत करने का इरादा रखते हैं या नहीं। यदि आप इसे निजी रखना चाहते हैं, तो आप बहुत कुछ कर सकते हैं जो आप चाहते हैं, और उस माध्यम से GPG निजी कुंजी की सुरक्षा को कम करें जहाँ आप रेपो का बैकअप लेते हैं। हालाँकि, यह चिकन और अंडे की समस्या बन सकती है: यदि रेपो निजी है, तो क्रैश होने की स्थिति में आप इसे कैसे वापस ला सकते हैं? दूसरे शब्दों में, "खराब दुर्घटना" के मामले में, कुछ ऐसा होना चाहिए जिसे आप पहले प्राप्त करें । इसलिए आप git रेपो को निजी रखना चाह सकते हैं, लेकिन GPG कुंजी को इस तरह से बैकअप लें कि आप किसी अन्य चीज़ से स्वतंत्र रूप से पहले प्राप्त कर सकें।

ऑफ़लाइन बैक अप समाधान कई हैं, वकील, बेसमेंट, आदि यहां देखें । लेकिन तहखाने हर किसी के लिए नहीं हैं, इसलिए मुझे एक ऑनलाइन समाधान सुझाने दें:

  • एक सुपर मजबूत पासफ़्रेज़ बनाएं जो कि वर्षों से टाइप करने के लिए नहीं है। सुझाव: एक वाक्यांश का लंबा, यादगार गलत वर्तनी, जिसमें कुछ व्यक्तिगत महत्व है, या एक किताब से जो आपको इसे देखने की आवश्यकता नहीं है, तो प्रतियां बाहर नहीं चलेंगी।

  • अपने निर्यात किए गए GPG गुप्त कुंजी के साथ एक टारबॉल बनाएं, और शायद आपके SSH क्रेडेंशियल्स।

  • इसे अपने पासफ़्रेज़ के साथ सममित रूप से एन्क्रिप्ट करें gpg --symmetric --armor:।

  • एक मुफ्त git होस्टिंग खाता बनाएँ।

  • एक सार्वजनिक रिपॉजिटरी बनाएं , जिसे बिना प्रमाणिकता के क्लोन किया जा सकता है।

  • वहाँ एन्क्रिप्टेड और बख़्तरबंद टार गेंद रखो।

"खराब क्रैश" के बाद इसे पुनः प्राप्त करने के लिए:

  • एक लाइव यूएसबी स्टिक बूट करें।

  • क्लोन पब्लिक रेपो।

  • gpg --decrypt

सममित पासफ़्रेज़ लाश के खिलाफ आपकी मुख्य सुरक्षा होगी। लोग कभी-कभी आपको नहीं देते हैं, या अनाम पाठक, संदेह का लाभ जब यह पासफ़्रेज़ चुनने की बात आती है। लेकिन एक अच्छे पासफ़्रेज़ के साथ, सममित क्रिप्टो ठोस होना चाहिए।

जब आप अपनी GPG निजी कुंजी निर्यात करते हैं, तो इसे स्वयं के पासफ़्रेज़ के साथ एन्क्रिप्ट किया जाएगा। GPG के हाल के संस्करण एक अनएन्क्रिप्टेड निर्यात की अनुमति नहीं देंगे। आप यहाँ अपने "नियमित" GPG पासफ़्रेज़ का उपयोग कर सकते हैं। बस याद रखें कि दुर्घटना की स्थिति में, आपको अपनी GPG निजी कुंजी प्राप्त करने के लिए दोनों पासफ़्रेज़ की आवश्यकता होगी।


4

एक अन्य विकल्प जो मैं उपयोग करता हूं वह है: कागज पर अपनी कुंजी प्रिंट करें

विवरण जुड़े हुए उत्तर में हैं। बड़े लाभ यह हैं: आप इसे आसानी से जहाँ चाहे वहाँ स्टोर कर सकते हैं और आप देख सकते हैं कि क्या यह अभी भी इसे देखकर अच्छे आकार में है। लेकिन सबसे बड़ा लाभ यह है: कोई भी इसे वास्तव में शारीरिक रूप से उस जगह पर हैक किए बिना नहीं कर सकता है जहां आप अपना बैकअप स्टोर करते हैं और इसे लेते हैं।


जहाँ तक मैं देख सकता हूँ, इस मामले में हटाने योग्य मीडिया पर कागज का कोई लाभ नहीं है, और नुकसान यह है कि यदि आपको कुंजी को पुनर्प्राप्त करने की आवश्यकता है , तो आपको कुंजी के लिए सभी गिब्रिश में टाइप करना होगा।
MAP

लाभ यह है कि यह कहीं अधिक टिकाऊ है और आप यह जांच सकते हैं कि क्या यह अभी भी बिना कंप्यूटर के अपनी आँखों से पढ़ने योग्य है। यदि मेरे पास प्रत्येक फ़्लॉपी डिस्क, सीडी या डीवीडी के लिए एक डॉलर है, जिसका उपयोग मैंने किया है, जिसमें अब अप्राप्य डेटा त्रुटियां हैं, तो मैं उस पैसे से holliday पर जा सकता हूं। आपको कुछ भी लिखने की ज़रूरत नहीं है! पेपरबैक इसे त्रुटि सुधार के साथ 2D कोड के रूप में प्रिंट करता है। आप बस इसे स्कैन करते हैं या फोटो खिंचते हैं और प्रोग्राम इसे वापस बदल देता है जो आपने इसे प्रिंट करने से पहले दिया था।
जोसेफ का कहना है कि

यह मानते हुए कि आपके पास अभी भी ऐसा करने की तकनीक है।
एमएपी

खैर, संभावना है कि मैं आसानी से 20 साल में उस ओपन-सोर्स सॉफ़्टवेयर की एक प्रति के साथ वाइन के साथ एक विंडोज़ वीएम या लिनक्स प्राप्त कर सकता हूं, मेरी राय में संभावना से अधिक है कि मुझे एक फ्लॉपी डिस्क / सीडी पढ़ने के लिए हार्डवेयर मिल सकता है / डीवीडी। बस मान लीजिए कि मैंने वह 1990 किया। मैं अब अपने ब्राउज़र में भी पीछे से सॉफ़्टवेयर चला सकता हूं । लेकिन सौभाग्य से हार्डवेयर प्राप्त करने की कोशिश कर रहा है जो आपको अपने आधुनिक पीसी के साथ 5 1/4 इंच फ्लॉपी पढ़ने की अनुमति देता है।
जोसेफ का कहना है कि मोनिका

2

इसका एक अन्य उत्तर "ऑफ़लाइन" है, अर्थात इसे किसी ऐसे स्थान पर संग्रहीत करना जो सुरक्षित है और किसी भी कंप्यूटर से जुड़ा नहीं है। मैं एक फ़्लॉपी डिस्क पर अपनी सभी कुंजियों की एक पूर्ण, बिना लाइसेंस वाली प्रतिलिपि रखता हूं (मैं इसे लंबे समय से कर रहा हूं, अब यह बैंक में सुरक्षा जमा बॉक्स में एक आदत है)। मैं उन्हें बैंक में मीडिया पर अनएन्क्रिप्टेड रखने का कारण यह है कि कुंजी को "खोने" के लिए एक संभावित परिदृश्य पास वाक्यांश को भूल रहा है (मेरे पास वाक्यांशों में बहुत सारे विचित्र विराम और वर्तनी हैं, और उनमें से सिर्फ एक को भूल जाना है। व्यर्थ)। मुझे उस प्रति से वापस पाने के लिए कभी सहारा नहीं लेना पड़ा, लेकिन मैं सबसे खराब योजना बनाता हूं।

इसके अतिरिक्त, मीडिया पर एक महत्वपूर्ण निरसन और मेरे उत्तराधिकारियों को यह निर्देश देने वाला एक नोट है कि इस मामले में मैं अब उपलब्ध नहीं हूं।


यदि आप निजी कुंजी पर हस्ताक्षर करने वाले मास्टर का बैकअप लेते हैं, तो क्या इसका उपयोग निरस्तीकरण प्रमाणपत्र बनाने के लिए नहीं किया जा सकता है? निरस्तीकरण प्रमाणपत्र का बैकअप लेना किस परिदृश्य में उपयोगी है?
माटी डेविड

आह हाँ, लेकिन आपको यह समझना चाहिए कि मैं यह सुनिश्चित नहीं कर सकता कि अनुरोध को अंजाम देने वाले व्यक्ति के कंप्यूटर-प्रेमी कैसे होंगे (ध्यान दें कि यह मैं नहीं हूं जो इसका इस्तेमाल करेगा, बल्कि "मेरे उत्तराधिकारी")। तो पहले से ही उत्पन्न होने वाले निरसन और "सिर्फ इस फ़ाइल के साथ एक ईमेल भेजने के निर्देश" के कुप्रबंधित होने की संभावना कम है।
एमएपी

@MateiDavid जब आप शुरू में कुंजी जोड़ी बनाते हैं, और उस निरसन प्रमाणपत्र को संग्रहीत करते हैं, तो आप एक निरस्तीकरण प्रमाणपत्र तैयार कर सकते हैं, यदि कुंजी आपके लिए अनुपलब्ध हो जाती है तो आपको कुंजी को रद्द करने की अनुमति देता है। मान्य परिदृश्य हैं जहाँ यह हो सकता है। बेशक, आपको निरस्तीकरण प्रमाणपत्र को अच्छी तरह से संरक्षित करना होगा, क्योंकि जिस किसी को भी इस पर अपना हाथ मिलता है, वह इसे प्रकाशित कर सकता है और इस तरह से अपनी महत्वपूर्ण जोड़ी को बदल सकता है। मुझे वास्तव में यकीन नहीं है कि कैसे एक निरस्तीकरण प्रमाण पत्र भी ओपी की स्थिति पर लागू होता है, हालांकि।
बजे एक CVn

हां, हम चूहे के छेद से नीचे गए हैं। मैं माफी माँगता हूँ, निरसन प्रमाण पत्र का मेरा उल्लेख केवल मेरे द्वारा उठाए गए कदमों के विवरण में पूर्णता के लिए था, और मूल प्रश्न से इसका कोई लेना-देना नहीं था।
MAP
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.