एसएसएल के संबंध में एक प्रमाण पत्र और एक कुंजी के बीच अंतर क्या है?


126

जब भी मैं एसएसएल के बारे में कुछ भी समझने की कोशिश करता हूं, तो हमेशा "की" और "सर्टिफिकेट" का उल्लेख करते हुए एक कठिन समय होता है। मुझे डर है कि बहुत से लोग गलत तरीके से या परस्पर उपयोग करते हैं। क्या एक कुंजी और एक प्रमाण पत्र के बीच एक मानक अंतर है?


एसएसएल के लिए इस्तेमाल किया जाने वाला
अनाज

जवाबों:


114

प्रमाणपत्र में एक सार्वजनिक कुंजी होती है।

प्रमाण पत्र, सार्वजनिक कुंजी रखने के अलावा, जारीकर्ता के रूप में अतिरिक्त जानकारी शामिल है, प्रमाण पत्र का उपयोग करने के लिए क्या माना जाता है, और अन्य प्रकार के मेटाडेटा।

आमतौर पर, CA की निजी कुंजी का उपयोग करके एक प्रमाण पत्र स्वयं एक प्रमाणपत्र प्राधिकारी (CA) द्वारा हस्ताक्षरित होता है। यह प्रमाण पत्र की प्रामाणिकता की पुष्टि करता है।


4
@Zoredache यदि किसी प्रमाणपत्र में आम तौर पर केवल एक सार्वजनिक कुंजी होती है, तो क्या .p12 या .pfx फ़ाइलों को कॉल करने के लिए एक अच्छा नाम है, जिसमें प्रमाणपत्र और निजी कुंजियाँ एक साथ हैं?
18-13 को

एक pkcs12 एक पुरालेख प्रारूप है। इसमें एक कुंजी हो सकती है, या शायद नहीं। जब कोई विशेष फ़ाइल सम्‍मिलित होती है, या केवल pkcs12 फ़ाइल कहती है, तो मैं हमेशा विशिष्ट होने की कोशिश करता हूं।
ज़ॉडेचेस

2
यह अतिरिक्त जानकारी कहाँ दफन है? मैं कुछ प्रमाणपत्रों को देख रहा था और यह मेरे लिए सब कुछ अस्पष्ट है
CodyBugstein

3
आप जिस गिबिश को देख रहे हैं वह बेस 64 एनकोडिंग है। यह इस तरह से किया जाता है कि संभवतः इसी तरह से ईमेल अटैचमेंट में परिवर्तित कर दिया जाता है - मूल रूप से यह सुनिश्चित करने के लिए कि वे केवल आकस्मिक संशोधन के बिना ASCII के लिए डिज़ाइन किए गए प्रोटोकॉल और तंत्रों के माध्यम से परिवहन कर सकते हैं और नईलाइन, ब्रैकेट आदि जैसी चीजों के बारे में चिंता किए बिना opensslकमांड को डिकोड कर सकते हैं। और इन्हें पार्स करें या आप इस तरह की ऑनलाइन उपयोगिता का उपयोग कर सकते हैं: lapo.it/asn1js
लॉरेंस सी

क्या CA या सर्वर द्वारा हस्ताक्षरित प्रमाण पत्र के साथ संचार किया जा रहा है?
ओलशनस्क

58

इन दो तस्वीरों ने मिलकर मुझे सब कुछ समझाया:

स्रोत: linuxvoice

यहाँ छवि विवरण दर्ज करें

स्रोत: infosecinstitute

यहाँ छवि विवरण दर्ज करें



अच्छा लगा। 1 स्पष्टीकरण: पहली तस्वीर मानक (1-तरफा) टीएलएस ऑर्टिकल है; 2, पारस्परिक (2-तरह)। और 1 में 1 अतिरिक्त कॉल-आउट से यह समझाने में मदद मिलेगी कि ट्रस्ट वास्तव में कैसे स्थापित किया जाता है (सभी उस 1 मित्र-समान तस्वीर में): क्लाइंट को सर्वर का सार्वजनिक कुंजी प्रमाणपत्र मिलने के बाद, ग्राहक सत्यापित करता है कि CA ने हस्ताक्षर किए हैं सर्वर का सर्टिफिकेट क्लाइंट के विश्वसनीय सीए की निजी सूची में निहित है (यह स्थापित करते हुए कि अब वह सीए पर भी भरोसा करता है)। फिर, सर्वर को सत्र कुंजी भेजने के लिए सुरक्षित है, w / जो प्रत्येक अब एन्क्रिप्ट और बाद के संचार को डिक्रिप्ट कर सकता है।
user1172173

Linuxvoice.com/ पर पहला लिंक, प्रमाणपत्र त्रुटि देता है। विडंबना।
टोबर्ब

37

कहते हैं कि कंपनी A के पास एक महत्वपूर्ण जोड़ी है और उसे सार्वजनिक उपयोग (अपनी वेब साइट पर उर्फ ​​एसएसएल) के लिए अपनी सार्वजनिक कुंजी प्रकाशित करने की आवश्यकता है।

  • कंपनी A को अपनी मुख्य जोड़ी के लिए प्रमाणपत्र प्राप्त करने के लिए एक प्रमाणीकरण प्राधिकारी (CA) को प्रमाणपत्र अनुरोध (CR) करना चाहिए।
  • सर्टिफिकेट रिक्वेस्ट के हिस्से के रूप में पब्लिक की, लेकिन प्राइवेट चाबी नहीं, कंपनी ए की जोड़ी को शामिल किया गया है।
  • CA तब कंपनी A की पहचान जानकारी का उपयोग यह निर्धारित करने के लिए करता है कि क्या प्रमाणपत्र जारी करने के लिए CA के मापदंड को पूरा करता है।
    यदि CA अनुरोध को मंजूरी देता है, तो यह कंपनी के लिए एक प्रमाण पत्र जारी करता है। संक्षेप में CA संकेत कंपनी A की सार्वजनिक कुंजी उसके (CA) निजी कुंजी के साथ है, जो इसकी प्रामाणिकता की पुष्टि करता है।

तो एक वैध सीए की निजी कुंजी के साथ हस्ताक्षरित कंपनी ए की सार्वजनिक कुंजी को कंपनी ए का प्रमाण पत्र कहा जाता है।


क्या कंपनी ए किसी भी बिंदु को अपने (कंपनी ए के) प्रमाणपत्र के साथ कंपनी (ए) की निजी कुंजी कहती है?
टोला ओदेजई 21

ए। के लिए एक निजी कुंजी नहीं रहती है
मोहसिन हैदरी

तो कंपनी A की निजी कुंजी का उपयोग कहां किया जाता है?
सिवनी

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

मुझे लगता है कि कंपनी ए पुरुष है।
16

5

एक उदाहरण से समझाता हूं।

सामान्य की-जोड़ी आधारित PKI में, निजी कुंजी और सार्वजनिक कुंजी होती है।

प्रमाणपत्र-आधारित प्रणाली में, निजी कुंजी और प्रमाण पत्र होते हैं। प्रमाणपत्र सार्वजनिक कुंजी से अधिक जानकारी रखता है।

डेमो (आप एक प्रमाण पत्र और निजी कुंजी उत्पन्न कर सकते हैं): http://www.selfsigncertificate.com/

आप निजी कुंजी फ़ाइल और प्रमाणपत्र फ़ाइल खोल सकते हैं, आप देख सकते हैं कि प्रमाण पत्र फ़ाइल में नीचे दी गई जानकारी है। यहाँ छवि विवरण दर्ज करें यहाँ छवि विवरण दर्ज करें

आप इस साइट से अपने उत्पन्न प्रमाण पत्र (एक पाठ संपादक द्वारा खोलने), और निजी कुंजी (एक पाठ संपादक द्वारा खोलना) का मिलान कर सकते हैं: https://www.sslshopper.com/certificate-key-matcher.html

यदि प्रमाणपत्र क्लाइंट की निजी कुंजी से मेल खाता है, तो ग्राहक सुनिश्चित है, वह प्रमाण पत्र ग्राहक द्वारा दिया गया है या ग्राहक के विश्वसनीय एजेंट (CA) द्वारा दिया गया है।

हालांकि, केवल निजी कुंजी और प्रमाणपत्र-आधारित संचार में समस्याएं हैं

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

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

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

हालाँकि, कुछ समस्याओं को हल करते समय, CA का उपयोग करना दूसरे का परिचय देता है। क्योंकि CA कई सर्वरों के लिए प्रमाण पत्र जारी करता है, फिर भी आपको यह सुनिश्चित करने के लिए किसी तरह की आवश्यकता होती है कि आप जिस सर्वर से बात कर रहे हैं। इसे संबोधित करने के लिए, CA द्वारा जारी प्रमाण पत्र सर्वर की पहचान या तो एक विशिष्ट नाम जैसे gmail.com या मेजबानों के एक वाइल्डकार्ड सेट जैसे * .google.com से करता है।

निम्न उदाहरण इन अवधारणाओं को थोड़ा और ठोस बना देगा। कमांड लाइन से नीचे स्निपेट में, Opensl टूल का s_client कमांड विकिपीडिया के सर्वर प्रमाणपत्र जानकारी को देखता है। यह पोर्ट 443 को निर्दिष्ट करता है क्योंकि HTTPS के लिए यह डिफ़ॉल्ट है। कमांड ओपनएसएल एस 50 के आउटपुट को ओपनएसएल एक्स 509 में भेजती है, जो एक्स 509 मानक के अनुसार प्रमाण पत्र के बारे में जानकारी को प्रारूपित करता है। विशेष रूप से, कमांड उस विषय के लिए पूछता है, जिसमें सर्वर नाम की जानकारी होती है, और जारीकर्ता, जो सीए की पहचान करता है।

$ openssl s_client -connect wikipedia.org:443 | openssl x509 -noout -subject -issuer
subject= /serialNumber=sOrr2rKpMVP70Z6E9BT5reY008SJEdYv/C=US/O=*.wikipedia.org/OU=GT03314600/OU=See www.rapidssl.com/resources/cps (c)11/OU=Domain Control Validated - RapidSSL(R)/CN=*.wikipedia.org
issuer= /C=US/O=GeoTrust, Inc./CN=RapidSSL CA

आप देख सकते हैं कि सर्टिफिकेट मेल के लिए जारी किया गया था।

जैसा कि आप देख सकते हैं, CA द्वारा सर्वर को भेजी गई इस अतिरिक्त जानकारी के कारण, ग्राहक आसानी से जान सकता है कि वह अपने सर्वर के साथ संचार कर रहा है या नहीं।


3

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

एक सत्र के दौरान कई एसएसएल कुंजी उत्पन्न की जा सकती हैं। उनका उपयोग कंप्यूटर से और उसके पास भेजी जाने वाली सूचनाओं को एन्क्रिप्ट और डिक्रिप्ट करने के लिए किया जाता है। कुंजियों का उपयोग यह सत्यापित करने के लिए किया जाता है कि जानकारी को संशोधित या छेड़छाड़ नहीं किया गया है।

जीवनचक्र अंतर

SSL कुंजी की तुलना में प्रमाण पत्र लंबे समय तक चलते हैं। SSL प्रमाणपत्र प्रमाणन प्राधिकरण से प्राप्त किए जाते हैं, जिन्हें नियमित रूप से बैंकों और व्यवसायों द्वारा नवीनीकृत किया जा सकता है। दूसरी ओर SSL कुंजी या सत्र कुंजियाँ, सत्र के दौरान विशिष्ट रूप से उत्पन्न होती हैं और सत्र समाप्त होने पर छोड़ दी जाती हैं।

यहाँ और पढ़ें


2

ठीक है, चलो इसे नीचे तोड़ दें ताकि गैर तकनीकी लोग समझ सकें।

इसके बारे में इस तरह से सोचें। प्रमाणपत्र आपके बैंक में सुरक्षा जमा बॉक्स की तरह है। इसमें बहुत सारे महत्वपूर्ण सामान शामिल हैं; आम तौर पर सामान जिसमें आपकी पहचान होती है। प्रमाणपत्र में एक सार्वजनिक कुंजी है और इसे खोलने के लिए एक निजी कुंजी की आवश्यकता है।

आपका सुरक्षा जमा बॉक्स प्रमाण पत्र की तरह ही खोलने के लिए दो कुंजी लेता है।
सेफ्टी डिपॉजिट बॉक्स के साथ, बैंकर की कुंजी सार्वजनिक कुंजी की तरह होती है क्योंकि यह बैंक में रहती है और सार्वजनिक कुंजी प्रमाणपत्र के साथ रहती है। आपके पास निजी कुंजी है, जिसे "अपना प्रमाणपत्र प्राप्त करने" की आवश्यकता है और सुरक्षा जमा बॉक्स के उदाहरण में, सार्वजनिक कुंजी के साथ-साथ आपकी निजी कुंजी की भी आवश्यकता है।

इससे पहले कि आप वास्तव में अपनी सुरक्षा जमा बॉक्स खोल सकें, आपको पहले अपनी पहचान (प्रमाणपत्र अनुरोध की तरह) सत्यापित करनी होगी; एक बार आपकी पहचान हो जाने के बाद, आप अपनी सुरक्षा बॉक्स को खोलने के लिए सार्वजनिक कुंजी के साथ अपनी निजी कुंजी का उपयोग करते हैं। यह आपके प्रमाणपत्र अनुरोध करने और फिर प्रमाणीकरण प्राधिकारी से अपना प्रमाणपत्र प्राप्त करने (जब तक आपको पहचाना जा सकता है (विश्वसनीय) है और आपके पास सही कुंजी है) की तरह एक सा है।


3
<PiratesOfTheCarribean> तो हम इस कुंजी के बाद जा रहे हैं! </ PiratesOfTheCarribean> (यह पढ़ें: आप बिलकुल भी समझ में नहीं आ रहे हैं ...)
Timo
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.