एचटीटीपीएस पर माइग्रेट करते समय, डेवलपर को दो चुनौतियों का सामना करना पड़ता है. ये समस्याएं, कॉन्सेप्ट और शब्दावली हैं. इस गाइड में दोनों के बारे में खास जानकारी दी गई है.
खास जानकारी
- ब्राउज़र और सर्वर के बीच मैसेज को साइन करने और डिक्रिप्ट करने के लिए, सार्वजनिक/निजी पासकोड का इस्तेमाल किया जाता है.
- सर्टिफ़िकेट देने वाली संस्था (CA) एक ऐसा संगठन है जो सार्वजनिक पासकोड और सार्वजनिक डीएनएस नामों (जैसे कि "www.foobar.com") के बीच मैपिंग की पुष्टि करता है.
- सर्टिफ़िकेट पर हस्ताक्षर करने का अनुरोध (सीएसआर), एक ऐसा डेटा फ़ॉर्मैट है जिसमें सार्वजनिक पासकोड को उस इकाई के मेटाडेटा के साथ बंडल किया जाता है जिसके पास पासकोड का मालिकाना हक है
सार्वजनिक और निजी कुंजी के जोड़े क्या हैं?
सार्वजनिक/निजी कुंजी का जोड़ा बहुत बड़ी संख्याओं का जोड़ा होता है. इनका इस्तेमाल एन्क्रिप्शन और डिक्रिप्शन कुंजियों के तौर पर किया जाता है. इनका इस्तेमाल गणित के खास संबंध के आधार पर किया जाता है. कुंजी के जोड़ों के लिए एक सामान्य सिस्टम आरएसए क्रिप्टोसिस्टम है. सार्वजनिक कुंजी का इस्तेमाल मैसेज को एन्क्रिप्ट करने के लिए किया जाता है और मैसेज को सिर्फ़ उनसे जुड़ी निजी कुंजी का इस्तेमाल करके ही डिक्रिप्ट किया जा सकता है. आपका वेब सर्वर दुनिया के लिए अपनी सार्वजनिक कुंजी का विज्ञापन करता है और क्लाइंट (जैसे कि वेब ब्राउज़र) इसका इस्तेमाल आपके सर्वर पर एक सुरक्षित चैनल को बूटस्ट्रैप करने के लिए करते हैं.
सर्टिफ़िकेट देने वाली संस्था क्या होती है?
सर्टिफ़िकेट देने वाली संस्था (सीए) एक ऐसा संगठन है जो सार्वजनिक पासकोड और सार्वजनिक डीएनएस के नामों (जैसे, "www.foobar.com") के बीच मैपिंग की पुष्टि करता है. उदाहरण के लिए, क्लाइंट को यह कैसे पता चलेगा कि www.foobar.com के लिए कोई खास सार्वजनिक कुंजी true सार्वजनिक कुंजी है या नहीं? प्राथमिकता, जानने का कोई तरीका नहीं है. सीए, किसी खास कुंजी को सही होने का दावा करता है. इसके लिए, वह वेबसाइट के सार्वजनिक पासकोड पर क्रिप्टोग्राफ़िक तरीके से हस्ताक्षर करने के लिए, अपनी निजी कुंजी का इस्तेमाल करता है. कंप्यूटर से इस हस्ताक्षर को नकली नहीं बनाया जा सकता. ब्राउज़र (और दूसरे क्लाइंट) ऐसे ट्रस्ट ऐंकर स्टोर बनाए रखते हैं जिनमें जाने-माने सीए के मालिकाना हक वाली सार्वजनिक कुंजियां होती हैं. साथ ही, वे उन सार्वजनिक कुंजियों का इस्तेमाल, सीए के हस्ताक्षर की क्रिप्टोग्राफ़िक तरीके से पुष्टि करने के लिए करते हैं.
X.509 सर्टिफ़िकेट एक ऐसा डेटा फ़ॉर्मैट है जो सार्वजनिक पासकोड को, उस इकाई से जुड़े कुछ मेटाडेटा के साथ बंडल करता है जिसके पास पासकोड का मालिकाना हक है. वेब के मामले में, कुंजी का मालिक साइट ऑपरेटर होता है और वेब सर्वर का डीएनएस नाम अहम मेटाडेटा होता है. जब कोई क्लाइंट, किसी एचटीटीपीएस वेब सर्वर से कनेक्ट होता है, तो वेब सर्वर अपना सर्टिफ़िकेट दिखाता है, ताकि क्लाइंट उसकी पुष्टि कर सके. क्लाइंट इस बात की पुष्टि करता है कि सर्टिफ़िकेट की समयसीमा खत्म नहीं हुई है और डीएनएस का नाम, उस सर्वर के नाम से मेल खाता है जिससे क्लाइंट कनेक्ट करने की कोशिश कर रहा है. साथ ही, यह भी जांच करता है कि जाने-पहचाने ट्रस्ट ऐंकर सीए ने सर्टिफ़िकेट पर हस्ताक्षर किया है. ज़्यादातर मामलों में, सीए, वेब सर्वर सर्टिफ़िकेट को सीधे तौर पर साइन नहीं करते हैं. आम तौर पर, सर्टिफ़िकेट की ऐसी चेन होती है जो ट्रस्ट ऐंकर को हस्ताक्षर करने वाले इंटरमीडिएटर या हस्ताक्षर करने वाले लोगों से लिंक करती है. आखिर में, वेब सर्वर के खुद के सर्टिफ़िकेट (आखिरी इकाई) से लिंक होती है.
सर्टिफ़िकेट पर हस्ताक्षर करने के अनुरोध का क्या मतलब है?
सर्टिफ़िकेट पर हस्ताक्षर करने का अनुरोध (सीएसआर) एक डेटा फ़ॉर्मैट है. यह सर्टिफ़िकेट की तरह ही, सार्वजनिक पासकोड के साथ उस इकाई के मेटाडेटा को बंडल करता है जिसके पास पासकोड का मालिकाना हक है. हालांकि, ग्राहक सीएसआर की व्याख्या नहीं करते हैं; CAs ऐसा करते हैं. जब आप अपने वेब सर्वर की सार्वजनिक कुंजी के लिए कोई CA वाउच पाना चाहते हैं, तो आप सीए को एक सीएसआर भेजते हैं. सीए, सीएसआर में दी गई जानकारी की पुष्टि करता है और सर्टिफ़िकेट जनरेट करने के लिए इसका इस्तेमाल करता है. इसके बाद सीए आपको फ़ाइनल सर्टिफ़िकेट भेजता है और वह सर्टिफ़िकेट (या ज़्यादातर, सर्टिफ़िकेट चेन) और अपने वेब सर्वर पर आपकी निजी कुंजी इंस्टॉल करता है.