केर्बरोस (प्रोटोकॉल): Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
Line 25: Line 25:
| website = {{URL|https://web.mit.edu/kerberos/}}
| website = {{URL|https://web.mit.edu/kerberos/}}
}}
}}
'''केर्बरोस''' [[ संगणक संजाल |कंप्यूटर-नेटवर्क]] [[प्रमाणीकरण]] [[क्रिप्टोग्राफ़िक प्रोटोकॉल]] है जो अन्य-सुरक्षित नेटवर्क पर संचार करने वाले [[नोड (नेटवर्किंग)]] को एक-दूसरे को सुरक्षित विधि से स्वयं की पहचान प्रमाणित करने की अनुमति देने के लिए टिकटों के आधार पर कार्य करता है। इसके डिजाइनरों ने इसे मुख्य रूप से उपयोगकर्ता-सर्वर मॉडल पर लक्षित किया है, एवं यह [[पारस्परिक प्रमाणीकरण]] प्रदान करता है, उपयोगकर्ता एवं सर्वर दोनों एक-दूसरे की पहचान को सत्यापित करते हैं। केर्बरोस प्रोटोकॉल संदेश गोपनीय होके बातें सुनने एवं रिप्ले प्रहार से सुरक्षित रहते हैं।
'''केर्बरोस''' [[ संगणक संजाल |कंप्यूटर-नेटवर्क]] [[प्रमाणीकरण]] [[क्रिप्टोग्राफ़िक प्रोटोकॉल]] है जो अन्य-सुरक्षित नेटवर्क पर संचार करने वाले [[नोड (नेटवर्किंग)]] को सुरक्षित विधि से स्वयं की पहचान प्रमाणित करने की अनुमति देने के लिए टिकटों के आधार पर कार्य करता है। इसके डिजाइनरों ने इसे मुख्य रूप से यूजर-सर्वर मॉडल पर लक्षित किया है, एवं यह [[पारस्परिक प्रमाणीकरण]] प्रदान करता है, यूजर एवं सर्वर दोनों एक-दूसरे की पहचान को सत्यापित करते हैं। केर्बरोस प्रोटोकॉल संदेश, गोपनीय रूप से वार्तालाप सुनने एवं रिप्ले अटैक से सुरक्षित रहते हैं।


केर्बरोस [[सममित-कुंजी क्रिप्टोग्राफी]] पर बनाता है एवं इसके लिए [[विश्वसनीय तृतीय पक्ष]] की आवश्यकता होती है, एवं वैकल्पिक रूप से प्रमाणीकरण के कुछ चरणों के समय [[सार्वजनिक-कुंजी क्रिप्टोग्राफी]] का उपयोग कर सकता है।<ref name="rfc4556">RFC 4556, abstract.</ref> केर्बरोस डिफ़ॉल्ट रूप से यूडीपी पोर्ट 88 का उपयोग करता है।
केर्बरोस [[सममित-कुंजी क्रिप्टोग्राफी]] पर बनाता है एवं इसके लिए [[विश्वसनीय तृतीय पक्ष]] की आवश्यकता होती है, एवं वैकल्पिक रूप से प्रमाणीकरण के कुछ चरणों के समय [[सार्वजनिक-कुंजी क्रिप्टोग्राफी]] का उपयोग कर सकता है।<ref name="rfc4556">RFC 4556, abstract.</ref> केर्बरोस डिफ़ॉल्ट रूप से यूडीपी पोर्ट 88 का उपयोग करता है।


प्रोटोकॉल का नाम ग्रीक पौराणिक कथाओं के चरित्र [[Cerberus|सेर्बेरस]] के नाम पर रखा गया था, जो पाताल लोक का क्रूर तीन सिर वाला रक्षक कुत्ता था।<ref>{{Cite web |title=केर्बरोस प्रमाणीकरण|url=https://www.ionos.com/digitalguide/server/security/kerberos/ |access-date=2022-08-25 |website=IONOS Digitalguide |language=en}}</ref>
प्रोटोकॉल का नाम ग्रीक पौराणिक कथाओं के चरित्र [[Cerberus|सेर्बेरस]] के नाम पर रखा गया था, जो हैडिस का क्रूर तीन सिर वाला रक्षक कुत्ता था।<ref>{{Cite web |title=केर्बरोस प्रमाणीकरण|url=https://www.ionos.com/digitalguide/server/security/kerberos/ |access-date=2022-08-25 |website=IONOS Digitalguide |language=en}}</ref>


== इतिहास एवं विकास ==
== इतिहास एवं विकास ==
Line 49: Line 49:


===विवरण===
===विवरण===
उपयोगकर्ता स्वयं को प्रमाणीकरण सर्वर (एएस) से प्रमाणित करता है जो उपयोगकर्ता नाम को [[कुंजी वितरण केंद्र]] (केडीसी) को अग्रेषित करता है। केडीसी टिकट-अनुदान टिकट (टीजीटी) प्रस्तावित करता है, जिस पर समय अंकित होता है एवं टिकट-अनुदान सेवा (टीजीएस) की गुप्त कुंजी का उपयोग करके इसे एन्क्रिप्ट करता है एवं एन्क्रिप्टेड परिणाम को उपयोगकर्ता के कार्य केंद्र पर लौटाता है। यह कभी-कभी ही किया जाता है, सामान्यतः उपयोगकर्ता लॉगऑन पर; टीजीटी किसी बिंदु पर समाप्त हो जाती है, चूंकि इसे उपयोगकर्ता के सत्र प्रबंधक द्वारा लॉग इन करते समय पारदर्शी रूप से नवीनीकृत किया जा सकता है।
यूजर स्वयं को प्रमाणीकरण सर्वर (एएस) से प्रमाणित करता है जो यूजर नाम को [[कुंजी वितरण केंद्र]] (केडीसी) को अग्रेषित करता है। केडीसी टिकट-अनुदान टिकट (टीजीटी) प्रस्तावित करता है, जिस पर समय अंकित होता है एवं टिकट-अनुदान सेवा (टीजीएस) की गुप्त कुंजी का उपयोग करके इसे एन्क्रिप्ट करता है एवं एन्क्रिप्टेड परिणाम को यूजर के कार्य केंद्र पर लौटाता है। यह कभी-कभी ही किया जाता है, सामान्यतः यूजर लॉगऑन पर; टीजीटी किसी बिंदु पर समाप्त हो जाती है, चूंकि इसे यूजर के सत्र प्रबंधक द्वारा लॉग इन करते समय पारदर्शी रूप से नवीनीकृत किया जा सकता है।


जब ग्राहक को किसी अन्य नोड (केर्बरोस भाषा में प्रिंसिपल) पर सेवा के साथ संचार करने की आवश्यकता होती है, तो ग्राहक टीजीटी को टीजीएस को भेजता है, जो सामान्यतः केडीसी के समान होस्ट साझा करता है। सेवा पूर्व से ही टीजीएस के साथ सर्विस प्रिंसिपल नेम (एसपीएन) के साथ पंजीकृत होनी चाहिए। उपयोगकर्ता इस सेवा तक पहुंच का अनुरोध करने के लिए एसपीएन का उपयोग करता है। यह सत्यापित करने के पश्चात कि टीजीटी वैध है एवं उपयोगकर्ता को अनुरोधित सेवा तक पहुंचने की अनुमति है, टीजीएस ग्राहक को टिकट एवं सत्र कुंजी प्रस्तावित करता है। इसके पश्चात उपयोगकर्ता अपने सेवा अनुरोध के साथ टिकट को सर्विस सर्वर (एसएस) को भेजता है।
जब ग्राहक को किसी अन्य नोड (केर्बरोस भाषा में प्रिंसिपल) पर सेवा के साथ संचार करने की आवश्यकता होती है, तो ग्राहक टीजीटी को टीजीएस को भेजता है, जो सामान्यतः केडीसी के समान होस्ट साझा करता है। सेवा पूर्व से ही टीजीएस के साथ सर्विस प्रिंसिपल नेम (एसपीएन) के साथ पंजीकृत होनी चाहिए। यूजर इस सेवा तक पहुंच का अनुरोध करने के लिए एसपीएन का उपयोग करता है। यह सत्यापित करने के पश्चात कि टीजीटी वैध है एवं यूजर को अनुरोधित सेवा तक पहुंचने की अनुमति है, टीजीएस ग्राहक को टिकट एवं सत्र कुंजी प्रस्तावित करता है। इसके पश्चात यूजर अपने सेवा अनुरोध के साथ टिकट को सर्विस सर्वर (एसएस) को भेजता है।
[[File:Kerberos protocol.svg|thumb|680x680px|केर्बरोस वार्ता]]प्रोटोकॉल का नीचे विस्तार से वर्णन किया गया है।
[[File:Kerberos protocol.svg|thumb|680x680px|केर्बरोस वार्ता]]प्रोटोकॉल का नीचे विस्तार से वर्णन किया गया है।
'''केर्बरोस के बिना उपयोगकर्ता-आधारित लॉगिन'''
'''केर्बरोस के बिना यूजर-आधारित लॉगिन'''
# [[क्लाइंट (कंप्यूटिंग)|उपयोगकर्ता (कंप्यूटिंग)]] मशीन पर उपयोगकर्ता नाम एवं पासवर्ड अंकित करता है। अन्य क्रेडेंशियल प्रणाली जैसे pkinit ([rfc:4556 आरएफसी 4556]) पासवर्ड के स्थान पर सार्वजनिक कुंजी के उपयोग की अनुमति देते हैं। उपयोगकर्ता पासवर्ड को सममित सिफर की कुंजी में परिवर्तित कर देता है। यह या तो अंतर्निहित [[कुंजी शेड्यूलिंग]] का उपयोग करता है, या एकपक्षीय हैश का उपयोग करता है, जो उपयोग किए गए [[ सिफर सुइट ]] पर निर्भर करता है।
# [[क्लाइंट (कंप्यूटिंग)|यूजर (कंप्यूटिंग)]] मशीन पर यूजर नाम एवं पासवर्ड अंकित करता है। अन्य क्रेडेंशियल प्रणाली जैसे pkinit ([rfc:4556 आरएफसी 4556]) पासवर्ड के स्थान पर सार्वजनिक कुंजी के उपयोग की अनुमति देते हैं। यूजर पासवर्ड को सममित सिफर की कुंजी में परिवर्तित कर देता है। यह या तो अंतर्निहित [[कुंजी शेड्यूलिंग]] का उपयोग करता है, या एकपक्षीय हैश का उपयोग करता है, जो उपयोग किए गए [[ सिफर सुइट ]] पर निर्भर करता है।
#सर्वर उपयोगकर्ता नाम एवं सममित सिफर प्राप्त करता है एवं डेटाबेस से डेटा के साथ इसकी तुलना करता है। यदि सिफर उपयोगकर्ता के लिए संग्रहीत सिफर से मिलता है तो लॉगिन सफल था।
#सर्वर यूजर नाम एवं सममित सिफर प्राप्त करता है एवं डेटाबेस से डेटा के साथ इसकी तुलना करता है। यदि सिफर यूजर के लिए संग्रहीत सिफर से मिलता है तो लॉगिन सफल था।


====ग्राहक प्रमाणीकरण====
====ग्राहक प्रमाणीकरण====
# उपयोगकर्ता की ओर से सेवाओं का अनुरोध करते हुए एएस (प्रमाणीकरण सर्वर) को उपयोगकर्ता आईडी का [[स्पष्ट पाठ]] संदेश भेजता है। (नोट: एएस को न तो गुप्त कुंजी एवं न ही पासवर्ड भेजा जाता है।)
# यूजर की ओर से सेवाओं का अनुरोध करते हुए एएस (प्रमाणीकरण सर्वर) को यूजर आईडी का [[स्पष्ट पाठ]] संदेश भेजता है। (नोट: एएस को न तो गुप्त कुंजी एवं न ही पासवर्ड भेजा जाता है।)
# एएस (AS) यह देखने के लिए परिक्षण करता है कि उपयोगकर्ता उसके डेटाबेस में है या नहीं है। यदि ऐसा है, तो एएस डेटाबेस में पाए गए उपयोगकर्ता के पासवर्ड को हैश करके गुप्त कुंजी उत्पन्न करता है (उदाहरण के लिए, विंडोज सर्वर में [[सक्रिय निर्देशिका]]) एवं उपयोगकर्ता को निम्नलिखित दो संदेश वापस भेजता है:
# एएस (AS) यह देखने के लिए परिक्षण करता है कि यूजर उसके डेटाबेस में है या नहीं है। यदि ऐसा है, तो एएस डेटाबेस में पाए गए यूजर के पासवर्ड को हैश करके गुप्त कुंजी उत्पन्न करता है (उदाहरण के लिए, विंडोज सर्वर में [[सक्रिय निर्देशिका]]) एवं यूजर को निम्नलिखित दो संदेश वापस भेजता है:
#* संदेश A: उपयोगकर्ता/टीजीएस सत्र कुंजी उपयोगकर्ता की गुप्त कुंजी का उपयोग करके एन्क्रिप्ट किया गया।
#* संदेश A: यूजर/टीजीएस सत्र कुंजी यूजर की गुप्त कुंजी का उपयोग करके एन्क्रिप्ट किया गया।
#* संदेश B: टिकट-अनुदान-टिकट (टीजीटी, जिसमें उपयोगकर्ता आईडी, उपयोगकर्ता [[नेटवर्क पता]], टिकट वैधता अवधि एवं उपयोगकर्ता/टीजीएस सत्र कुंजी सम्मिलित है) टीजीएस की गुप्त कुंजी का उपयोग करके एन्क्रिप्ट किया गया है।
#* संदेश B: टिकट-अनुदान-टिकट (टीजीटी, जिसमें यूजर आईडी, यूजर [[नेटवर्क पता]], टिकट वैधता अवधि एवं यूजर/टीजीएस सत्र कुंजी सम्मिलित है) टीजीएस की गुप्त कुंजी का उपयोग करके एन्क्रिप्ट किया गया है।
# जब उपयोगकर्ता को संदेश A एवं B प्राप्त हो जाता है, तो वह उपयोगकर्ता द्वारा अंकित किए गए पासवर्ड से उत्पन्न गुप्त कुंजी के साथ संदेश A को डिक्रिप्ट करने का प्रयत्न करता है। यदि उपयोगकर्ता द्वारा अंकित किया गया पासवर्ड एएस डेटाबेस में पासवर्ड से मेल नहीं खाता है, तो उपयोगकर्ता की गुप्त कुंजी भिन्न होगी एवं इस प्रकार संदेश A को डिक्रिप्ट करने में असमर्थ होगी। वैध पासवर्ड एवं गुप्त कुंजी के साथ उपयोगकर्ता/टीजीएस सत्र कुंजी प्राप्त करने के लिए संदेश A को डिक्रिप्ट करता है। इस सत्र कुंजी का उपयोग टीजीएस के साथ आगे संचार के लिए किया जाता है। (नोट: उपयोगकर्ता संदेश B को डिक्रिप्ट नहीं कर सकता, क्योंकि यह टीजीएस की गुप्त कुंजी का उपयोग करके एन्क्रिप्ट किया गया है।) इस बिंदु पर, उपयोगकर्ता के पास टीजीएस को स्वयं को प्रमाणित करने के लिए पर्याप्त जानकारी होती है।
# जब यूजर को संदेश A एवं B प्राप्त हो जाता है, तो वह यूजर द्वारा अंकित किए गए पासवर्ड से उत्पन्न गुप्त कुंजी के साथ संदेश A को डिक्रिप्ट करने का प्रयत्न करता है। यदि यूजर द्वारा अंकित किया गया पासवर्ड एएस डेटाबेस में पासवर्ड से मेल नहीं खाता है, तो यूजर की गुप्त कुंजी भिन्न होगी एवं इस प्रकार संदेश A को डिक्रिप्ट करने में असमर्थ होगी। वैध पासवर्ड एवं गुप्त कुंजी के साथ यूजर/टीजीएस सत्र कुंजी प्राप्त करने के लिए संदेश A को डिक्रिप्ट करता है। इस सत्र कुंजी का उपयोग टीजीएस के साथ आगे संचार के लिए किया जाता है। (नोट: यूजर संदेश B को डिक्रिप्ट नहीं कर सकता, क्योंकि यह टीजीएस की गुप्त कुंजी का उपयोग करके एन्क्रिप्ट किया गया है।) इस बिंदु पर, यूजर के पास टीजीएस को स्वयं को प्रमाणित करने के लिए पर्याप्त जानकारी होती है।


====ग्राहक सेवा प्राधिकरण====
====ग्राहक सेवा प्राधिकरण====
# सेवाओं का अनुरोध करते समय, ग्राहक टीजीएस को निम्नलिखित संदेश भेजता है:
# सेवाओं का अनुरोध करते समय, ग्राहक टीजीएस को निम्नलिखित संदेश भेजता है:
#* संदेश C: संदेश B (टीजीएस गुप्त कुंजी का उपयोग करके एन्क्रिप्टेड टीजीटी) एवं अनुरोधित सेवा की आईडी से बना है।
#* संदेश C: संदेश B (टीजीएस गुप्त कुंजी का उपयोग करके एन्क्रिप्टेड टीजीटी) एवं अनुरोधित सेवा की आईडी से बना है।
#* संदेश D: प्रमाणक (जो उपयोगकर्ता आईडी एवं टाइमस्टैम्प से बना है), उपयोगकर्ता/टीजीएस सत्र कुंजी (संदेश A में उपयोगकर्ता द्वारा पाया गया) का उपयोग करके एन्क्रिप्ट किया गया है।
#* संदेश D: प्रमाणक (जो यूजर आईडी एवं टाइमस्टैम्प से बना है), यूजर/टीजीएस सत्र कुंजी (संदेश A में यूजर द्वारा पाया गया) का उपयोग करके एन्क्रिप्ट किया गया है।
# संदेश C एवं D प्राप्त करने पर, टीजीएस संदेश C से संदेश B को पुनः प्राप्त करता है। यह टीजीएस गुप्त कुंजी का उपयोग करके संदेश B को डिक्रिप्ट करता है। यह इसे उपयोगकर्ता/टीजीएस सत्र कुंजी एवं उपयोगकर्ता आईडी (दोनों टीजीटी में हैं) देता है। इस उपयोगकर्ता/टीजीएस सत्र कुंजी का उपयोग करके, टीजीएस संदेश D (प्रमाणक) को डिक्रिप्ट करता है एवं संदेश B एवं D से उपयोगकर्ता आईडी की तुलना करता है; यदि वे मेल खाते हैं, तो सर्वर उपयोगकर्ता को निम्नलिखित दो संदेश भेजता है:
# संदेश C एवं D प्राप्त करने पर, टीजीएस संदेश C से संदेश B को पुनः प्राप्त करता है। यह टीजीएस गुप्त कुंजी का उपयोग करके संदेश B को डिक्रिप्ट करता है। यह इसे यूजर/टीजीएस सत्र कुंजी एवं यूजर आईडी (दोनों टीजीटी में हैं) देता है। इस यूजर/टीजीएस सत्र कुंजी का उपयोग करके, टीजीएस संदेश D (प्रमाणक) को डिक्रिप्ट करता है एवं संदेश B एवं D से यूजर आईडी की तुलना करता है; यदि वे मेल खाते हैं, तो सर्वर यूजर को निम्नलिखित दो संदेश भेजता है:
#* संदेश E: उपयोगकर्ता-टू-सर्वर टिकट (जिसमें उपयोगकर्ता आईडी, उपयोगकर्ता नेटवर्क पता, वैधता अवधि एवं उपयोगकर्ता/सर्वर सत्र कुंजी सम्मिलित है) सेवा की गुप्त कुंजी का उपयोग करके एन्क्रिप्ट किया गया है।
#* संदेश E: यूजर-टू-सर्वर टिकट (जिसमें यूजर आईडी, यूजर नेटवर्क पता, वैधता अवधि एवं यूजर/सर्वर सत्र कुंजी सम्मिलित है) सेवा की गुप्त कुंजी का उपयोग करके एन्क्रिप्ट किया गया है।
#* संदेश F: उपयोगकर्ता/सर्वर सत्र कुंजी उपयोगकर्ता/टीजीएस सत्र कुंजी के साथ एन्क्रिप्टेड है।
#* संदेश F: यूजर/सर्वर सत्र कुंजी यूजर/टीजीएस सत्र कुंजी के साथ एन्क्रिप्टेड है।


====ग्राहक सेवा अनुरोध====
====ग्राहक सेवा अनुरोध====
# टीजीएस से E एवं F संदेश प्राप्त करने पर, ग्राहक के पास सेवा सर्वर (एसएस) पर स्वयं को प्रमाणित करने के लिए पर्याप्त जानकारी होती है। उपयोगकर्ता एसएस से जुड़ता है एवं निम्नलिखित दो संदेश भेजता है:
# टीजीएस से E एवं F संदेश प्राप्त करने पर, ग्राहक के पास सेवा सर्वर (एसएस) पर स्वयं को प्रमाणित करने के लिए पर्याप्त जानकारी होती है। यूजर एसएस से जुड़ता है एवं निम्नलिखित दो संदेश भेजता है:
#* संदेश E: पूर्व चरण से (उपयोगकर्ता-टू-सर्वर टिकट, टीजीएस द्वारा सेवा की गुप्त कुंजी का उपयोग करके एन्क्रिप्ट किया गया)।
#* संदेश E: पूर्व चरण से (यूजर-टू-सर्वर टिकट, टीजीएस द्वारा सेवा की गुप्त कुंजी का उपयोग करके एन्क्रिप्ट किया गया)।
#* संदेश G: नया प्रमाणक, जिसमें उपयोगकर्ता आईडी, टाइमस्टैम्प सम्मिलित है एवं उपयोगकर्ता/सर्वर सत्र कुंजी का उपयोग करके एन्क्रिप्ट किया गया है।
#* संदेश G: नया प्रमाणक, जिसमें यूजर आईडी, टाइमस्टैम्प सम्मिलित है एवं यूजर/सर्वर सत्र कुंजी का उपयोग करके एन्क्रिप्ट किया गया है।
# एसएस उपयोगकर्ता/सर्वर सत्र कुंजी को पुनः प्राप्त करने के लिए अपनी गुप्त कुंजी का उपयोग करके टिकट (संदेश E) को डिक्रिप्ट करता है। सत्र कुंजी का उपयोग करते हुए, एसएस प्रमाणक को डिक्रिप्ट करता है एवं संदेश E एवं G से उपयोगकर्ता आईडी की तुलना करता है, यदि वे मेल खाते हैं तो सर्वर उपयोगकर्ता को उसकी वास्तविक पहचान एवं ग्राहक की सेवा करने की इच्छा की पुष्टि करने के लिए निम्नलिखित संदेश भेजता है।
# एसएस यूजर/सर्वर सत्र कुंजी को पुनः प्राप्त करने के लिए अपनी गुप्त कुंजी का उपयोग करके टिकट (संदेश E) को डिक्रिप्ट करता है। सत्र कुंजी का उपयोग करते हुए, एसएस प्रमाणक को डिक्रिप्ट करता है एवं संदेश E एवं G से यूजर आईडी की तुलना करता है, यदि वे मेल खाते हैं तो सर्वर यूजर को उसकी वास्तविक पहचान एवं ग्राहक की सेवा करने की इच्छा की पुष्टि करने के लिए निम्नलिखित संदेश भेजता है।
#* संदेश H: उपयोगकर्ता के प्रमाणक में पाया गया टाइमस्टैम्प (संस्करण 4 में प्लस 1, किन्तु संस्करण 5 में आवश्यक नहीं है)<ref>{{cite journal|url=https://tools.ietf.org/html/rfc1510#section-3.2.4|title=The Kerberos Network Authentication Service (V5)|first1=Neuman|last1=C.|first2=Kohl|last2=J.|year=1993 |doi=10.17487/RFC1510 |url-status=live|archive-url=https://web.archive.org/web/20160821221402/https://tools.ietf.org/html/rfc1510#section-3.2.4|archive-date=2016-08-21|doi-access=free}}</ref><ref>{{cite journal|url=https://tools.ietf.org/html/rfc4120#section-3.2.4|title=The Kerberos Network Authentication Service (V5)|first1=Neuman|last1=Clifford|first2=Hartman|last2=Sam|first3=Yu|last3=Tom|first4=Raeburn|last4=Kenneth|year=2005 |doi=10.17487/RFC4120 |url-status=live|archive-url=https://web.archive.org/web/20160821232023/https://tools.ietf.org/html/rfc4120#section-3.2.4|archive-date=2016-08-21}}</ref>), उपयोगकर्ता/सर्वर सत्र कुंजी का उपयोग करके एन्क्रिप्ट किया गया।
#* संदेश H: यूजर के प्रमाणक में पाया गया टाइमस्टैम्प (संस्करण 4 में प्लस 1, किन्तु संस्करण 5 में आवश्यक नहीं है)<ref>{{cite journal|url=https://tools.ietf.org/html/rfc1510#section-3.2.4|title=The Kerberos Network Authentication Service (V5)|first1=Neuman|last1=C.|first2=Kohl|last2=J.|year=1993 |doi=10.17487/RFC1510 |url-status=live|archive-url=https://web.archive.org/web/20160821221402/https://tools.ietf.org/html/rfc1510#section-3.2.4|archive-date=2016-08-21|doi-access=free}}</ref><ref>{{cite journal|url=https://tools.ietf.org/html/rfc4120#section-3.2.4|title=The Kerberos Network Authentication Service (V5)|first1=Neuman|last1=Clifford|first2=Hartman|last2=Sam|first3=Yu|last3=Tom|first4=Raeburn|last4=Kenneth|year=2005 |doi=10.17487/RFC4120 |url-status=live|archive-url=https://web.archive.org/web/20160821232023/https://tools.ietf.org/html/rfc4120#section-3.2.4|archive-date=2016-08-21}}</ref>), यूजर/सर्वर सत्र कुंजी का उपयोग करके एन्क्रिप्ट किया गया।
# उपयोगकर्ता/सर्वर सत्र कुंजी का उपयोग करके पुष्टिकरण (संदेश H) को डिक्रिप्ट करता है एवं परिक्षणता है कि टाइमस्टैम्प सही है या नहीं। यदि ऐसा है, तो उपयोगकर्ता सर्वर पर विश्वास कर सकता है एवं सर्वर को सेवा अनुरोध प्रस्तावित करना प्रारम्भ कर सकता है।
# यूजर/सर्वर सत्र कुंजी का उपयोग करके पुष्टिकरण (संदेश H) को डिक्रिप्ट करता है एवं परिक्षणता है कि टाइमस्टैम्प सही है या नहीं। यदि ऐसा है, तो यूजर सर्वर पर विश्वास कर सकता है एवं सर्वर को सेवा अनुरोध प्रस्तावित करना प्रारम्भ कर सकता है।
# सर्वर उपयोगकर्ता को अनुरोधित सेवाएँ प्रदान करता है।
# सर्वर यूजर को अनुरोधित सेवाएँ प्रदान करता है।


==ऑपरेटिंग प्रणाली द्वारा समर्थन ==
==ऑपरेटिंग प्रणाली द्वारा समर्थन ==
Line 86: Line 86:
विंडोज़ ([[Windows 2000|Windows) 2000]] एवं पश्चात के संस्करण अपनी डिफ़ॉल्ट प्रमाणीकरण विधि के रूप में केर्बरोस का उपयोग करते हैं।<ref name="MSTN-Kerberos-Auth">{{cite web|url=https://technet.microsoft.com/pt-br/library/cc780469(v=ws.10).aspx|title=What Is Kerberos Authentication?|publisher=Microsoft TechNet|url-status=live|archive-url=https://web.archive.org/web/20161220084434/https://technet.microsoft.com/pt-br/library/cc780469(v=ws.10).aspx|archive-date=2016-12-20}}</ref> केर्बरोस प्रोटोकॉल सुइट में कुछ माइक्रोसॉफ्ट परिवर्धन [rfc:3244 आरएफसी 3244] माइक्रोसॉफ्ट विंडोज़ 2000 केर्बरोस परिवर्तित पासवर्ड एवं सेट पासवर्ड प्रोटोकॉल में प्रलेखित हैं। [rfc:4757 आरएफसी 4757] माइक्रोसॉफ्ट द्वारा [[RC4]] सिफर के उपयोग का प्रपत्रीकरण करता है। जबकि माइक्रोसॉफ्ट केर्बरोस प्रोटोकॉल का उपयोग एवं विस्तार करता है, यह MIT सॉफ़्टवेयर का उपयोग नहीं करता है।
विंडोज़ ([[Windows 2000|Windows) 2000]] एवं पश्चात के संस्करण अपनी डिफ़ॉल्ट प्रमाणीकरण विधि के रूप में केर्बरोस का उपयोग करते हैं।<ref name="MSTN-Kerberos-Auth">{{cite web|url=https://technet.microsoft.com/pt-br/library/cc780469(v=ws.10).aspx|title=What Is Kerberos Authentication?|publisher=Microsoft TechNet|url-status=live|archive-url=https://web.archive.org/web/20161220084434/https://technet.microsoft.com/pt-br/library/cc780469(v=ws.10).aspx|archive-date=2016-12-20}}</ref> केर्बरोस प्रोटोकॉल सुइट में कुछ माइक्रोसॉफ्ट परिवर्धन [rfc:3244 आरएफसी 3244] माइक्रोसॉफ्ट विंडोज़ 2000 केर्बरोस परिवर्तित पासवर्ड एवं सेट पासवर्ड प्रोटोकॉल में प्रलेखित हैं। [rfc:4757 आरएफसी 4757] माइक्रोसॉफ्ट द्वारा [[RC4]] सिफर के उपयोग का प्रपत्रीकरण करता है। जबकि माइक्रोसॉफ्ट केर्बरोस प्रोटोकॉल का उपयोग एवं विस्तार करता है, यह MIT सॉफ़्टवेयर का उपयोग नहीं करता है।


केर्बरोस को रुचिकर प्रमाणीकरण विधि के रूप में उपयोग किया जाता है: सामान्यतः, किसी उपयोगकर्ता को विंडोज़ डोमेन से जोड़ने का अर्थ है उस उपयोगकर्ता से विंडोज़ डोमेन में सेवाओं एवं उस डोमेन के साथ विश्वास संबंधों वाले सभी डोमेन के प्रमाणीकरण के लिए डिफ़ॉल्ट प्रोटोकॉल के रूप में केर्बरोस को सक्षम करना है।<ref name="MSTN-Kerberos-Auth"/>
केर्बरोस को रुचिकर प्रमाणीकरण विधि के रूप में उपयोग किया जाता है: सामान्यतः, किसी यूजर को विंडोज़ डोमेन से जोड़ने का अर्थ है उस यूजर से विंडोज़ डोमेन में सेवाओं एवं उस डोमेन के साथ विश्वास संबंधों वाले सभी डोमेन के प्रमाणीकरण के लिए डिफ़ॉल्ट प्रोटोकॉल के रूप में केर्बरोस को सक्षम करना है।<ref name="MSTN-Kerberos-Auth"/>


इसके विपरीत, जब उपयोगकर्ता या सर्वर या दोनों डोमेन से जुड़े नहीं होते हैं (या विश्वसनीय डोमेन वातावरण का भाग नहीं होते हैं), तो विंडोज़ उपयोगकर्ता एवं सर्वर के मध्य प्रमाणीकरण के लिए [[एनटीएलएम]] का उपयोग करेगा।<ref name="MSTN-Kerberos-Auth"/>
इसके विपरीत, जब यूजर या सर्वर या दोनों डोमेन से जुड़े नहीं होते हैं (या विश्वसनीय डोमेन वातावरण का भाग नहीं होते हैं), तो विंडोज़ यूजर एवं सर्वर के मध्य प्रमाणीकरण के लिए [[एनटीएलएम]] का उपयोग करेगा।<ref name="MSTN-Kerberos-Auth"/>


इंटरनेट वेब एप्लिकेशन [[एसएसपीआई]] के अनुसार प्रदान किए गए एपीआई का उपयोग करके डोमेन से जुड़े ग्राहकों के लिए प्रमाणीकरण विधि के रूप में केर्बरोस को प्रस्तावित कर सकते हैं।
इंटरनेट वेब एप्लिकेशन [[एसएसपीआई]] के अनुसार प्रदान किए गए एपीआई का उपयोग करके डोमेन से जुड़े ग्राहकों के लिए प्रमाणीकरण विधि के रूप में केर्बरोस को प्रस्तावित कर सकते हैं।
Line 96: Line 96:
'''यूनिक्स एवं अन्य ऑपरेटिंग प्रणाली'''
'''यूनिक्स एवं अन्य ऑपरेटिंग प्रणाली'''


फ्रीबीएसडी, [[ओपनबीएसडी]], एप्पल के मैकओएस, [[रेड हैट एंटरप्राइज लिनक्स]], [[सन माइक्रोसिस्टम्स]] के [[सोलारिस (ऑपरेटिंग सिस्टम)|सोलारिस (ऑपरेटिंग प्रणाली)]], आईबीएम के AIX, [[एचपी-यूएक्स|HP-UX]] एवं अन्य सहित कई यूनिक्स जैसे ऑपरेटिंग प्रणाली में उपयोगकर्ताओं या सेवाओं के केर्बरोस प्रमाणीकरण के लिए सॉफ्टवेयर सम्मिलित हैं। विभिन्न गैर-यूनिक्स जैसे ऑपरेटिंग प्रणाली जैसे z/OS, [[IBM i]] एवं [[OpenVMS]] में भी केर्बरोस समर्थन की सुविधा है। एम्बेडेड प्लेटफ़ॉर्म पर चलने वाले उपयोगकर्ता एजेंटों एवं नेटवर्क सेवाओं के लिए केर्बरोस वी प्रमाणीकरण प्रोटोकॉल का एंबेडेड कार्यान्वयन भी कंपनियों से उपलब्ध है।
फ्रीबीएसडी, [[ओपनबीएसडी]], एप्पल के मैकओएस, [[रेड हैट एंटरप्राइज लिनक्स]], [[सन माइक्रोसिस्टम्स]] के [[सोलारिस (ऑपरेटिंग सिस्टम)|सोलारिस (ऑपरेटिंग प्रणाली)]], आईबीएम के AIX, [[एचपी-यूएक्स|HP-UX]] एवं अन्य सहित कई यूनिक्स जैसे ऑपरेटिंग प्रणाली में यूजरओं या सेवाओं के केर्बरोस प्रमाणीकरण के लिए सॉफ्टवेयर सम्मिलित हैं। विभिन्न गैर-यूनिक्स जैसे ऑपरेटिंग प्रणाली जैसे z/OS, [[IBM i]] एवं [[OpenVMS]] में भी केर्बरोस समर्थन की सुविधा है। एम्बेडेड प्लेटफ़ॉर्म पर चलने वाले यूजर एजेंटों एवं नेटवर्क सेवाओं के लिए केर्बरोस वी प्रमाणीकरण प्रोटोकॉल का एंबेडेड कार्यान्वयन भी कंपनियों से उपलब्ध है।


==अभाव एवं सीमाएँ==
==अभाव एवं सीमाएँ==
* केर्बरोस में समय की कठोर आवश्यकताएं हैं, जिसका अर्थ है कि सम्मिलित आतिथ्य की घड़ियों को कॉन्फ़िगर की गई सीमाओं के अंदर सिंक्रनाइज़ किया जाना चाहिए। टिकटों की समय उपलब्धता अवधि होती है, एवं यदि होस्ट घड़ी केर्बरोस सर्वर घड़ी के साथ सिंक्रनाइज़ नहीं है, तो प्रमाणीकरण विफल हो जाएगा। [http://web.mit.edu/Kerberos/krb5-1.5/krb5-1.5.4/doc/krb5-admin/Clock-Skew.html प्रति MIT] डिफ़ॉल्ट कॉन्फ़िगरेशन के लिए आवश्यक है कि घड़ी का समय पाँच मिनट से अधिक का अंतर न हो। व्यवहार में, [[नेटवर्क टाइम प्रोटोकॉल]] डेमॉन का उपयोग सामान्यतः होस्ट घड़ियों को सिंक्रनाइज़ रखने के लिए किया जाता है। ध्यान दें कि कुछ सर्वर (माइक्रोसॉफ्ट का कार्यान्वयन उनमें से है) एन्क्रिप्टेड सर्वर समय वाला KRB_AP_ERR_SKEW परिणाम लौटा सकता है यदि दोनों घड़ियों में कॉन्फ़िगर किए गए अधिकतम मान से अधिक ऑफसेट है। उस स्थिति में, उपयोगकर्ता ऑफसेट शोध करने के लिए दिए गए सर्वर समय का उपयोग करके समय की गणना करके पुनः प्रयत्न कर सकता है। यह व्यवहार [https://datatracker.ietf.org/doc/html/rfc4430 आरएफसी 4430] में प्रलेखित है।
* केर्बरोस में समय की कठोर आवश्यकताएं हैं, जिसका अर्थ है कि सम्मिलित आतिथ्य की घड़ियों को कॉन्फ़िगर की गई सीमाओं के अंदर सिंक्रनाइज़ किया जाना चाहिए। टिकटों की समय उपलब्धता अवधि होती है, एवं यदि होस्ट घड़ी केर्बरोस सर्वर घड़ी के साथ सिंक्रनाइज़ नहीं है, तो प्रमाणीकरण विफल हो जाएगा। [http://web.mit.edu/Kerberos/krb5-1.5/krb5-1.5.4/doc/krb5-admin/Clock-Skew.html प्रति MIT] डिफ़ॉल्ट कॉन्फ़िगरेशन के लिए आवश्यक है कि घड़ी का समय पाँच मिनट से अधिक का अंतर न हो। व्यवहार में, [[नेटवर्क टाइम प्रोटोकॉल]] डेमॉन का उपयोग सामान्यतः होस्ट घड़ियों को सिंक्रनाइज़ रखने के लिए किया जाता है। ध्यान दें कि कुछ सर्वर (माइक्रोसॉफ्ट का कार्यान्वयन उनमें से है) एन्क्रिप्टेड सर्वर समय वाला KRB_AP_ERR_SKEW परिणाम लौटा सकता है यदि दोनों घड़ियों में कॉन्फ़िगर किए गए अधिकतम मान से अधिक ऑफसेट है। उस स्थिति में, यूजर ऑफसेट शोध करने के लिए दिए गए सर्वर समय का उपयोग करके समय की गणना करके पुनः प्रयत्न कर सकता है। यह व्यवहार [https://datatracker.ietf.org/doc/html/rfc4430 आरएफसी 4430] में प्रलेखित है।
* प्रशासन प्रोटोकॉल मानकीकृत नहीं है एवं सर्वर कार्यान्वयन के मध्य भिन्न है। पासवर्ड परिवर्तन [rfc:3244 आरएफसी 3244] में वर्णित हैं।
* प्रशासन प्रोटोकॉल मानकीकृत नहीं है एवं सर्वर कार्यान्वयन के मध्य भिन्न है। पासवर्ड परिवर्तन [rfc:3244 आरएफसी 3244] में वर्णित हैं।
* सममित क्रिप्टोग्राफीकरने स्वीकार करने के विषय में (केर्बरोस सममित या असममित (सार्वजनिक-कुंजी) क्रिप्टोग्राफी का उपयोग करके कार्य कर सकता है), क्योंकि सभी प्रमाणीकरण केंद्रीकृत कुंजी वितरण केंद्र (केडीसी) द्वारा नियंत्रित होते हैं, इस प्रमाणीकरण मूलभूत ढांचे से निराकरण करने से आक्रमणकारी को किसी भी उपयोगकर्ता का प्रतिरूपण करने की अनुमति देगा।
* सममित क्रिप्टोग्राफीकरने स्वीकार करने के विषय में (केर्बरोस सममित या असममित (सार्वजनिक-कुंजी) क्रिप्टोग्राफी का उपयोग करके कार्य कर सकता है), क्योंकि सभी प्रमाणीकरण केंद्रीकृत कुंजी वितरण केंद्र (केडीसी) द्वारा नियंत्रित होते हैं, इस प्रमाणीकरण मूलभूत ढांचे से निराकरण करने से आक्रमणकारी को किसी भी यूजर का प्रतिरूपण करने की अनुमति देगा।
* प्रत्येक नेटवर्क सेवा जिसे भिन्न होस्ट नाम की आवश्यकता होती है, उसे केर्बरोस कुंजियों के अपने सेट की आवश्यकता होगी। यह वर्चुअल होस्टिंग एवं क्लस्टर को समष्टि बनाता है।
* प्रत्येक नेटवर्क सेवा जिसे भिन्न होस्ट नाम की आवश्यकता होती है, उसे केर्बरोस कुंजियों के अपने सेट की आवश्यकता होगी। यह वर्चुअल होस्टिंग एवं क्लस्टर को समष्टि बनाता है।
* केर्बरोस को केर्बरोस टोकन सर्वर के साथ विश्वसनीय संबंध रखने के लिए उपयोगकर्ता खातों एवं सेवाओं की आवश्यकता होती है।
* केर्बरोस को केर्बरोस टोकन सर्वर के साथ विश्वसनीय संबंध रखने के लिए यूजर खातों एवं सेवाओं की आवश्यकता होती है।
* आवश्यक उपयोगकर्ता ट्रस्ट चरणबद्ध वातावरण (उदाहरण के लिए, परीक्षण वातावरण, प्री-प्रोडक्शन वातावरण एवं उत्पादन वातावरण के लिए भिन्न डोमेन) बनाना कठिन करता है: या तो डोमेन ट्रस्ट संबंध बनाने की आवश्यकता होती है जो पर्यावरण डोमेन के सख्त भिन्नाव को बाधित करतीहै, या अतिरिक्त उपयोगकर्ता की आवश्यकता होती है प्रत्येक पर्यावरण के लिए प्रदान किया जाना है।
* आवश्यक यूजर ट्रस्ट चरणबद्ध वातावरण (उदाहरण के लिए, परीक्षण वातावरण, प्री-प्रोडक्शन वातावरण एवं उत्पादन वातावरण के लिए भिन्न डोमेन) बनाना कठिन करता है: या तो डोमेन ट्रस्ट संबंध बनाने की आवश्यकता होती है जो पर्यावरण डोमेन के सख्त भिन्नाव को बाधित करतीहै, या अतिरिक्त यूजर की आवश्यकता होती है प्रत्येक पर्यावरण के लिए प्रदान किया जाना है।


==सुरक्षा==
==सुरक्षा==

Revision as of 23:18, 18 July 2023

Kerberos
Developer(s)मैसाचुसेट्स की प्रौद्योगिकी संस्था
Stable release
Version 5, Release 1.21 / 5 June 2023; 15 months ago (2023-06-05)[1]
Written inC
Operating systemक्रॉस-प्लेटफॉर्म
Size8512k (source code)
Typeप्रमाणीकरण प्रोटोकॉल
Websiteweb.mit.edu/kerberos/

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

केर्बरोस सममित-कुंजी क्रिप्टोग्राफी पर बनाता है एवं इसके लिए विश्वसनीय तृतीय पक्ष की आवश्यकता होती है, एवं वैकल्पिक रूप से प्रमाणीकरण के कुछ चरणों के समय सार्वजनिक-कुंजी क्रिप्टोग्राफी का उपयोग कर सकता है।[2] केर्बरोस डिफ़ॉल्ट रूप से यूडीपी पोर्ट 88 का उपयोग करता है।

प्रोटोकॉल का नाम ग्रीक पौराणिक कथाओं के चरित्र सेर्बेरस के नाम पर रखा गया था, जो हैडिस का क्रूर तीन सिर वाला रक्षक कुत्ता था।[3]

इतिहास एवं विकास

मैसाचुसेट्स की तकनीकी संस्था (एमआईटी) ने प्रोजेक्ट एथेना द्वारा प्रदान की गई नेटवर्क सेवाओं की सुरक्षा के लिए 1988 में केर्बरोस विकसित किया गया।[4][5] इसका प्रथम संस्करण मुख्य रूप से स्टीवन पी. मिलर (सॉफ्टवेयर डिजाइनर) एवं क्लिफ़ोर्ड न्यूमैन द्वारा पूर्व के नीधम-श्रोएडर सममित-कुंजी प्रोटोकॉल के आधार पर डिजाइन किया गया था।[6][7] केर्बरोस संस्करण 1 से 3 प्रायोगिक थे एवं एमआईटी के बाहर प्रस्तावित नहीं किए गए थे।[8]

केर्बरोस संस्करण 4, प्रथम सार्वजनिक संस्करण, 24 जनवरी 1989 को प्रस्तावित किया गया था। चूंकि केर्बरोस 4 को संयुक्त राज्य अमेरिका में विकसित किया गया था, एवं चूंकि इसमें डेटा एन्क्रिप्शन मानक (डीईएस) एन्क्रिप्शन एल्गोरिथम का उपयोग किया गया था, इसलिए अमेरिकी निर्यात नियंत्रण प्रतिबंधों ने इसे अन्य देशों में निर्यात होने से बाध्य कर दिया था। एमआईटी ने सभी एन्क्रिप्शन कोड हटाकर केर्बरोस 4 का निर्यात योग्य संस्करण बनाया,[8] जिसे हड्डियाँ कहा जाता है।[9] ऑस्ट्रेलिया की बॉन्ड विश्वविद्यालय के एरिक यंग ने डीईएस को ईबोन्स नामक संस्करण में बोन्स में तत्पश्चात से प्रस्तावित किया, जिसे किसी भी देश में स्वतंत्र रूप से उपयोग किया जा सकता है। स्वीडन के रॉयल इंस्टीट्यूट ऑफ टेक्नोलॉजी ने केटीएच-केआरबी नामक कार्यान्वयन प्रस्तावित किया।[10]

न्यूमैन एवं जॉन कोहल ने उपस्थित सीमाओं एवं सुरक्षा समस्याओं पर नियंत्रण करने की योजना से 1993 में संस्करण 5 प्रकाशित किया। संस्करण 5 [rfc:1510 आरएफसी 1510] के रूप में सामने आया, जिसे 2005 में [rfc:4120 आरएफसी 4120] द्वारा अप्रचलित कर दिया गया।

2005 में, इंटरनेट इंजीनियरिंग टास्क फोर्स (आईईटीएफ) केर्बरोस वर्किंग ग्रुप ने विशिष्टताओं को अद्यतन किया जिसमें निम्नलिखित अपडेट सम्मिलित हैं:

  • एन्क्रिप्शन एवं चेकसम विशिष्टताएँ (आरएफसी 3961) है।
  • केर्बरोस 5 (आरएफसी 3962) के लिए उच्च एन्क्रिप्शन मानक (एईएस) एन्क्रिप्शन है।
  • केर्बरोस V5 विनिर्देशन का नया संस्करण केर्बरोस नेटवर्क प्रमाणीकरण सेवा (V5) ([rfc:4120 आरएफसी 4120]), यह संस्करण आरएफसी 1510 को अप्रचलित करता है, प्रोटोकॉल के रूपों के अधिक विस्तृत एवं स्पष्टीकरण में इच्छित उपयोग को स्पष्ट करता है।
  • जेनेरिक सिक्योरिटी सर्विसेज एप्लीकेशन प्रोग्राम अंतरापृष्ठ (जीएसएस-एपीआई) विनिर्देशन का नया संस्करण केर्बरोस संस्करण 5 सामान्य सुरक्षा सेवाएँ अनुप्रयोग प्रोग्राम अंतरापृष्ठ (जीएसएस-एपीआई) मैकेनिज्म संस्करण 2 (आरएफसी 4121) है।

एमआईटी, बीएसडी के लिए उपयोग की जाने वाली कॉपीराइट अनुमतियों के अनुसार, केर्बरोस के कार्यान्वयन को निःशुल्क उपलब्ध कराता है। 2007 में, एमआईटी ने निरंतर विकास को बढ़ावा देने के लिए केर्बरोस कंसोर्टियम का गठन किया गया। संस्थापक प्रायोजकों में ओरेकल कॉर्पोरेशन, Apple Inc., गूगल, माइक्रोसॉफ्ट, केन्द्रीकृत निगम एवं TeamF1 Inc. जैसे विक्रेता एवं स्वीडन में रॉयल इंस्टीट्यूट ऑफ टेक्नोलॉजी, स्टैनफोर्ड यूनिवर्सिटी, एमआईटी जैसे शैक्षणिक संस्थान एवं साइबरसेफ प्रस्तुत करने वाले साइबरसेफ जैसे विक्रेता सम्मिलित हैं।

प्रोटोकॉल

विवरण

यूजर स्वयं को प्रमाणीकरण सर्वर (एएस) से प्रमाणित करता है जो यूजर नाम को कुंजी वितरण केंद्र (केडीसी) को अग्रेषित करता है। केडीसी टिकट-अनुदान टिकट (टीजीटी) प्रस्तावित करता है, जिस पर समय अंकित होता है एवं टिकट-अनुदान सेवा (टीजीएस) की गुप्त कुंजी का उपयोग करके इसे एन्क्रिप्ट करता है एवं एन्क्रिप्टेड परिणाम को यूजर के कार्य केंद्र पर लौटाता है। यह कभी-कभी ही किया जाता है, सामान्यतः यूजर लॉगऑन पर; टीजीटी किसी बिंदु पर समाप्त हो जाती है, चूंकि इसे यूजर के सत्र प्रबंधक द्वारा लॉग इन करते समय पारदर्शी रूप से नवीनीकृत किया जा सकता है।

जब ग्राहक को किसी अन्य नोड (केर्बरोस भाषा में प्रिंसिपल) पर सेवा के साथ संचार करने की आवश्यकता होती है, तो ग्राहक टीजीटी को टीजीएस को भेजता है, जो सामान्यतः केडीसी के समान होस्ट साझा करता है। सेवा पूर्व से ही टीजीएस के साथ सर्विस प्रिंसिपल नेम (एसपीएन) के साथ पंजीकृत होनी चाहिए। यूजर इस सेवा तक पहुंच का अनुरोध करने के लिए एसपीएन का उपयोग करता है। यह सत्यापित करने के पश्चात कि टीजीटी वैध है एवं यूजर को अनुरोधित सेवा तक पहुंचने की अनुमति है, टीजीएस ग्राहक को टिकट एवं सत्र कुंजी प्रस्तावित करता है। इसके पश्चात यूजर अपने सेवा अनुरोध के साथ टिकट को सर्विस सर्वर (एसएस) को भेजता है।

केर्बरोस वार्ता

प्रोटोकॉल का नीचे विस्तार से वर्णन किया गया है।

केर्बरोस के बिना यूजर-आधारित लॉगिन

  1. यूजर (कंप्यूटिंग) मशीन पर यूजर नाम एवं पासवर्ड अंकित करता है। अन्य क्रेडेंशियल प्रणाली जैसे pkinit ([rfc:4556 आरएफसी 4556]) पासवर्ड के स्थान पर सार्वजनिक कुंजी के उपयोग की अनुमति देते हैं। यूजर पासवर्ड को सममित सिफर की कुंजी में परिवर्तित कर देता है। यह या तो अंतर्निहित कुंजी शेड्यूलिंग का उपयोग करता है, या एकपक्षीय हैश का उपयोग करता है, जो उपयोग किए गए सिफर सुइट पर निर्भर करता है।
  2. सर्वर यूजर नाम एवं सममित सिफर प्राप्त करता है एवं डेटाबेस से डेटा के साथ इसकी तुलना करता है। यदि सिफर यूजर के लिए संग्रहीत सिफर से मिलता है तो लॉगिन सफल था।

ग्राहक प्रमाणीकरण

  1. यूजर की ओर से सेवाओं का अनुरोध करते हुए एएस (प्रमाणीकरण सर्वर) को यूजर आईडी का स्पष्ट पाठ संदेश भेजता है। (नोट: एएस को न तो गुप्त कुंजी एवं न ही पासवर्ड भेजा जाता है।)
  2. एएस (AS) यह देखने के लिए परिक्षण करता है कि यूजर उसके डेटाबेस में है या नहीं है। यदि ऐसा है, तो एएस डेटाबेस में पाए गए यूजर के पासवर्ड को हैश करके गुप्त कुंजी उत्पन्न करता है (उदाहरण के लिए, विंडोज सर्वर में सक्रिय निर्देशिका) एवं यूजर को निम्नलिखित दो संदेश वापस भेजता है:
    • संदेश A: यूजर/टीजीएस सत्र कुंजी यूजर की गुप्त कुंजी का उपयोग करके एन्क्रिप्ट किया गया।
    • संदेश B: टिकट-अनुदान-टिकट (टीजीटी, जिसमें यूजर आईडी, यूजर नेटवर्क पता, टिकट वैधता अवधि एवं यूजर/टीजीएस सत्र कुंजी सम्मिलित है) टीजीएस की गुप्त कुंजी का उपयोग करके एन्क्रिप्ट किया गया है।
  3. जब यूजर को संदेश A एवं B प्राप्त हो जाता है, तो वह यूजर द्वारा अंकित किए गए पासवर्ड से उत्पन्न गुप्त कुंजी के साथ संदेश A को डिक्रिप्ट करने का प्रयत्न करता है। यदि यूजर द्वारा अंकित किया गया पासवर्ड एएस डेटाबेस में पासवर्ड से मेल नहीं खाता है, तो यूजर की गुप्त कुंजी भिन्न होगी एवं इस प्रकार संदेश A को डिक्रिप्ट करने में असमर्थ होगी। वैध पासवर्ड एवं गुप्त कुंजी के साथ यूजर/टीजीएस सत्र कुंजी प्राप्त करने के लिए संदेश A को डिक्रिप्ट करता है। इस सत्र कुंजी का उपयोग टीजीएस के साथ आगे संचार के लिए किया जाता है। (नोट: यूजर संदेश B को डिक्रिप्ट नहीं कर सकता, क्योंकि यह टीजीएस की गुप्त कुंजी का उपयोग करके एन्क्रिप्ट किया गया है।) इस बिंदु पर, यूजर के पास टीजीएस को स्वयं को प्रमाणित करने के लिए पर्याप्त जानकारी होती है।

ग्राहक सेवा प्राधिकरण

  1. सेवाओं का अनुरोध करते समय, ग्राहक टीजीएस को निम्नलिखित संदेश भेजता है:
    • संदेश C: संदेश B (टीजीएस गुप्त कुंजी का उपयोग करके एन्क्रिप्टेड टीजीटी) एवं अनुरोधित सेवा की आईडी से बना है।
    • संदेश D: प्रमाणक (जो यूजर आईडी एवं टाइमस्टैम्प से बना है), यूजर/टीजीएस सत्र कुंजी (संदेश A में यूजर द्वारा पाया गया) का उपयोग करके एन्क्रिप्ट किया गया है।
  2. संदेश C एवं D प्राप्त करने पर, टीजीएस संदेश C से संदेश B को पुनः प्राप्त करता है। यह टीजीएस गुप्त कुंजी का उपयोग करके संदेश B को डिक्रिप्ट करता है। यह इसे यूजर/टीजीएस सत्र कुंजी एवं यूजर आईडी (दोनों टीजीटी में हैं) देता है। इस यूजर/टीजीएस सत्र कुंजी का उपयोग करके, टीजीएस संदेश D (प्रमाणक) को डिक्रिप्ट करता है एवं संदेश B एवं D से यूजर आईडी की तुलना करता है; यदि वे मेल खाते हैं, तो सर्वर यूजर को निम्नलिखित दो संदेश भेजता है:
    • संदेश E: यूजर-टू-सर्वर टिकट (जिसमें यूजर आईडी, यूजर नेटवर्क पता, वैधता अवधि एवं यूजर/सर्वर सत्र कुंजी सम्मिलित है) सेवा की गुप्त कुंजी का उपयोग करके एन्क्रिप्ट किया गया है।
    • संदेश F: यूजर/सर्वर सत्र कुंजी यूजर/टीजीएस सत्र कुंजी के साथ एन्क्रिप्टेड है।

ग्राहक सेवा अनुरोध

  1. टीजीएस से E एवं F संदेश प्राप्त करने पर, ग्राहक के पास सेवा सर्वर (एसएस) पर स्वयं को प्रमाणित करने के लिए पर्याप्त जानकारी होती है। यूजर एसएस से जुड़ता है एवं निम्नलिखित दो संदेश भेजता है:
    • संदेश E: पूर्व चरण से (यूजर-टू-सर्वर टिकट, टीजीएस द्वारा सेवा की गुप्त कुंजी का उपयोग करके एन्क्रिप्ट किया गया)।
    • संदेश G: नया प्रमाणक, जिसमें यूजर आईडी, टाइमस्टैम्प सम्मिलित है एवं यूजर/सर्वर सत्र कुंजी का उपयोग करके एन्क्रिप्ट किया गया है।
  2. एसएस यूजर/सर्वर सत्र कुंजी को पुनः प्राप्त करने के लिए अपनी गुप्त कुंजी का उपयोग करके टिकट (संदेश E) को डिक्रिप्ट करता है। सत्र कुंजी का उपयोग करते हुए, एसएस प्रमाणक को डिक्रिप्ट करता है एवं संदेश E एवं G से यूजर आईडी की तुलना करता है, यदि वे मेल खाते हैं तो सर्वर यूजर को उसकी वास्तविक पहचान एवं ग्राहक की सेवा करने की इच्छा की पुष्टि करने के लिए निम्नलिखित संदेश भेजता है।
    • संदेश H: यूजर के प्रमाणक में पाया गया टाइमस्टैम्प (संस्करण 4 में प्लस 1, किन्तु संस्करण 5 में आवश्यक नहीं है)[11][12]), यूजर/सर्वर सत्र कुंजी का उपयोग करके एन्क्रिप्ट किया गया।
  3. यूजर/सर्वर सत्र कुंजी का उपयोग करके पुष्टिकरण (संदेश H) को डिक्रिप्ट करता है एवं परिक्षणता है कि टाइमस्टैम्प सही है या नहीं। यदि ऐसा है, तो यूजर सर्वर पर विश्वास कर सकता है एवं सर्वर को सेवा अनुरोध प्रस्तावित करना प्रारम्भ कर सकता है।
  4. सर्वर यूजर को अनुरोधित सेवाएँ प्रदान करता है।

ऑपरेटिंग प्रणाली द्वारा समर्थन

माइक्रोसॉफ्ट विंडोज़

विंडोज़ (Windows) 2000 एवं पश्चात के संस्करण अपनी डिफ़ॉल्ट प्रमाणीकरण विधि के रूप में केर्बरोस का उपयोग करते हैं।[13] केर्बरोस प्रोटोकॉल सुइट में कुछ माइक्रोसॉफ्ट परिवर्धन [rfc:3244 आरएफसी 3244] माइक्रोसॉफ्ट विंडोज़ 2000 केर्बरोस परिवर्तित पासवर्ड एवं सेट पासवर्ड प्रोटोकॉल में प्रलेखित हैं। [rfc:4757 आरएफसी 4757] माइक्रोसॉफ्ट द्वारा RC4 सिफर के उपयोग का प्रपत्रीकरण करता है। जबकि माइक्रोसॉफ्ट केर्बरोस प्रोटोकॉल का उपयोग एवं विस्तार करता है, यह MIT सॉफ़्टवेयर का उपयोग नहीं करता है।

केर्बरोस को रुचिकर प्रमाणीकरण विधि के रूप में उपयोग किया जाता है: सामान्यतः, किसी यूजर को विंडोज़ डोमेन से जोड़ने का अर्थ है उस यूजर से विंडोज़ डोमेन में सेवाओं एवं उस डोमेन के साथ विश्वास संबंधों वाले सभी डोमेन के प्रमाणीकरण के लिए डिफ़ॉल्ट प्रोटोकॉल के रूप में केर्बरोस को सक्षम करना है।[13]

इसके विपरीत, जब यूजर या सर्वर या दोनों डोमेन से जुड़े नहीं होते हैं (या विश्वसनीय डोमेन वातावरण का भाग नहीं होते हैं), तो विंडोज़ यूजर एवं सर्वर के मध्य प्रमाणीकरण के लिए एनटीएलएम का उपयोग करेगा।[13]

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

माइक्रोसॉफ्ट विंडोज एवं विंडोज सर्वर में setspn कमांड लाइन इंटरफेस उपयोगिता सम्मिलित हैं, जिसका उपयोग सक्रिय निर्देशिका सेवा खाते के लिए सर्विस प्रिंसिपल नेम्स (एसपीएन) को पढ़ने, संशोधित करने या विस्थापित करने के लिए किया जा सकता है।[14][15]

यूनिक्स एवं अन्य ऑपरेटिंग प्रणाली

फ्रीबीएसडी, ओपनबीएसडी, एप्पल के मैकओएस, रेड हैट एंटरप्राइज लिनक्स, सन माइक्रोसिस्टम्स के सोलारिस (ऑपरेटिंग प्रणाली), आईबीएम के AIX, HP-UX एवं अन्य सहित कई यूनिक्स जैसे ऑपरेटिंग प्रणाली में यूजरओं या सेवाओं के केर्बरोस प्रमाणीकरण के लिए सॉफ्टवेयर सम्मिलित हैं। विभिन्न गैर-यूनिक्स जैसे ऑपरेटिंग प्रणाली जैसे z/OS, IBM i एवं OpenVMS में भी केर्बरोस समर्थन की सुविधा है। एम्बेडेड प्लेटफ़ॉर्म पर चलने वाले यूजर एजेंटों एवं नेटवर्क सेवाओं के लिए केर्बरोस वी प्रमाणीकरण प्रोटोकॉल का एंबेडेड कार्यान्वयन भी कंपनियों से उपलब्ध है।

अभाव एवं सीमाएँ

  • केर्बरोस में समय की कठोर आवश्यकताएं हैं, जिसका अर्थ है कि सम्मिलित आतिथ्य की घड़ियों को कॉन्फ़िगर की गई सीमाओं के अंदर सिंक्रनाइज़ किया जाना चाहिए। टिकटों की समय उपलब्धता अवधि होती है, एवं यदि होस्ट घड़ी केर्बरोस सर्वर घड़ी के साथ सिंक्रनाइज़ नहीं है, तो प्रमाणीकरण विफल हो जाएगा। प्रति MIT डिफ़ॉल्ट कॉन्फ़िगरेशन के लिए आवश्यक है कि घड़ी का समय पाँच मिनट से अधिक का अंतर न हो। व्यवहार में, नेटवर्क टाइम प्रोटोकॉल डेमॉन का उपयोग सामान्यतः होस्ट घड़ियों को सिंक्रनाइज़ रखने के लिए किया जाता है। ध्यान दें कि कुछ सर्वर (माइक्रोसॉफ्ट का कार्यान्वयन उनमें से है) एन्क्रिप्टेड सर्वर समय वाला KRB_AP_ERR_SKEW परिणाम लौटा सकता है यदि दोनों घड़ियों में कॉन्फ़िगर किए गए अधिकतम मान से अधिक ऑफसेट है। उस स्थिति में, यूजर ऑफसेट शोध करने के लिए दिए गए सर्वर समय का उपयोग करके समय की गणना करके पुनः प्रयत्न कर सकता है। यह व्यवहार आरएफसी 4430 में प्रलेखित है।
  • प्रशासन प्रोटोकॉल मानकीकृत नहीं है एवं सर्वर कार्यान्वयन के मध्य भिन्न है। पासवर्ड परिवर्तन [rfc:3244 आरएफसी 3244] में वर्णित हैं।
  • सममित क्रिप्टोग्राफीकरने स्वीकार करने के विषय में (केर्बरोस सममित या असममित (सार्वजनिक-कुंजी) क्रिप्टोग्राफी का उपयोग करके कार्य कर सकता है), क्योंकि सभी प्रमाणीकरण केंद्रीकृत कुंजी वितरण केंद्र (केडीसी) द्वारा नियंत्रित होते हैं, इस प्रमाणीकरण मूलभूत ढांचे से निराकरण करने से आक्रमणकारी को किसी भी यूजर का प्रतिरूपण करने की अनुमति देगा।
  • प्रत्येक नेटवर्क सेवा जिसे भिन्न होस्ट नाम की आवश्यकता होती है, उसे केर्बरोस कुंजियों के अपने सेट की आवश्यकता होगी। यह वर्चुअल होस्टिंग एवं क्लस्टर को समष्टि बनाता है।
  • केर्बरोस को केर्बरोस टोकन सर्वर के साथ विश्वसनीय संबंध रखने के लिए यूजर खातों एवं सेवाओं की आवश्यकता होती है।
  • आवश्यक यूजर ट्रस्ट चरणबद्ध वातावरण (उदाहरण के लिए, परीक्षण वातावरण, प्री-प्रोडक्शन वातावरण एवं उत्पादन वातावरण के लिए भिन्न डोमेन) बनाना कठिन करता है: या तो डोमेन ट्रस्ट संबंध बनाने की आवश्यकता होती है जो पर्यावरण डोमेन के सख्त भिन्नाव को बाधित करतीहै, या अतिरिक्त यूजर की आवश्यकता होती है प्रत्येक पर्यावरण के लिए प्रदान किया जाना है।

सुरक्षा

डेटा एन्क्रिप्शन स्टैंडर्ड (डीईएस) सिफर का उपयोग केर्बरोस के साथ संयोजन में किया जा सकता है, किन्तु यह अब इंटरनेट मानक नहीं है क्योंकि यह शक्तिहीन है।[16] सुरक्षा दुर्बलता उन उत्पादों में उपस्थित हैं जो कर्बेरोस के पूर्व संस्करणों को प्रस्तावित करते हैं जिनमें एईएस जैसे नए एन्क्रिप्शन सिफर के लिए समर्थन का आभाव है।

यह भी देखें

संदर्भ

  1. "Kerberos 5 Release 1.21".
  2. RFC 4556, abstract.
  3. "केर्बरोस प्रमाणीकरण". IONOS Digitalguide (in English). Retrieved 2022-08-25.
  4. Garman 2003, p. 5.
  5. Steiner, Jennifer G.; Geer, Daniel E. (21 July 1988). एथेना पर्यावरण में नेटवर्क सेवाएँ. Proceedings of the Winter 1988 Usenix Conference. CiteSeerX 10.1.1.31.8727.
  6. Steiner, Jennifer G.; Neuman, Clifford; Schiller, Jeffrey I. (February 1988). Kerberos: An authentication service for open network systems. Proceedings of the Winter 1988 USENIX Conference. CiteSeerX 10.1.1.112.9002. S2CID 222257682.
  7. Elizabeth D. Zwicky; Simon Cooper; D. Brent (26 Jun 2000). Building Internet Firewalls: Internet and Web Security. O'Reilly. ISBN 9781565928718.
  8. 8.0 8.1 Garman 2003, p. 7.
  9. Pröhl & Kobras 2022, p. 7.
  10. Garman 2003, pp. 7–8.
  11. C., Neuman; J., Kohl (1993). "The Kerberos Network Authentication Service (V5)". doi:10.17487/RFC1510. Archived from the original on 2016-08-21. {{cite journal}}: Cite journal requires |journal= (help)
  12. Clifford, Neuman; Sam, Hartman; Tom, Yu; Kenneth, Raeburn (2005). "The Kerberos Network Authentication Service (V5)". doi:10.17487/RFC4120. Archived from the original on 2016-08-21. {{cite journal}}: Cite journal requires |journal= (help)
  13. 13.0 13.1 13.2 "What Is Kerberos Authentication?". Microsoft TechNet. Archived from the original on 2016-12-20.
  14. Setspn - Windows CMD - SS64.com
  15. Setspn | Microsoft Docs
  16. Tom, Yu; Love, Astrand (2012). "Deprecate DES, RC4-HMAC-EXP, and Other Weak Cryptographic Algorithms in Kerberos". doi:10.17487/RFC6649. Archived from the original on 2015-10-27. {{cite journal}}: Cite journal requires |journal= (help)
General
आरएफसीs
  • RFC 1510 The केर्बरोस Network Authentication Service (V5) [Obsolete]
  • RFC 1964 The केर्बरोस Version 5 GSS-API Mechanism
  • RFC 3961 Encryption and Checksum Specifications for केर्बरोस 5
  • RFC 3962 Advanced Encryption Standard (AES) Encryption for केर्बरोस 5
  • RFC 4120 The केर्बरोस Network Authentication Service (V5) [Current]
  • RFC 4121 The केर्बरोस Version 5 Generic Security Service Application Program Interface (GSS-API) Mechanism: Version 2
  • RFC 4537 केर्बरोस Cryptosystem Negotiation Extension
  • RFC 4556 Public Key Cryptography for Initial Authentication in केर्बरोस (PKINIT)
  • RFC 4557 Online Certificate Status Protocol (OCSP) Support for Public Key Cryptography for Initial Authentication in केर्बरोस (PKINIT)
  • RFC 4757 The RC4-HMAC केर्बरोस Encryption Types Used by माइक्रोसॉफ्ट Windows [Obsolete]
  • RFC 5021 Extended केर्बरोस Version 5 Key Distribution Center (KDC) Exchanges over TCP
  • RFC 5349 Elliptic Curve Cryptography (ECC) Support for Public Key Cryptography for Initial Authentication in केर्बरोस (PKINIT)
  • RFC 5868 Problem Statement on the Cross-Realm Operation of केर्बरोस
  • RFC 5896 Generic Security Service Application Program Interface (GSS-API): Delegate if Approved by Policy
  • RFC 6111 Additional केर्बरोस Naming Constraints
  • RFC 6112 Anonymity Support for केर्बरोस
  • RFC 6113 A Generalized Framework for केर्बरोस Pre-Authentication
  • RFC 6251 Using केर्बरोस Version 5 over the Transport Layer Security (TLS) Protocol
  • RFC 6448 The Unencrypted Form of केर्बरोस 5 KRB-CRED Message
  • RFC 6542 केर्बरोस Version 5 Generic Security Service Application Program Interface (GSS-API) Channel Binding Hash Agility
  • RFC 6560 One-Time Password (OTP) Pre-Authentication
  • RFC 6649 Deprecate DES, RC4-HMAC-EXP, and Other Weak Cryptographic Algorithms in केर्बरोस
  • RFC 6784 केर्बरोस Options for DHCPv6
  • RFC 6803 Camellia Encryption for केर्बरोस 5
  • RFC 6806 केर्बरोस Principal Name Canonicalization and Cross-Realm Referrals
  • RFC 6880 An Information Model for केर्बरोस Version 5
  • RFC 8009 AES Encryption with HMAC-SHA2 for केर्बरोस 5


अग्रिम पठन


बाहरी संबंध