CA रूट प्रमाणपत्र सभी SHA-1 पर हस्ताक्षर किए गए हैं (क्योंकि SHA-1 को हटा दिया गया है)?


67

मैं समझता हूं कि एसएचए -1 का उपयोग करते हुए एसएसएल सीट्स पर हस्ताक्षर नहीं किए जा सकते हैं। फिर भी, सभी सीए रूट प्रमाणपत्र SHA-1 पर हस्ताक्षर किए गए हैं (ज्यादातर)। क्या इसका मतलब वही एल्गोरिथ्म है जिस पर अब "आप दादी एसएसएल शॉप" के लिए भरोसा नहीं किया जाता है, जो दुनिया के सर्वथा शीर्ष सुरक्षित प्रमाणपत्र के लिए ठीक है?

क्या मैं कुछ भूल रहा हूँ? (मुख्य उपयोग? कुंजी आकार?)


9
यह सच नहीं है कि "सभी" सीए रूट प्रमाणपत्र SHA1 हैं।
ग्रेग आस्क्यू

5
रूट सर्टिफिकेट एक विश्वदृष्टि में मान्यताओं को शुरू करने जैसा है। उन पर भरोसा करने के लिए विश्वास होता है।
रॉय टिंकर

@RoyTinker सिवाय कोगिटो एर्गो योग के (कट्टरपंथी संदेह देखें, और इसका जवाब है: कार्टेशियन संदेहवाद )?
निक टी


6
@NickT: इसे सुरक्षित चलायें
कोगिटो

जवाबों:


106

रूट CA प्रमाणपत्रों पर हस्ताक्षर बिल्कुल भी मायने नहीं रखते हैं, क्योंकि उन्हें सत्यापित करने की कोई आवश्यकता नहीं है। वे सभी स्व-हस्ताक्षरित हैं।

यदि आप रूट CA प्रमाणपत्र पर भरोसा करते हैं, तो इसके हस्ताक्षर को सत्यापित करने की कोई आवश्यकता नहीं है। यदि आप इस पर भरोसा नहीं करते हैं, तो इसका हस्ताक्षर आपके लिए बेकार है।

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


3
इस सवाल पर सवाल उठाता है कि वे आखिर क्यों हस्ताक्षरित हैं
रिचर्ड टिंगल

42
क्योंकि सिस्टम उन प्रमाणपत्रों का समर्थन नहीं करता जो हस्ताक्षरित नहीं हैं।
ऑरेंजडॉग

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

20
मैं इससे भी आगे जाऊंगा "उन्हें सत्यापित करने की कोई आवश्यकता नहीं है"। एक प्रमाण पत्र श्रृंखला में हस्ताक्षर का उद्देश्य यह है कि एक उच्च प्राधिकारी एक निचले प्राधिकरण को प्रमाणित करता है। रूट CA के लिए, परिभाषा के अनुसार कोई उच्च प्राधिकारी नहीं है (यह "रूट" का अर्थ है), इसलिए ऐसा कोई भी नहीं है जो संभवतः प्रमाण पत्र पर हस्ताक्षर कर सकता है । चूंकि, जैसा कि उल्लेख किया गया था, प्रमाणपत्र पर हस्ताक्षर किए जाने चाहिए , रूट सीए को "डमी" हस्ताक्षर के साथ हस्ताक्षरित किया जाता है, और ऐसा करने का सबसे सरल तरीका, स्वयं-हस्ताक्षर करना है। इसलिए, न केवल सत्यापित करने की आवश्यकता है, रूट सीए के हस्ताक्षर को सत्यापित करने का बहुत ही विचार गैर-संवेदी है।
जोर्ग डब्ल्यू मित्तग

13
@DewiMorgan आप एक हैश टकराव के साथ एक रूट सर्टिफिकेट को "क्रैक" नहीं कर सकते, क्योंकि क्लाइंट खुद को सर्टिफिकेट पर भरोसा करता है , न कि उसके (सेल्फ सिग्नेचर) पर। आपको निजी कुंजी को पुनर्प्राप्त करना होगा, जो कि आरएसए पर हमला है, हैश एल्गोरिथ्म पर नहीं।
zwol

46

दिन के अंत में, एक रूट प्रमाण पत्र स्व-हस्ताक्षरित होता है। यह अपने आप को छोड़कर कभी भी किसी अन्य संस्था द्वारा हस्ताक्षरित नहीं होता है। रूट सर्टिफिकेट आउट-ऑफ-बैंड प्रक्रियाओं के माध्यम से अपने विश्वास को प्राप्त करता है, जैसे कि यह विश्वसनीय प्रकाशकों की एक ब्राउज़र सूची में सबमिट करना, या Microsoft द्वारा विंडोज विश्वसनीय प्रकाशकों की डिफ़ॉल्ट सूची में प्रविष्टि के लिए स्वीकार करना।

ये प्रमाण पत्र (और जिन कंपनियों ने उन्हें स्व-हस्ताक्षरित किया है) (कथित तौर पर, उम्मीद से) केवल उनके हस्ताक्षरों की तुलना में अन्य माध्यमों से पूरी तरह से जुड़े हुए हैं।


2
उल्लेख नहीं करने के लिए, रूट प्रमाणपत्र को अपडेट करने के लिए उस आउट-ऑफ-बैंड प्रक्रिया से फिर से गुजरना पड़ता है।
कैथार

4
+1 "कथित तौर पर, उम्मीद के लिए"
नाथन उस्मान

6

एकमात्र मामला जहां यह मायने रखता है, यदि रूट SHA-1 द्वारा हस्ताक्षरित है, तो इसे SHA-1 द्वारा निरस्त किया जा सकता है। यही है, जो कोई SHA-1 पर हमला कर सकता है, वह रूट के लिए एक निरसन का निर्माण कर सकता है। और मुझे पूरा यकीन है कि ब्राउज़र को पता नहीं है कि यह कैसे जारी रखना चाहिए कि इस बर्बरता ने एसएसएल कनेक्शन को छोड़ने से अधिक पूरा नहीं किया है। कितना असंतोषजनक।


1
यह एक दिलचस्प विचार है लेकिन मुझे संदेह है कि यह इस तरह से काम करेगा। मेरा अनुमान है कि प्रत्येक एजेंट का अपना अनूठा व्यवहार होगा, लेकिन मुझे संदेह है कि किसी भी डेवलपर्स को यह विचार था कि रूट सीट्स के निरसन का प्रबंधन करने के लिए प्रत्यावर्तन सूची का उपयोग किया जाएगा। बहुत कम से कम, अगर यह कुछ मामलों में काम करता है, तो यह सॉफ़्टवेयर निरस्तीकरण के अमूर्त होने और डेवलपर्स द्वारा जानबूझकर नहीं होने के कारण होगा।
पीटर ओहेलर्ट

1

इस पर एक नोट के रूप में, कुछ सीए पहले से ही अपने रूट और मध्यवर्ती प्रमाण पत्र को SHA256 को अद्यतन कर रहे हैं।

मुझे पता है कि पिछले साल GlobalSign उनके प्रमाणपत्रों को अपडेट कर रहा था क्योंकि हम अपने कोड-साइनिंग प्रमाणपत्रों को अपडेट कर रहे थे, इसलिए मुझे उनकी नई श्रृंखला उन लोगों के साथ भी जोड़ना था।

आप जाँच सकते हैं कि कौन से विशिष्ट प्रमाण पत्र अपडेट हुए और किन लोगों ने उन्हें अद्यतन किया, लेकिन यहाँ => 1 के लिए एक विरासत SHA1 प्रमाणपत्र भी छोड़ दिया

उम्मीद है की वो मदद करदे।


0

रूट CA के लिए, आप CRT में सार्वजनिक कुंजी पर भरोसा करते हैं - CRT में - इसके स्व-हस्ताक्षर पर ध्यान दिए बिना।

कच्ची सार्वजनिक कुंजी के बजाय .CRT फ़ाइल स्वरूप का उपयोग करके CA का वर्णन करना। PEM इसमें और अधिक विवरण बंडल करने की अनुमति देता है - जैसे CA नाम - (अभी तक फिर से, हस्ताक्षर बेकार है)


-1

हैं बहुत पुरानी युग, ज्यादातर 2006 या इससे पहले पहले से ही पिन किए गए को विश्वसनीय SHA1 रूट प्रमाणपत्र है कि ब्राउज़र को स्वीकार नहीं, बल्कि किसी भी नए प्रमाण पत्र। याद रखें जब फ़ायरफ़ॉक्स और क्रोम को एकल अंकों का उपयोग करके संस्करणित किया गया था?

प्रमाणपत्र विफल हो जाते हैं यदि रूट CA 2014 से पहले सेट से पहले SHA1 प्रमाणपत्र का उपयोग नहीं करता है। वास्तविक तिथि प्रतिबंध ब्राउज़र या अन्य एप्लिकेशन पर निर्भर करता है। WebCA कैबफोरम ने कई साल पहले यह स्पष्ट कर दिया था। इसे स्वयं परखें:

  1. SHA1 के साथ हस्ताक्षरित एक निजी रूट सर्टिफिकेट अथॉरिटी इन्फ्रास्ट्रक्चर बनाएं, इसे rootSHA1 कहें
  2. RootSHA1 एक "जारी करने वाला" CA या "इंटरमीडिएट" CA बनाएं, जो प्रमाणपत्र को जड़ तक जंजीर के साथ जारी करता है। इसे इंटरमीडिएट SHA256 कहें।
  3. इंटरमीडिएट SH256 या उससे अधिक हैश के साथ हस्ताक्षरित एक प्रमाण पत्र उत्पन्न करने वाले CA को जारी करें। इसे webServerSHA256 कहें।
  4. WebServerSHA256 को webServerSHA56.mydomain.com पर स्थापित करें।
  5. Google Chrome में उपयुक्त स्थानों में rootSHA1, मध्यवर्ती SHA256 और webServerSHA256 प्रमाणपत्र स्थापित करें। रूट को विश्वसनीय रूट प्रमाणीकरण प्राधिकारी और अन्य को प्रमाणपत्र श्रृंखला के साथ स्थापित करें।
  6. Google Chrome को https://webServerSHA256.mydomain.com/ पर नेविगेट करें और सत्यापित करें कि webServerSHA256 के लिए हरा पैडलॉक नहीं है। टेस्ट में फेल हो गया।

यह काफी गलत है। इंटरमीडिएट सीरेट्स (और EE./leaf सीरेट्स) को SHA2 की आवश्यकता होती है, लेकिन जड़ें नहीं होती हैं। Google की अपनी सीरीज़ श्रृंखला अपने निजी CA (Google इंटरनेट अथॉरिटी G3) के माध्यम से GlobalSign Root CA R2 तक - जो SHA1 है - और (कोई आश्चर्य नहीं) क्रोम द्वारा स्वीकार किए जाते हैं।
dave_thompson_085

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