केर्बरोस (प्रोटोकॉल): 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/}}
}}
}}
केर्बरोस ({{IPAc-en|ˈ|k|ɜːr|b|ər|ɒ|s}}) एक [[ संगणक संजाल ]]|कंप्यूटर-नेटवर्क [[प्रमाणीकरण]] [[क्रिप्टोग्राफ़िक प्रोटोकॉल]] है जो गैर-सुरक्षित नेटवर्क पर संचार करने वाले [[नोड (नेटवर्किंग)]] को एक-दूसरे को सुरक्षित तरीके से अपनी पहचान साबित करने की अनुमति देने के लिए टिकटों के आधार पर काम करता है। इसके डिजाइनरों ने इसे मुख्य रूप से क्लाइंट-सर्वर मॉडल पर लक्षित किया है, और यह [[पारस्परिक प्रमाणीकरण]] प्रदान करता है - उपयोगकर्ता और सर्वर दोनों एक-दूसरे की पहचान को सत्यापित करते हैं। केर्बरोस प्रोटोकॉल संदेश कंप्यूटर असुरक्षा#ईव्सड्रॉपिंग और रीप्ले हमलों से सुरक्षित हैं।
'''केर्बरोस''' ({{IPAc-en|ˈ|k|ɜːr|b|ər|ɒ|s}}) [[ संगणक संजाल |कंप्यूटर-नेटवर्क]] [[प्रमाणीकरण]] [[क्रिप्टोग्राफ़िक प्रोटोकॉल]] है जो गैर-सुरक्षित नेटवर्क पर संचार करने वाले [[नोड (नेटवर्किंग)]] को एक-दूसरे को सुरक्षित उपाय से अपनी पहचान साबित करने की अनुमति देने के लिए टिकटों के आधार पर कार्य करता है। इसके डिजाइनरों ने इसे मुख्य रूप से क्लाइंट-सर्वर मॉडल पर लक्षित किया है, एवं यह [[पारस्परिक प्रमाणीकरण]] प्रदान करता है - उपयोगकर्ता एवं सर्वर दोनों एक-दूसरे की पहचान को सत्यापित करते हैं। केर्बरोस प्रोटोकॉल संदेश छिपकर बातें सुनने एवं रिप्ले हमलों से सुरक्षित रहते हैं।


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


== इतिहास और विकास ==
== इतिहास एवं विकास ==
[[मैसाचुसेट्स की तकनीकी संस्था]] (एमआईटी) ने [[प्रोजेक्ट एथेना]] द्वारा प्रदान की गई नेटवर्क सेवाओं की सुरक्षा के लिए 1988 में केर्बरोस विकसित किया।{{Sfn|Garman|2003|p=5}}<ref name="Athena Network Services">{{cite conference |title=एथेना पर्यावरण में नेटवर्क सेवाएँ|first1=Jennifer G. |last1=Steiner |first2=Daniel E. |last2=Geer |date=21 July 1988 |conference=Proceedings of the Winter 1988 Usenix Conference |citeseerx=10.1.1.31.8727 }}</ref> इसका पहला संस्करण मुख्य रूप से स्टीवन पी. मिलर (सॉफ्टवेयर डिजाइनर) और [[ क्लिफ़ोर्ड न्यूमैन ]] द्वारा पहले के नीधम-श्रोएडर प्रोटोकॉल|नीधम-श्रोएडर सममित-कुंजी प्रोटोकॉल के आधार पर डिजाइन किया गया था।<ref>{{cite conference |last1=Steiner |first1=Jennifer G. |last2=Neuman |first2=Clifford |last3=Schiller |first3=Jeffrey I. |title=''Kerberos'': An authentication service for open network systems |conference=Proceedings of the Winter 1988 USENIX Conference |date=February 1988 |citeseerx=10.1.1.112.9002 |s2cid=222257682 }}</ref><ref name="Building Internet Firewalls">{{cite book |title=Building Internet Firewalls: Internet and Web Security |url=https://archive.org/details/buildinginternet00zwic |url-access=registration |author=Elizabeth D. Zwicky |author2=Simon Cooper |author3=D. Brent |date=26 Jun 2000 |publisher=O'Reilly |isbn=9781565928718}}</ref> केर्बरोस संस्करण 1 से 3 प्रायोगिक थे और एमआईटी के बाहर जारी नहीं किए गए थे।{{Sfn|Garman|2003|p=7}}
[[मैसाचुसेट्स की तकनीकी संस्था]] (एमआईटी) ने [[प्रोजेक्ट एथेना]] द्वारा प्रदान की गई नेटवर्क सेवाओं की सुरक्षा के लिए 1988 में केर्बरोस विकसित किया।{{Sfn|Garman|2003|p=5}}<ref name="Athena Network Services">{{cite conference |title=एथेना पर्यावरण में नेटवर्क सेवाएँ|first1=Jennifer G. |last1=Steiner |first2=Daniel E. |last2=Geer |date=21 July 1988 |conference=Proceedings of the Winter 1988 Usenix Conference |citeseerx=10.1.1.31.8727 }}</ref> इसका पहला संस्करण मुख्य रूप से स्टीवन पी. मिलर (सॉफ्टवेयर डिजाइनर) एवं [[ क्लिफ़ोर्ड न्यूमैन ]] द्वारा पहले के नीधम-श्रोएडर प्रोटोकॉल|नीधम-श्रोएडर सममित-कुंजी प्रोटोकॉल के आधार पर डिजाइन किया गया था।<ref>{{cite conference |last1=Steiner |first1=Jennifer G. |last2=Neuman |first2=Clifford |last3=Schiller |first3=Jeffrey I. |title=''Kerberos'': An authentication service for open network systems |conference=Proceedings of the Winter 1988 USENIX Conference |date=February 1988 |citeseerx=10.1.1.112.9002 |s2cid=222257682 }}</ref><ref name="Building Internet Firewalls">{{cite book |title=Building Internet Firewalls: Internet and Web Security |url=https://archive.org/details/buildinginternet00zwic |url-access=registration |author=Elizabeth D. Zwicky |author2=Simon Cooper |author3=D. Brent |date=26 Jun 2000 |publisher=O'Reilly |isbn=9781565928718}}</ref> केर्बरोस संस्करण 1 से 3 प्रायोगिक थे एवं एमआईटी के बाहर जारी नहीं किए गए थे।{{Sfn|Garman|2003|p=7}}


Kerberos संस्करण 4, पहला सार्वजनिक संस्करण, 24 जनवरी 1989 को जारी किया गया था। चूंकि Kerberos 4 को संयुक्त राज्य अमेरिका में विकसित किया गया था, और चूंकि इसमें [[डेटा एन्क्रिप्शन मानक]] (DES) [[एन्क्रिप्शन एल्गोरिथम]] एल्गोरिदम का उपयोग किया गया था, इसलिए संयुक्त राज्य अमेरिका से क्रिप्टोग्राफी का निर्यात| हम। निर्यात नियंत्रण प्रतिबंधों ने इसे अन्य देशों में निर्यात होने से रोक दिया। एमआईटी ने सभी एन्क्रिप्शन कोड हटाकर केर्बरोस 4 का एक निर्यात योग्य संस्करण बनाया,{{Sfn|Garman|2003|p=7}} हड्डियाँ कहा जाता है।{{Sfn|Pröhl|Kobras|2022|p=7}} ऑस्ट्रेलिया की [[ बॉन्ड विश्वविद्यालय ]] के एरिक यंग ने डीईएस को ईबोन्स नामक संस्करण में बोन्स में फिर से लागू किया, जिसे किसी भी देश में स्वतंत्र रूप से उपयोग किया जा सकता है। स्वीडन के [[रॉयल इंस्टीट्यूट ऑफ टेक्नोलॉजी]] ने KTH-KRB नामक एक और पुनः कार्यान्वयन जारी किया।{{Sfn|Garman|2003|pp=7-8}}
केर्बरोस संस्करण 4, पहला सार्वजनिक संस्करण, 24 जनवरी 1989 को जारी किया गया था। चूंकि केर्बरोस 4 को संयुक्त राज्य अमेरिका में विकसित किया गया था, एवं चूंकि इसमें [[डेटा एन्क्रिप्शन मानक]] (DES) [[एन्क्रिप्शन एल्गोरिथम]] एल्गोरिदम का उपयोग किया गया था, इसलिए संयुक्त राज्य अमेरिका से क्रिप्टोग्राफी का निर्यात| हम। निर्यात नियंत्रण प्रतिबंधों ने इसे अन्य देशों में निर्यात होने से रोक दिया। एमआईटी ने सभी एन्क्रिप्शन कोड हटाकर केर्बरोस 4 का एक निर्यात योग्य संस्करण बनाया,{{Sfn|Garman|2003|p=7}} हड्डियाँ कहा जाता है।{{Sfn|Pröhl|Kobras|2022|p=7}} ऑस्ट्रेलिया की [[ बॉन्ड विश्वविद्यालय ]] के एरिक यंग ने डीईएस को ईबोन्स नामक संस्करण में बोन्स में फिर से लागू किया, जिसे किसी भी देश में स्वतंत्र रूप से उपयोग किया जा सकता है। स्वीडन के [[रॉयल इंस्टीट्यूट ऑफ टेक्नोलॉजी]] ने KTH-KRB नामक एक एवं पुनः कार्यान्वयन जारी किया।{{Sfn|Garman|2003|pp=7-8}}


न्यूमैन और जॉन कोहल ने मौजूदा सीमाओं और सुरक्षा समस्याओं पर काबू पाने के इरादे से 1993 में संस्करण 5 प्रकाशित किया। संस्करण 5 RFC 1510 के रूप में सामने आया, जिसे 2005 में RFC 4120 द्वारा अप्रचलित कर दिया गया।
न्यूमैन एवं जॉन कोहल ने मौजूदा सीमाओं एवं सुरक्षा समस्याओं पर काबू पाने के इरादे से 1993 में संस्करण 5 प्रकाशित किया। संस्करण 5 RFC 1510 के रूप में सामने आया, जिसे 2005 में RFC 4120 द्वारा अप्रचलित कर दिया गया।


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


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


==प्रोटोकॉल==
==प्रोटोकॉल==


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


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


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


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


====ग्राहक सेवा अनुरोध====
====ग्राहक सेवा अनुरोध====
# टीजीएस से ई और एफ संदेश प्राप्त करने पर, ग्राहक के पास सेवा सर्वर (एसएस) पर खुद को प्रमाणित करने के लिए पर्याप्त जानकारी होती है। क्लाइंट एसएस से जुड़ता है और निम्नलिखित दो संदेश भेजता है:
# टीजीएस से ई एवं एफ संदेश प्राप्त करने पर, ग्राहक के पास सेवा सर्वर (एसएस) पर खुद को प्रमाणित करने के लिए पर्याप्त जानकारी होती है। क्लाइंट एसएस से जुड़ता है एवं निम्नलिखित दो संदेश भेजता है:
#* संदेश ई: पिछले चरण से (क्लाइंट-टू-सर्वर टिकट, टीजीएस द्वारा सेवा की गुप्त कुंजी का उपयोग करके एन्क्रिप्ट किया गया)।
#* संदेश ई: पिछले चरण से (क्लाइंट-टू-सर्वर टिकट, टीजीएस द्वारा सेवा की गुप्त कुंजी का उपयोग करके एन्क्रिप्ट किया गया)।
#* संदेश जी: एक नया प्रमाणक, जिसमें क्लाइंट आईडी, टाइमस्टैम्प शामिल है और क्लाइंट/सर्वर सत्र कुंजी का उपयोग करके एन्क्रिप्ट किया गया है।
#* संदेश जी: एक नया प्रमाणक, जिसमें क्लाइंट आईडी, टाइमस्टैम्प शामिल है एवं क्लाइंट/सर्वर सत्र कुंजी का उपयोग करके एन्क्रिप्ट किया गया है।
# एसएस क्लाइंट/सर्वर सत्र कुंजी को पुनः प्राप्त करने के लिए अपनी गुप्त कुंजी का उपयोग करके टिकट (संदेश ई) को डिक्रिप्ट करता है। सत्र कुंजी का उपयोग करते हुए, एसएस प्रमाणक को डिक्रिप्ट करता है और संदेश ई और जी से क्लाइंट आईडी की तुलना करता है, यदि वे मेल खाते हैं तो सर्वर क्लाइंट को उसकी वास्तविक पहचान और ग्राहक की सेवा करने की इच्छा की पुष्टि करने के लिए निम्नलिखित संदेश भेजता है:
# एसएस क्लाइंट/सर्वर सत्र कुंजी को पुनः प्राप्त करने के लिए अपनी गुप्त कुंजी का उपयोग करके टिकट (संदेश ई) को डिक्रिप्ट करता है। सत्र कुंजी का उपयोग करते हुए, एसएस प्रमाणक को डिक्रिप्ट करता है एवं संदेश ई एवं जी से क्लाइंट आईडी की तुलना करता है, यदि वे मेल खाते हैं तो सर्वर क्लाइंट को उसकी वास्तविक पहचान एवं ग्राहक की सेवा करने की इच्छा की पुष्टि करने के लिए निम्नलिखित संदेश भेजता है:
#* संदेश एच: क्लाइंट के प्रमाणक में पाया गया टाइमस्टैम्प (संस्करण 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>), क्लाइंट/सर्वर सत्र कुंजी का उपयोग करके एन्क्रिप्ट किया गया।
#* संदेश एच: क्लाइंट के प्रमाणक में पाया गया टाइमस्टैम्प (संस्करण 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>), क्लाइंट/सर्वर सत्र कुंजी का उपयोग करके एन्क्रिप्ट किया गया।
# क्लाइंट क्लाइंट/सर्वर सत्र कुंजी का उपयोग करके पुष्टिकरण (संदेश एच) को डिक्रिप्ट करता है और जांचता है कि टाइमस्टैम्प सही है या नहीं। यदि ऐसा है, तो क्लाइंट सर्वर पर भरोसा कर सकता है और सर्वर को सेवा अनुरोध जारी करना शुरू कर सकता है।
# क्लाइंट क्लाइंट/सर्वर सत्र कुंजी का उपयोग करके पुष्टिकरण (संदेश एच) को डिक्रिप्ट करता है एवं जांचता है कि टाइमस्टैम्प सही है या नहीं। यदि ऐसा है, तो क्लाइंट सर्वर पर भरोसा कर सकता है एवं सर्वर को सेवा अनुरोध जारी करना शुरू कर सकता है।
# सर्वर क्लाइंट को अनुरोधित सेवाएँ प्रदान करता है।
# सर्वर क्लाइंट को अनुरोधित सेवाएँ प्रदान करता है।


Line 84: Line 84:


===माइक्रोसॉफ्ट विंडोज़===
===माइक्रोसॉफ्ट विंडोज़===
[[Windows 2000]] और बाद के संस्करण अपनी डिफ़ॉल्ट प्रमाणीकरण विधि के रूप में Kerberos का उपयोग करते हैं।<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> Kerberos प्रोटोकॉल सुइट में कुछ Microsoft परिवर्धन RFC 3244 Microsoft Windows 2000 Kerberos बदलें पासवर्ड और पासवर्ड सेट प्रोटोकॉल में प्रलेखित हैं। RFC 4757 Microsoft द्वारा [[RC4]] सिफर के उपयोग का दस्तावेजीकरण करता है। जबकि Microsoft Kerberos प्रोटोकॉल का उपयोग और विस्तार करता है, यह MIT सॉफ़्टवेयर का उपयोग नहीं करता है।
[[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> केर्बरोस प्रोटोकॉल सुइट में कुछ Microsoft परिवर्धन RFC 3244 Microsoft Windows 2000 केर्बरोस बदलें पासवर्ड एवं पासवर्ड सेट प्रोटोकॉल में प्रलेखित हैं। RFC 4757 Microsoft द्वारा [[RC4]] सिफर के उपयोग का दस्तावेजीकरण करता है। जबकि Microsoft केर्बरोस प्रोटोकॉल का उपयोग एवं विस्तार करता है, यह MIT सॉफ़्टवेयर का उपयोग नहीं करता है।


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


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


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


माइक्रोसॉफ्ट विंडोज और विंडोज सर्वर शामिल हैं {{Mono|setspn}}, एक [[कमांड लाइन इंटरफेस]]|कमांड-लाइन उपयोगिता जिसका उपयोग सक्रिय निर्देशिका सेवा खाते के लिए सर्विस प्रिंसिपल नेम्स (एसपीएन) को पढ़ने, संशोधित करने या हटाने के लिए किया जा सकता है।<ref>[https://ss64.com/nt/setspn.html Setspn - Windows CMD - SS64.com]</ref><ref>[https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/cc731241(v=ws.11) Setspn | Microsoft Docs]</ref>
माइक्रोसॉफ्ट विंडोज एवं विंडोज सर्वर शामिल हैं {{Mono|setspn}}, एक [[कमांड लाइन इंटरफेस]]|कमांड-लाइन उपयोगिता जिसका उपयोग सक्रिय निर्देशिका सेवा खाते के लिए सर्विस प्रिंसिपल नेम्स (एसपीएन) को पढ़ने, संशोधित करने या हटाने के लिए किया जा सकता है।<ref>[https://ss64.com/nt/setspn.html Setspn - Windows CMD - SS64.com]</ref><ref>[https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/cc731241(v=ws.11) Setspn | Microsoft Docs]</ref>


'''यूनिक्स और अन्य ऑपरेटिंग सिस्टम'''
'''यूनिक्स एवं अन्य ऑपरेटिंग सिस्टम'''


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


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


==सुरक्षा==
==सुरक्षा==
Line 139: Line 139:


;RFCs
;RFCs
*{{IETF RFC|1510|link=no}} The Kerberos Network Authentication Service (V5) [Obsolete]
*{{IETF RFC|1510|link=no}} The केर्बरोस Network Authentication Service (V5) [Obsolete]
*{{IETF RFC|1964|link=no}} The Kerberos Version 5 GSS-API Mechanism
*{{IETF RFC|1964|link=no}} The केर्बरोस Version 5 GSS-API Mechanism
*{{IETF RFC|3961|link=no}} Encryption and Checksum Specifications for Kerberos 5
*{{IETF RFC|3961|link=no}} Encryption and Checksum Specifications for केर्बरोस 5
*{{IETF RFC|3962|link=no}} Advanced Encryption Standard (AES) Encryption for Kerberos 5
*{{IETF RFC|3962|link=no}} Advanced Encryption Standard (AES) Encryption for केर्बरोस 5
*{{IETF RFC|4120|link=no}} The Kerberos Network Authentication Service (V5) [Current]
*{{IETF RFC|4120|link=no}} The केर्बरोस Network Authentication Service (V5) [Current]
*{{IETF RFC|4121|link=no}} The Kerberos Version 5 Generic Security Service Application Program Interface (GSS-API) Mechanism: Version 2
*{{IETF RFC|4121|link=no}} The केर्बरोस Version 5 Generic Security Service Application Program Interface (GSS-API) Mechanism: Version 2
*{{IETF RFC|4537|link=no}} Kerberos Cryptosystem Negotiation Extension
*{{IETF RFC|4537|link=no}} केर्बरोस Cryptosystem Negotiation Extension
*{{IETF RFC|4556|link=no}} Public Key Cryptography for Initial Authentication in Kerberos (PKINIT)
*{{IETF RFC|4556|link=no}} Public Key Cryptography for Initial Authentication in केर्बरोस (PKINIT)
*{{IETF RFC|4557|link=no}} Online Certificate Status Protocol (OCSP) Support for Public Key Cryptography for Initial Authentication in Kerberos (PKINIT)
*{{IETF RFC|4557|link=no}} Online Certificate Status Protocol (OCSP) Support for Public Key Cryptography for Initial Authentication in केर्बरोस (PKINIT)
*{{IETF RFC|4757|link=no}} The RC4-HMAC Kerberos Encryption Types Used by Microsoft Windows [Obsolete]
*{{IETF RFC|4757|link=no}} The RC4-HMAC केर्बरोस Encryption Types Used by Microsoft Windows [Obsolete]
*{{IETF RFC|5021|link=no}} Extended Kerberos Version 5 Key Distribution Center (KDC) Exchanges over TCP
*{{IETF RFC|5021|link=no}} Extended केर्बरोस Version 5 Key Distribution Center (KDC) Exchanges over TCP
*{{IETF RFC|5349|link=no}} Elliptic Curve Cryptography (ECC) Support for Public Key Cryptography for Initial Authentication in Kerberos (PKINIT)
*{{IETF RFC|5349|link=no}} Elliptic Curve Cryptography (ECC) Support for Public Key Cryptography for Initial Authentication in केर्बरोस (PKINIT)
*{{IETF RFC|5868|link=no}} Problem Statement on the Cross-Realm Operation of Kerberos
*{{IETF RFC|5868|link=no}} Problem Statement on the Cross-Realm Operation of केर्बरोस
*{{IETF RFC|5896|link=no}} Generic Security Service Application Program Interface (GSS-API): Delegate if Approved by Policy
*{{IETF RFC|5896|link=no}} Generic Security Service Application Program Interface (GSS-API): Delegate if Approved by Policy
*{{IETF RFC|6111|link=no}} Additional Kerberos Naming Constraints
*{{IETF RFC|6111|link=no}} Additional केर्बरोस Naming Constraints
*{{IETF RFC|6112|link=no}} Anonymity Support for Kerberos
*{{IETF RFC|6112|link=no}} Anonymity Support for केर्बरोस
*{{IETF RFC|6113|link=no}} A Generalized Framework for Kerberos Pre-Authentication
*{{IETF RFC|6113|link=no}} A Generalized Framework for केर्बरोस Pre-Authentication
*{{IETF RFC|6251|link=no}} Using Kerberos Version 5 over the Transport Layer Security (TLS) Protocol
*{{IETF RFC|6251|link=no}} Using केर्बरोस Version 5 over the Transport Layer Security (TLS) Protocol
*{{IETF RFC|6448|link=no}} The Unencrypted Form of Kerberos 5 KRB-CRED Message
*{{IETF RFC|6448|link=no}} The Unencrypted Form of केर्बरोस 5 KRB-CRED Message
*{{IETF RFC|6542|link=no}} Kerberos Version 5 Generic Security Service Application Program Interface (GSS-API) Channel Binding Hash Agility
*{{IETF RFC|6542|link=no}} केर्बरोस Version 5 Generic Security Service Application Program Interface (GSS-API) Channel Binding Hash Agility
*{{IETF RFC|6560|link=no}} One-Time Password (OTP) Pre-Authentication
*{{IETF RFC|6560|link=no}} One-Time Password (OTP) Pre-Authentication
*{{IETF RFC|6649|link=no}} Deprecate DES, RC4-HMAC-EXP, and Other Weak Cryptographic Algorithms in Kerberos
*{{IETF RFC|6649|link=no}} Deprecate DES, RC4-HMAC-EXP, and Other Weak Cryptographic Algorithms in केर्बरोस
*{{IETF RFC|6784|link=no}} Kerberos Options for DHCPv6
*{{IETF RFC|6784|link=no}} केर्बरोस Options for DHCPv6
*{{IETF RFC|6803|link=no}} Camellia Encryption for Kerberos 5
*{{IETF RFC|6803|link=no}} Camellia Encryption for केर्बरोस 5
*{{IETF RFC|6806|link=no}} Kerberos Principal Name Canonicalization and Cross-Realm Referrals
*{{IETF RFC|6806|link=no}} केर्बरोस Principal Name Canonicalization and Cross-Realm Referrals
*{{IETF RFC|6880|link=no}} An Information Model for Kerberos Version 5
*{{IETF RFC|6880|link=no}} An Information Model for केर्बरोस Version 5
*{{IETF RFC|8009|link=no}} AES Encryption with HMAC-SHA2 for Kerberos 5
*{{IETF RFC|8009|link=no}} AES Encryption with HMAC-SHA2 for केर्बरोस 5




Line 221: Line 221:


-->
-->
* [http://www.kerberos.org/ Kerberos Consortium]
* [http://www.kerberos.org/ केर्बरोस Consortium]
* [http://web.mit.edu/kerberos/ Kerberos page] at [[MIT]] website
* [http://web.mit.edu/kerberos/ केर्बरोस page] at [[MIT]] website
* [https://web.archive.org/web/20040707075602/http://www.ietf.org/html.charters/krb-wg-charter.html Kerberos Working Group] at [[IETF]] website
* [https://web.archive.org/web/20040707075602/http://www.ietf.org/html.charters/krb-wg-charter.html केर्बरोस Working Group] at [[IETF]] website
* [http://www.eventhelix.com/RealtimeMantra/Networking/kerberos/kerberos-sequence-diagram.pdf Kerberos Sequence Diagram] {{Webarchive|url=https://web.archive.org/web/20150326142031/http://eventhelix.com/RealtimeMantra/Networking/kerberos/kerberos-sequence-diagram.pdf |date=2015-03-26 }}
* [http://www.eventhelix.com/RealtimeMantra/Networking/kerberos/kerberos-sequence-diagram.pdf केर्बरोस Sequence Diagram] {{Webarchive|url=https://web.archive.org/web/20150326142031/http://eventhelix.com/RealtimeMantra/Networking/kerberos/kerberos-sequence-diagram.pdf |date=2015-03-26 }}
* [https://github.com/heimdal/heimdal/wiki Heimdal/Kerberos implementation]
* [https://github.com/heimdal/heimdal/wiki Heimdal/केर्बरोस implementation]


{{Authentication APIs}}
{{Authentication APIs}}

Revision as of 22:37, 17 July 2023

Kerberos
Developer(s)Massachusetts Institute of Technology
Stable release
Version 5, Release 1.21 / 5 June 2023; 15 months ago (2023-06-05)[1]
Written inC
Operating systemCross-platform
Size8512k (source code)
TypeAuthentication protocol
Websiteweb.mit.edu/kerberos/

केर्बरोस (/ˈkɜːrbərɒs/) कंप्यूटर-नेटवर्क प्रमाणीकरण क्रिप्टोग्राफ़िक प्रोटोकॉल है जो गैर-सुरक्षित नेटवर्क पर संचार करने वाले नोड (नेटवर्किंग) को एक-दूसरे को सुरक्षित उपाय से अपनी पहचान साबित करने की अनुमति देने के लिए टिकटों के आधार पर कार्य करता है। इसके डिजाइनरों ने इसे मुख्य रूप से क्लाइंट-सर्वर मॉडल पर लक्षित किया है, एवं यह पारस्परिक प्रमाणीकरण प्रदान करता है - उपयोगकर्ता एवं सर्वर दोनों एक-दूसरे की पहचान को सत्यापित करते हैं। केर्बरोस प्रोटोकॉल संदेश छिपकर बातें सुनने एवं रिप्ले हमलों से सुरक्षित रहते हैं।

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

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

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

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

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

न्यूमैन एवं जॉन कोहल ने मौजूदा सीमाओं एवं सुरक्षा समस्याओं पर काबू पाने के इरादे से 1993 में संस्करण 5 प्रकाशित किया। संस्करण 5 RFC 1510 के रूप में सामने आया, जिसे 2005 में RFC 4120 द्वारा अप्रचलित कर दिया गया।

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

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

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

प्रोटोकॉल

विवरण

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

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

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

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

केर्बरोस के बिना उपयोगकर्ता क्लाइंट-आधारित लॉगिन

  1. एक उपयोगकर्ता क्लाइंट (कंप्यूटिंग) | क्लाइंट मशीन पर एक उपयोगकर्ता नाम एवं पासवर्ड दर्ज करता है। अन्य क्रेडेंशियल तंत्र जैसे pkinit (RFC 4556) पासवर्ड के स्थान पर सार्वजनिक कुंजी के उपयोग की अनुमति देते हैं। क्लाइंट पासवर्ड को एक सममित सिफर की कुंजी में बदल देता है। यह या तो अंतर्निहित कुंजी शेड्यूलिंग का उपयोग करता है, या एक-तरफ़ा हैश का उपयोग करता है, जो उपयोग किए गए सिफर सुइट | सिफर-सूट पर निर्भर करता है।
  2. सर्वर उपयोगकर्ता नाम एवं सममित सिफर प्राप्त करता है एवं डेटाबेस से डेटा के साथ इसकी तुलना करता है। यदि सिफर उपयोगकर्ता के लिए संग्रहीत सिफर से मेल खाता है तो लॉगिन सफल था।

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

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

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

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

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

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

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

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

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

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

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

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

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

यूनिक्स एवं अन्य ऑपरेटिंग सिस्टम

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

कमियाँ एवं सीमाएँ

  • केर्बरोस में समय की सख्त आवश्यकताएं हैं, जिसका अर्थ है कि शामिल मेजबानों की घड़ियों को कॉन्फ़िगर की गई सीमाओं के भीतर सिंक्रनाइज़ किया जाना चाहिए। टिकटों की एक समय उपलब्धता अवधि होती है, एवं यदि होस्ट घड़ी केर्बरोस सर्वर घड़ी के साथ सिंक्रनाइज़ नहीं है, तो प्रमाणीकरण विफल हो जाएगा। डिफ़ॉल्ट कॉन्फ़िगरेशन प्रति MIT के लिए आवश्यक है कि घड़ी का समय पाँच मिनट से अधिक न हो अलग। व्यवहार में, नेटवर्क टाइम प्रोटोकॉल डेमॉन का उपयोग आमतौर पर होस्ट घड़ियों को सिंक्रनाइज़ रखने के लिए किया जाता है। ध्यान दें कि कुछ सर्वर (Microsoft का कार्यान्वयन उनमें से एक है) एन्क्रिप्टेड सर्वर समय वाला KRB_AP_ERR_SKEW परिणाम लौटा सकता है यदि दोनों घड़ियों में कॉन्फ़िगर किए गए अधिकतम मान से अधिक ऑफसेट है। उस स्थिति में, क्लाइंट ऑफसेट खोजने के लिए दिए गए सर्वर समय का उपयोग करके समय की गणना करके पुनः प्रयास कर सकता है। यह व्यवहार RFC 4430 में प्रलेखित है।
  • प्रशासन प्रोटोकॉल मानकीकृत नहीं है एवं सर्वर कार्यान्वयन के बीच भिन्न है। पासवर्ड परिवर्तन RFC 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
RFCs
  • 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 Microsoft 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


अग्रिम पठन


बाहरी संबंध