एचपीकेपी एक पदावनत वेब सुरक्षा प्रतिक्रिया शीर्षलेख है, संक्षिप्त नाम HTTP सार्वजनिक कुंजी पिन के लिए है। इसका उद्देश्य एक वेबसाइट के लिए एक सार्वजनिक रूप से विश्वसनीय, लेकिन हैकर-नियंत्रित, HTTPS प्रमाणपत्र जारी करने से समझौता या दुष्ट प्रमाणपत्र प्राधिकरण को रोकना था। इस परिदृश्य में, हैकर्स प्रभावित वेबसाइट पर किसी भी इंटरसेप्टेड HTTPS ट्रैफ़िक को डिक्रिप्ट करने में सक्षम होंगे।
युक्ति: वेब प्रतिक्रिया शीर्षलेख मेटा-डेटा के टुकड़े होते हैं जिन्हें सर्वर अनुरोधों का जवाब देते समय शामिल करता है। इनमें से एक छोटे उपसमुच्चय को सुरक्षा हेडर के रूप में संदर्भित किया जाता है, क्योंकि वे विभिन्न सुरक्षा सुविधाओं को सक्षम और कॉन्फ़िगर करते हैं।
HTTPS प्रमाणपत्र अवसंरचना
सर्टिफिकेट इन्फ्रास्ट्रक्चर जिस पर HTTPS बनाया गया है, वह भरोसे के वेब पर आधारित है। कई कंपनियां सर्टिफिकेट अथॉरिटी (सीए) के रूप में कार्य करती हैं जो एक या अधिक रूट सर्टिफिकेट प्रकाशित करती हैं। ट्रस्ट स्टोर के सभी डिवाइस में रूट प्रमाणपत्र का एक सेट शामिल होता है। जब कोई वेबसाइट सीए से स्वयं के HTTPS प्रमाणपत्र का अनुरोध करती है, तो प्रमाणपत्र पर रूट प्रमाणपत्र द्वारा हस्ताक्षर किए जाते हैं। जब आपका कंप्यूटर एक HTTPS प्रमाणपत्र देखता है, तो यह हस्ताक्षर की जांच करता है। यदि प्रमाणपत्र उस रूट प्रमाणपत्र द्वारा हस्ताक्षरित है जिस पर वह भरोसा करता है, तो आपका कंप्यूटर भी HTTPS प्रमाणपत्र पर भरोसा करता है।
युक्ति: CA के पास रूट प्रमाणपत्र द्वारा हस्ताक्षरित मध्यवर्ती प्रमाणपत्र भी हो सकते हैं। इन मध्यवर्ती प्रमाणपत्रों का उपयोग वेबसाइटों के लिए HTTPS प्रमाणपत्रों पर हस्ताक्षर करने के लिए भी किया जा सकता है।
सर्टिफिकेट अथॉरिटी का काम केवल सर्टिफिकेट जारी करना होता है, जब उन्होंने यह सत्यापित कर लिया हो कि उनसे अनुरोध करने वाला व्यक्ति वेबसाइट का असली मालिक है। इस संरचना के साथ विचार यह है कि यदि कोई हैकर किसी वेबसाइट के लिए अपना स्वयं का प्रमाणपत्र बनाता है, तो उस पर आपके कंप्यूटर पर किसी सीए द्वारा हस्ताक्षर नहीं किया जाएगा, और इसलिए आपको एक चेतावनी दिखाई देगी।
एचपीकेपी ने क्या किया?
संपूर्ण प्रमाणपत्र प्रणाली प्रमाणपत्र अधिकारियों की विश्वसनीयता पर निर्भर करती है। मूल रूप से, हालांकि, हैकर्स द्वारा किसी सीए के साथ समझौता किए जाने या दुष्ट होने और गलत तरीके से प्रमाणपत्र जारी करने का चयन करने के खिलाफ कोई सुरक्षा नहीं थी।
एचपीकेपी को इस संभावना से सुरक्षा के लिए डिजाइन किया गया था। यह वेबसाइटों को उन प्रमाणपत्रों की एक विशेष सूची निर्दिष्ट करने की अनुमति देता है जिन पर पिनिंग नामक प्रक्रिया में वेबसाइट के लिए भरोसा किया जा सकता है। रूट या इंटरमीडिएट प्रमाणपत्र को पिन करना संभव था, अनिवार्य रूप से एक सीए को वेबसाइट के लिए प्रमाण पत्र जारी करने की इजाजत थी। वेबसाइट के प्रमाण पत्र को पिन करना भी संभव था, यहां तक कि सही सीए को एक और वैध प्रमाण पत्र जारी करने से भी रोका जा सकता था।
तकनीकी रूप से यह स्वयं प्रमाणपत्र नहीं है जिसे पिन किया गया है, बल्कि प्रमाणपत्र की कुंजी का हैश है। हैश एक तरफ़ा क्रिप्टोग्राफ़िक फ़ंक्शन है। इसका मतलब है कि यह सत्यापित करना संभव है कि वेबसाइट द्वारा ब्राउज़र को प्रस्तुत किया गया प्रमाणपत्र पिन किए गए प्रमाणपत्र से मेल खाता है, लेकिन वैध प्रमाणपत्र बनाने के लिए हैश का उपयोग करना संभव नहीं है।
HPKP को पिन करने के लिए कम से कम दो कुंजियों की आवश्यकता होती है, जिनमें से कम से कम एक बैकअप होना चाहिए और वर्तमान प्रमाणपत्र श्रृंखला में नहीं होना चाहिए। यह बैकअप आपको एक नए प्रमाणपत्र के लिए सहज हैंडओवर कॉन्फ़िगर करने की अनुमति देता है जो उपयोगकर्ताओं को कनेक्ट करने में सक्षम होने से नहीं रोकता है।
यदि वेबसाइट द्वारा ब्राउज़र को प्रस्तुत किया गया HTTPS प्रमाणपत्र पिन किए गए किसी एक से मेल नहीं खाता है प्रमाणपत्र, तो ब्राउज़र को इसे अस्वीकार करने और उपयोगकर्ता को प्रमाणपत्र को बायपास करने से रोकने की आवश्यकता होती है त्रुटि संदेश।
एचपीकेपी की संरचना
HPKP हेडर में तीन अनिवार्य भाग और दो वैकल्पिक भाग होते हैं। शीर्षलेख का शीर्षक "सार्वजनिक-कुंजी-पिन" होना चाहिए, अगले दो या अधिक प्रमाणपत्रों में बेस 64 एन्कोडेड SHA256 हैश को 'पिन-sha256 =' प्रारूप में पिन किया जाना चाहिए।
युक्ति: SHA256 HPKP द्वारा उपयोग किया जाने वाला हैशिंग एल्गोरिथम है। बेस 64 64 वर्णों वाला एक वर्ण सेट है: 0-9, ए-जेड, ए-जेड, और विशेष वर्ण "+" और "/"। यदि आवश्यक हो तो "=" का उपयोग अंतिम दो वर्णों तक पैड आउट करने के लिए किया जाता है।
वैकल्पिक सेटिंग्स "सबडोमेन शामिल करें" और "रिपोर्ट-यूरी" हैं। "सबडोमेन शामिल करें, ब्राउज़र को "अधिकतम-आयु" टाइमर की अवधि के लिए वर्तमान वेबसाइट के किसी भी उपडोमेन पर एचपीकेपी सुरक्षा लागू करने का निर्देश देता है। "रिपोर्ट-यूरी" एक ऐसी सुविधा है जो एक वेबसाइट को निर्दिष्ट करने की अनुमति देती है जहां त्रुटि रिपोर्ट भेजी जा सकती है, और समस्याओं को पहचानने और हल करने में सहायता के लिए डिज़ाइन की गई है।
"सार्वजनिक-कुंजी-पिन-रिपोर्ट-केवल" शीर्षक वाले शीर्षलेख का दूसरा संस्करण है। सब कुछ समान है, हालांकि, यदि कोई त्रुटि पाई जाती है, तो ब्राउज़र में त्रुटि संदेश वापस करने के अलावा कोई कार्रवाई नहीं की जाती है और यदि कोई कॉन्फ़िगर किया गया है तो "रिपोर्ट-यूरी" पर। रिपोर्ट केवल संस्करण को परिनियोजन से पहले हेडर के पूर्ण पैमाने पर परीक्षण को सक्षम करने के लिए डिज़ाइन किया गया था, जहाँ त्रुटियों के कारण उपयोगकर्ताओं को समस्या नहीं होगी।
एचपीकेपी के साथ मुद्दे
एचपीकेपी को दो मुख्य कारणों से हटा दिया गया था। ऐसे दो तरीके थे जिनसे हेडर वेबसाइट का उपयोग करने के लिए गंभीर समस्याएं पैदा कर सकता था, इन्हें एचपीकेपी आत्महत्या और फिरौती पीकेपी नाम दिया गया था।
एचपीकेपी आत्महत्या एक ऐसा मुद्दा है जहां वेबसाइट के वैध मालिक पिन की गई सभी चाबियों तक पहुंच खो देते हैं। यह आकस्मिक विलोपन, हैकिंग, वायरस, डेटा भ्रष्टाचार, या कई अन्य कारणों से हो सकता है। HPKP को सही ढंग से लागू करने की जटिलता के कारण, और विशेष रूप से प्रमाणपत्र रोटेशन के दौरान इसे अद्यतन रखते हुए, कॉन्फ़िगरेशन त्रुटि करना अपेक्षाकृत आसान है। हालांकि, एचपीकेपी के साथ, यदि आप कुछ गलत करते हैं, तो आपकी वेबसाइट पर हाल के सभी विज़िटर को आपकी वेबसाइट तक "अधिकतम-आयु" टाइमर तक पहुंचने से रोक दिया जाएगा। वेबसाइट Smashingmagazine.com ने एक पोस्ट किया लेख वास्तव में इस मुद्दे के साथ अपने अनुभव का विवरण देते हुए, जो अनिवार्य रूप से साइट को अधिकांश आगंतुकों के लिए चार दिनों के लिए एक फिक्स तैनात करने से पहले ऑफ़लाइन ले गया था।
रैनसम पीकेपी एक सैद्धांतिक हमला है जहां एक हैकर वेब सर्वर तक पहुंच प्राप्त करता है, फिर सभी विश्वसनीय प्रमाणपत्रों और चाबियों को चुरा लेता है और फिर उनकी वापसी के लिए फिरौती की मांग करता है। एक सामान्य सेट अप में, आप केवल नई कुंजी और प्रमाणपत्र उत्पन्न कर सकते हैं और वेबसाइट को एक घंटे से भी कम समय में बैक अप और चालू कर सकते हैं। एचपीकेपी सक्षम होने के साथ, हालांकि, उन कुंजियों को पिन किया जाता है, यदि आप उपयोगकर्ताओं को पिन किए गए प्रमाणपत्र की सेवा नहीं दे सकते हैं, तो वे "अधिकतम-आयु" टाइमर की अवधि के लिए वेबसाइट तक नहीं पहुंच पाएंगे। कॉन्फ़िगरेशन के आधार पर और यदि बैकअप मौजूद हैं, तो इस समस्या को हल करना असंभव हो सकता है।
इन दोनों मुद्दों के साथ, नए उपयोगकर्ता वेबसाइट को सामान्य रूप से एक्सेस करने में सक्षम होंगे, जैसा कि वे करेंगे पुराने एचपीकेपी हेडर को कभी नहीं देखा है जो अपने ब्राउज़र को केवल अब लापता पर भरोसा करने का निर्देश देते हैं प्रमाण पत्र। हालांकि, हाल के सभी विज़िटर, जैसे कि नियमित ग्राहक और पाठक, को "अधिकतम-आयु" टाइमर की पूरी अवधि के लिए प्रतीक्षा करनी होगी।
इन मुद्दों की गंभीरता और विन्यास और रखरखाव की जटिलता को देखते हुए, एचपीकेपी हेडर का उपयोग बहुत कम था। आखिरकार, प्रमुख ब्राउज़र इसके लिए पूरी तरह से समर्थन छोड़ने पर सहमत हुए और कुछ वर्षों के भीतर, एचपीकेपी हेडर को सार्वभौमिक रूप से बहिष्कृत कर दिया गया।