2009-07-06 14 views
14

वहां सभी एसएसएल विशेषज्ञों के लिए प्रश्न:एसएसएल प्रमाणीकरण?

हमारे पास एक छोटे से वेब सर्वर के साथ एक एम्बेडेड डिवाइस है, और हम इसके अपने स्वयं के एसएसएल स्वयं-हस्ताक्षरित प्रमाणपत्र स्थापित कर सकते हैं। ग्राहक .NET में लिखा गया है (लेकिन इससे कोई फर्क नहीं पड़ता)।

मैं डिवाइस को .NET में कैसे प्रमाणित कर सकता हूं? क्या यह डेटाबेस में ज्ञात प्रविष्टि के विरुद्ध प्रमाणपत्र के फिंगरप्रिंट की तुलना में पर्याप्त है?

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

या क्या मुझे अपनी खुद की श्रृंखला का निर्माण करना है, अपना स्वयं का सीए रूट प्रमाणपत्र बनाना है, वेब सर्वर प्रमाण पत्र पर हस्ताक्षर करना है और क्लाइंट पर स्थापित करना है?

उत्तर

4

जो आप प्रस्तावित करते हैं वह सिद्धांत रूप में ठीक है। उदाहरण के लिए यह key signing parties के दौरान उपयोग किया जाता है। यहां प्रतिभागी आमतौर पर अपने सार्वजनिक कुंजी के अपने नाम और फिंगरप्रिंट का आदान-प्रदान करते हैं और सुनिश्चित करते हैं कि पार्टी में व्यक्ति वास्तव में वह दावा करता है। एक लंबी सार्वजनिक कुंजी को सत्यापित करने के बजाय बस फिंगरप्रिंट की पुष्टि करना बहुत आसान है।

एक और उदाहरण तथाकथित self certifying file system है। यहां फिर से एक सुरक्षित चैनल पर केवल सार्वजनिक कुंजी के हैंश का आदान-प्रदान हो जाता है। (यानी ये हैंश यूआरएल में एम्बेडेड हैं।) इस योजना में सार्वजनिक कुंजी को सुरक्षित रूप से भेजा जाना नहीं है। रिसीवर को केवल यह जांचना पड़ता है कि सार्वजनिक कुंजी के हैश यूआरएल में एम्बेडेड हैंश मैच करते हैं। बेशक रिसीवर को यह भी सुनिश्चित करना होगा कि ये यूआरएल एक विश्वसनीय स्रोत से आते हैं।

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

+1

देखें स्केलेबिलिटी वास्तव में पीकेआई के लिए एक अच्छा कारण है, धन्यवाद! – chris166

+0

फिंगरप्रिंट सत्यापन और कुंजी हस्ताक्षर पक्षों के बीच समानता के चित्रण का अच्छा तरीका। एसएचए -1 हथियारों का प्रतिरोध टकराव के लिए दोनों घटनाओं में एक प्रमुख भूमिका निभाता है। –

3

उसी तरह आप और दो वस्तुओं नहीं नहीं मानना ​​चाहिए होता बराबर हो सिर्फ इसलिए कि उनके हैश कोड का मिलान नहीं हुआ है, तो आप एक प्रमाण पत्र पर विचार नहीं किया जाना चाहिए प्रामाणिक सिर्फ इसलिए अपनी अंगुली की छाप "ज्ञात की एक सूची में प्रकट होता है में प्रमाण पत्र फिंगरप्रिंट "।

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

+5

हुह? क्रिप्टोग्राफिक हैश फ़ंक्शंस जैसे SHA1 को इस प्रकार डिज़ाइन किया गया है कि एक ही आउटपुट में हैश को दो इनपुट ढूंढना अक्षम है। इसलिए यदि उनके हैश मैच तो यह मानना ​​सुरक्षित है कि इनपुट बराबर हैं। इसलिए यह भी मानना ​​सुरक्षित है कि एक प्रेरित हमलावर मिलान प्रमाणपत्रों के साथ दो प्रमाण पत्र तैयार नहीं कर सकता है (कम से कम जब तक हैश टूट नहीं जाता है)। इसके अलावा, अकेले स्वयं हस्ताक्षरित प्रमाणपत्र के हस्ताक्षर की जांच पर्याप्त नहीं है। आपको हस्ताक्षर कुंजी पर भरोसा करने में सक्षम होना चाहिए। – Accipitridae

+4

टक्कर * * हैश एल्गोरिदम के साथ जीवन का एक तथ्य है। और इनमें से कुछ एल्गोरिदम को सर्वोत्तम इरादों के साथ डिजाइन किए जाने के बावजूद, एमडी 5 पहले ही डेथ्रोन किया गया था, और एसएचए -1 को भी कमजोरियों के साथ दिखाया गया है। देखें http://www.crn.com/security/212700354 और http://www.rsa.com/rsalabs/node.asp?id=2834। मैं बनाए रखता हूं कि प्रमाणपत्र को अच्छी तरह से जांचना बेहतर है और फिंगरप्रिंट पर भरोसा न करें। –

+5

... और हस्ताक्षर की वैधता की जांच करने के लिए आप पहले अपना डेटा हैश करें और फिर जांचें कि यह वही हैश मान है जिस पर हस्ताक्षर किए गए थे। इसलिए यदि आप डिजिटल हस्ताक्षर सत्यापित करते हैं तो आप वास्तव में अपने हैश एल्गोरिदम के टकराव प्रतिरोध पर भरोसा करते हैं। – Accipitridae

1

लघु:

खैर सिद्धांत रूप में आप तो वास्तव में क्या कोई प्रमाणपत्र प्राधिकरण आप के लिए करता है। तो यह ठीक होना चाहिए।

लंबे समय तक:

जब कोई प्रमाणपत्र प्राधिकरण अपने सार्वजनिक कुंजी/प्रमाण पत्र/प्रमाण पत्र अनुरोध यह पूरे प्रमाण पत्र डेटा हस्ताक्षर नहीं करता है पर हस्ताक्षर करता है। लेकिन पूरे प्रमाणपत्र डेटा की गणना की हैश मान। यह हस्ताक्षर को छोटा रखता है।

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

जैसा कि अन्य लोगों ने कहा है कि आपको सुरक्षित/सुरक्षित हैशिंग एल्गोरिदम का उपयोग करना सुनिश्चित करना चाहिए। SHA-1 अब सुरक्षित नहीं है।

इस विषय से अधिक विस्तृत जानकारियां:

संबंधित मुद्दे