यह प्रक्रिया बिना सोचे समझे सॉफ़्टवेयर को बूट करने से रोकेगी। इसके लाभ हो सकते हैं, हालांकि मैं उन्हें नहीं देख सकता।
आपके पास एक नया सुरक्षा तंत्र है जो आपके हार्डवेयर से बूट नहीं कर सकता है और नियंत्रित नहीं कर सकता है। एक सुरक्षा सुविधा। आपको तब तक ऐसा नहीं लगता जब तक आपको बहुत देर न हो जाए। लेकिन मैं पीछे हटा।
मैंने लिनक्स मेलिंग सूची पर एक थ्रेड पढ़ा है, जहां एक Red Hat कर्मचारी लाइनस टॉर्वाल्ड्स को एक बदलाव खींचने के लिए कहता है, जो पीई बायनेरिज़ को पार्स करने की सुविधा देता है और कर्नेल बूट को सिक्योर बूट मोड में जाने के लिए क्रियाओं का एक जटिल सेट लेता है (जहाँ तक मैं समझ सकता हूँ )।
आपके GPU फर्मवेयर की तरह, ड्राइवर्स को सिक्योर बूट के अनुरूप साइन किया जाना चाहिए, अन्यथा यह अभी तक एक और रूटकिट हो सकता है। यथास्थिति यह है कि उन ड्राइवरों को पीई प्रारूप में हस्ताक्षरित किया जाता है। कर्नेल वैसे भी बिना बूट कर सकते हैं, लेकिन हार्डवेयर काम नहीं करेगा। कर्नेल में पार्सिंग पीई प्रारूप इसके लिए सिर्फ एक तकनीकी रूप से सरल विकल्प है, जो प्रत्येक हार्डवेयर विक्रेता को प्रत्येक डिस्ट्रो के लिए अपने ब्लब्स पर हस्ताक्षर करने के लिए कह रहा है, या ऐसा करने के लिए एक यूजरस्पेस फ्रेमवर्क स्थापित कर रहा है। लिनस माइक्रोसॉफ्ट के डिक को नहीं चूसने का फैसला करता है। यह कोई तकनीकी तर्क नहीं है।
एक घरेलू उपयोगकर्ता के रूप में, यूईएफआई और सिक्योर बूट के साथ मुझे क्या लाभ होगा?
सबसे अधिक दिखाई देने वाली विशेषता UEFI फास्ट बूट है। मुझे कई विंडोज 8 लोगो डेस्कटॉप पर अपने हाथ मिल गए हैं और वे इतनी तेजी से बूट करते हैं कि मुझे अक्सर बूट मेनू को पॉप करने की याद आती है। इंटेल और ओईएम को इस पर काफी कुछ इंजीनियरिंग मिली है।
यदि आप एक प्रकार के लिनक्स उपयोगकर्ता हैं, जो एक जुनून के साथ सूजन और कोड दोहराव से नफरत करते हैं , तो आप फर्मवेयर स्तर पर मल्टीबूट का प्रबंधन करना चाहते हैं और पूरी तरह से बूटलोडर्स से छुटकारा पा सकते हैं। UEFI एक बूट मैनेजर प्रदान करता है जिसके साथ आप सीधे कर्नेल में बूट कर सकते हैं या फर्मवेयर मेनू के साथ अन्य OS को बूट करने के लिए चुन सकते हैं । हालांकि इसमें कुछ छेड़छाड़ की आवश्यकता हो सकती है।
इसके अलावा, बूट समय के दौरान और फर्मवेयर मेनू में कट्टर ग्राफिक्स। बूट (सिक्योर बूट) के दौरान बेहतर सुरक्षा। अन्य विशेषताएं (IPv4 / 6 netboot, 2TB + बूट डिवाइस, आदि) ज्यादातर एंटरप्राइज़ उपयोगकर्ताओं के लिए हैं।
वैसे भी, जैसा कि लिनस ने कहा , BIOS / UEFI को "बस ओएस लोड करना और वहां से नरक प्राप्त करना" माना जाता है, और UEFI निश्चित रूप से तेज बूट वाले घरेलू उपयोगकर्ताओं के लिए ऐसा प्रतीत होता है। यह निश्चित रूप से हुड के तहत BIOS से अधिक सामान करता है लेकिन अगर हम घरेलू उपयोगकर्ताओं के बारे में बात कर रहे हैं, तो वे इस बारे में परवाह नहीं करेंगे।
यह हस्ताक्षर कैसे किया जाता है?
सैद्धांतिक रूप से, एक बाइनरी को हस्ताक्षर बनाने के लिए एक निजी कुंजी के साथ एन्क्रिप्ट किया गया है। फिर निजी कुंजी के स्वामी द्वारा हस्ताक्षरित बाइनरी को साबित करने के लिए हस्ताक्षर को सार्वजनिक कुंजी के साथ सत्यापित किया जा सकता है, फिर बाइनरी सत्यापित किया जाता है। विकिपीडिया पर अधिक देखें ।
तकनीकी तौर पर, केवल बाइनरी के हैश पर हस्ताक्षर किए जाते हैं, और हस्ताक्षर को बाइनरी में पीई प्रारूप और अतिरिक्त प्रारूप ट्विडलिंग के साथ एम्बेडेड किया जाता है।
स्वाभाविक रूप से, सार्वजनिक कुंजी आपके OEM द्वारा फर्मवेयर में संग्रहीत की जाती है, और यह Microsoft से है। आपके पास दो विकल्प हैं:
- अपनी खुद की कुंजी जोड़ी बनाएं और उन्हें सुरक्षित रूप से प्रबंधित करें, फर्मवेयर के लिए अपनी स्वयं की सार्वजनिक कुंजी स्थापित करें , और अपनी निजी कुंजी के साथ द्विआधारी पर हस्ताक्षर करें ( उबंटू से sbsign , या फेडोरा से pesign ), या
- Microsoft को अपना बाइनरी भेजें और उन्हें इस पर हस्ताक्षर करने दें।
कौन हस्ताक्षर / प्रमाण पत्र प्राप्त कर सकता है? क्या इसका भुगतान किया गया है? क्या यह सार्वजनिक हो सकता है? (यह लिनक्स के स्रोत कोड में उपलब्ध होना चाहिए, है ना?)
चूंकि हस्ताक्षर / प्रमाणपत्र बायनेरिज़ में अंतर्निहित हैं, सभी उपयोगकर्ताओं से उन्हें प्राप्त करने की उम्मीद है। कोई भी व्यक्ति अपना CA सेट कर सकता है और अपने लिए एक प्रमाण पत्र तैयार कर सकता है। लेकिन अगर आप चाहते हैं कि Microsoft आपके लिए एक प्रमाण पत्र तैयार करे, तो आपको अपनी पहचान सत्यापित करने के लिए Verisign से गुजरना होगा। इस प्रक्रिया की लागत $ 99 है। सार्वजनिक कुंजी फर्मवेयर में है। निजी कुंजी Microsoft की सुरक्षित में है। प्रमाणपत्र हस्ताक्षरित बाइनरी में है। कोई स्रोत कोड शामिल नहीं है।
क्या Microsoft केवल हस्ताक्षर प्रदान करने का अधिकार है? क्या उन्हें प्रदान करने के लिए एक स्वतंत्र आधार नहीं होना चाहिए?
तकनीकी पक्ष बल्कि तुच्छ है, पीकेआई के प्रबंधन की प्रक्रिया की तुलना में, पहचान को सत्यापित करना, प्रत्येक ज्ञात OEM और हार्डवेयर विक्रेता के साथ समन्वय करना। यह एक प्रिय लागत। Microsoft के पास सालों से इसके लिए बुनियादी ढांचा (WHQL) और अनुभव है। इसलिए वे बायनेरिज़ पर हस्ताक्षर करने की पेशकश करते हैं। कोई भी स्वतंत्र फाउंडेशन एक ही चीज़ की पेशकश करने के लिए कदम बढ़ा सकता है, लेकिन किसी ने भी अब तक ऐसा नहीं किया है।
आईडीएफ 2013 में एक यूईएफआई सत्र से, मैं देख रहा हूं कि कैननिकल ने कुछ टैबलेट फर्मवेयर के लिए अपनी खुद की कुंजी भी शुरू कर दी है। तो कैननिकल Microsoft के माध्यम से जाने के बिना अपने स्वयं के बायनेरिज़ पर हस्ताक्षर कर सकते हैं। लेकिन वे आपके लिए बायनेरिज़ पर हस्ताक्षर करने की संभावना नहीं रखते हैं क्योंकि वे नहीं जानते कि आप कौन हैं।
यह कैसे खुला स्रोत और मुफ्त कर्नेल, हॉबीस्ट / अकादमिक कर्नेल डेवलपर्स आदि को प्रभावित करेगा।
आपका कस्टम निर्मित कर्नेल सुरक्षित बूट के नीचे बूट नहीं होगा, क्योंकि यह हस्ताक्षरित नहीं है। हालांकि आप इसे बंद कर सकते हैं।
सुरक्षित बूट का ट्रस्ट मॉडल कर्नेल के कुछ पहलुओं को बंद कर देता है। जैसे आप अपने कर्नेल को तब तक लिख नहीं सकते, जब तक आप अभी रूट हैं। आप डिस्क को हाइबरनेट नहीं कर सकते हैं (ऊपर की ओर काम किया जा रहा है) क्योंकि फिर से शुरू होने पर कर्नेल छवि को बूटकिट में बदलने के लिए सुनिश्चित करने का कोई तरीका नहीं है। जब आपकी कर्नेल पैनिक हो जाती है तो आप कोर को डंप नहीं कर सकते हैं, क्योंकि kdump (kexec) के तंत्र को बूटकिट (भी काम किया जा रहा है) को बूट करने के लिए इस्तेमाल किया जा सकता है। ये विवादास्पद हैं और मेनलाइन कर्नेल में लिनुस द्वारा स्वीकार नहीं किए गए हैं, लेकिन कुछ डिस्ट्रोस (फेडोरा, आरएचईएल, उबंटू, ओपनएसयूएसई, एसयूएसई) जहाज अपने स्वयं के सुरक्षित बूट पैच के साथ वैसे भी।
निजी तौर पर एक सुरक्षित बूट कर्नेल के निर्माण के लिए आवश्यक मॉड्यूल पर हस्ताक्षर करने में 10 मिनट का समय लगता है जबकि वास्तविक संकलन में केवल 5 मिनट लगते हैं। अगर मैं मॉड्यूल साइनिंग बंद करता हूं और ccache चालू करता हूं, तो कर्नेल बिल्डिंग में केवल एक मिनट लगता है।
UEFI BIOS से पूरी तरह से अलग बूट पथ है। सभी BIOS बूट कोड को यूईएफआई फर्मवेयर द्वारा नहीं बुलाया जाएगा।
एक स्पेनिश लिनक्स उपयोगकर्ता समूह जिसे ह्प्प्लिनक्स कहा जाता है उसने इस विषय पर Microsoft के खिलाफ यूरोपीयन कॉमिशन में शिकायत दर्ज की है।
जैसा कि ऊपर कहा गया है, Microsoft को छोड़कर किसी ने भी सार्वजनिक सेवा करने के लिए कदम नहीं उठाया है। वर्तमान में इसके साथ किसी भी बुराई को करने के माइक्रोसॉफ्ट के इरादे का कोई सबूत नहीं है, लेकिन माइक्रोसॉफ्ट को इसके वास्तविक तथ्य को एकाधिकार से रोकने और एक शक्ति यात्रा पर जाने से रोकने के लिए कुछ भी नहीं है। इसलिए जबकि एफएसएफ और लिनक्स उपयोगकर्ता समूह काफी व्यावहारिक नहीं दिखते हैं और वास्तव में रचनात्मक रूप से समस्याओं को हल करने के लिए नहीं बैठते हैं, यह काफी आवश्यक है कि लोग माइक्रोसॉफ्ट पर दबाव डालें और इसे नतीजों के बारे में चेतावनी दें।
क्या मुझे चिंतित होना चाहिए? मैं न तो मालिकाना सॉफ्टवेयर का उपयोग करने के लिए अस्वीकार करता हूं और न ही विश्वसनीय कंपनियों द्वारा हस्ताक्षरित सॉफ्टवेयर। मैंने अब तक ऐसा किया है, और मैं इसे जारी रखना चाहता हूं।
सुरक्षित बूट को गले लगाने के कारण:
- यह एक वास्तविक सुरक्षा हमले के वेक्टर को समाप्त करता है।
- यह उपयोगकर्ता को अपने हार्डवेयर को नियंत्रित करने के लिए अधिक स्वतंत्रता देने के लिए एक तकनीकी तंत्र है।
- लिनक्स उपयोगकर्ताओं को सुरक्षित बूट तंत्र को समझने और Microsoft द्वारा सुरक्षित बूट नीति के एकाधिकार पर बहुत दूर जाने से पहले कार्य करने की आवश्यकता है ।
UEFI
अपने आप में कोई समस्या नहीं है, लेकिन सुरक्षित बूट हो सकता है।