जवाबों:
ये इस तरह से पदानुक्रमित हैं कि जीनस, प्रजातियां और व्यक्ति पदानुक्रमित हैं।
व्याकरण में प्रयोग की जाने वाली शर्तों से विषय / वस्तु विरासत में मिलती है। एक वाक्य में विषय अभिनेता है और वस्तु वह है जिस पर काम किया जाता है। इस अर्थ में कंप्यूटर का आविष्कार होने से पहले से उपयोग लगभग होता रहा है। सुरक्षा के संदर्भ में, एक विषय कुछ भी है जो अनुरोध कर सकता है। जैसा कि ऊपर उल्लेख किया गया है, यह आईटी सुरक्षा तक सीमित नहीं है और इसलिए यह बहुत व्यापक वर्गीकरण है। दिलचस्प बात यह है कि विषय वस्तु का अर्थ है। वस्तु के बिना कोई विषय नहीं है।
प्रधानाचार्य वे विषय होते हैं जिनका समाधान होता है। जब आप अपना क्रेडिट कार्ड प्रस्तुत करते हैं तो आप विषय होते हैं और खाता संख्या प्रधान होती है। अन्य संदर्भों में आपकी उपयोगकर्ता आईडी या राज्य द्वारा जारी पहचान आपका प्रमुख है। लेकिन प्रिंसिपल कई प्रकार के विषय से जुड़े हो सकते हैं जो लोग नहीं हैं। जब अनुप्रयोग सिस्टम-स्तर के कार्यों के लिए अनुरोध करते हैं, तो प्रिंसिपल एक हस्ताक्षरित निष्पादन योग्य कोड मॉड्यूल का हस्ताक्षरकर्ता हो सकता है, लेकिन उस मामले में भी उपयोगकर्ता जो अनुरोध कर रहा है, वह अभी भी विषय है।
उपयोगकर्ता विषय या प्रिंसिपल की तुलना में अधिक विशिष्ट है कि यह आमतौर पर एक इंटरैक्टिव ऑपरेटर को संदर्भित करता है। यही कारण है कि हमारे पास एक ग्राफिकल यूजर इंटरफेस है न कि ग्राफिकल प्रिंसिपल इंटरफेस। एक उपयोगकर्ता विषय का एक उदाहरण है जो एक प्रिंसिपल को हल करता है । कोई भी उपयोगकर्ता किसी भी प्रिंसिपल को हल कर सकता है, लेकिन किसी भी प्रिंसिपल से सिंगल यूजर को हल करने की अपेक्षा की जाती है (यह मानते हुए कि लोग आईडी साझा नहीं करने की आवश्यकता का पालन करते हैं)। उपरोक्त उदाहरण में, एक निष्पादन योग्य कोड मॉड्यूल के हस्ताक्षरकर्ता निश्चित रूप से है नहीं उपयोगकर्ता है, लेकिन यह है एक वैध प्रिंसिपल। मॉड्यूल को लोड करने की कोशिश करने वाला इंटरैक्टिव ऑपरेटर उपयोगकर्ता है।
जैसा कि टिप्पणियों में कहा गया है, यहां तक कि आधिकारिक सूत्र भी इन शर्तों पर सहमत नहीं हैं। मैंने इस प्रतिक्रिया को तैयार करते समय सुरक्षा परीक्षा गाइड जैसे NIST, SANS, IEEE, MITER और कई "अर्ध-आधिकारिक" स्रोतों को खोजा। कोई भी स्रोत जो मुझे नहीं मिला, जो कम से कम अर्ध-आधिकारिक था, तीनों शब्दों को शामिल किया गया था और सभी उनके उपयोग में काफी भिन्न थे। शर्तों का उपयोग कैसे किया जाना चाहिए , इस पर मेरा ख्याल है, लेकिन व्यावहारिक दृष्टिकोण से, जब आप आधी रात को एक मैनुअल पर काम कर रहे होते हैं, तो परिभाषाएं विक्रेता या लेखक जो भी कहते हैं, वह हो जाती हैं। उम्मीद है कि हालांकि यहां प्रतिक्रियाएं पानी को नेविगेट करने और इन शर्तों का उपयोग करके किसी भी सुरक्षा दस्तावेज को पार्स करने के लिए पर्याप्त अंतर्दृष्टि प्रदान करेंगी।
John (human) SUBJECT > username_1 PRINCIPAL > password_1 USER
John (human) SUBJECT > username_1 PRINCIPAL > password_2 USER
John (human) SUBJECT > username_1 PRINCIPAL > smartcard_1 USER
John (human) SUBJECT > username_1 PRINCIPAL > cellphone_1 USER
मेरे प्रमाणीकरण अवधारणा मानचित्र पर एक नज़र डालें :
मुझे लगता है कि शब्दावली JAAS से ली गई है ।
जब कोई एप्लिकेशन उपयोगकर्ता (या अन्य इकाई जैसे सेवा) को प्रमाणित करने के लिए जेएएएस प्रमाणीकरण का उपयोग करता है, तो एक परिणाम के रूप में एक विषय बनाया जाता है। विषय का उद्देश्य प्रमाणित उपयोगकर्ता का प्रतिनिधित्व करना है। एक विषय प्रिंसिपलों के एक सेट से मिलकर बनता है , जहाँ प्रत्येक प्रधानाचार्य उस उपयोगकर्ता के लिए एक पहचान का प्रतिनिधित्व करता है। उदाहरण के लिए, एक विषय में एक प्रिंसिपल ("सुसान स्मिथ") और एक सामाजिक सुरक्षा नंबर प्रिंसिपल ("987-65-4321") हो सकता है, जिससे इस विषय को अन्य विषयों से अलग किया जा सके।
विषय वह इकाई है जो किसी सेवा का अनुरोध करता है। यह एक उपयोगकर्ता या एक प्रक्रिया हो सकती है। संभवतः इसीलिए उपयोगकर्ता के बजाय विषय को चुना गया था।
जब कोई विषय किसी सेवा तक पहुंचने का प्रयास करता है, तो विषय को पहले प्रमाणित करना होता है। उस विषय के लिए सुरक्षा प्रिंसिपलों को लोड करने के साथ सफल प्रमाणीकरण समाप्त होता है । उदाहरण के लिए, रोल बेस्ड एक्सेस कंट्रोल सिस्टम में, एक प्रमाणित (लॉग-इन) उपयोगकर्ता के पास आमतौर पर दो प्रिंसिपल होंगे - userId और roleId। ऐसी प्रणालियों में, विशेषाधिकार (यानी जो एक्सेस कर सकते हैं) दोनों भूमिकाओं के लिए और उपयोगकर्ताओं के लिए निर्दिष्ट हैं। प्राधिकरण के दौरान (अर्थात जाँच की गई सेवा की अनुमति दी जानी चाहिए), सुरक्षा प्रणाली दोनों प्रिंसिपलों के खिलाफ पहुंच की जांच करेगी।
इसलिए, प्राधिकरण के दृष्टिकोण से, प्रिंसिपल वास्तविक इकाइयाँ हैं जिनके लिए उपयोग की अनुमति है या उन्हें अस्वीकृत किया गया है। विषय सिर्फ एक उपयोगकर्ता / थ्रेड / प्रक्रिया है जो कुछ प्रिंसिपल रखती है।
जैसा कि T.ob ने समझाया, विषय कोई भी इकाई है जो किसी वस्तु तक पहुंच का अनुरोध करता है। उस बिंदु से शुरू करके मुझे javax.security.auth.Subject कोड पर एक टिप्पणी मिली है जो मुझे बहुत उपयोगी और समझने में आसान है:
"विषयों में संभावित रूप से कई पहचान हो सकती हैं। प्रत्येक पहचान को विषय के भीतर एक प्रधानाचार्य के रूप में दर्शाया जाता है। प्रधानाचार्य केवल एक विषय के लिए नामों को बाँधते हैं। उदाहरण के लिए, एक विषय जो एक व्यक्ति के रूप में होता है, ऐलिस, में दो प्रधानाध्यापक हो सकते हैं: एक जो बांधता है" ऐलिस बार ", उसके ड्राइवर लाइसेंस पर नाम, विषय के लिए, और दूसरा जो बांधता है," 999-99-9999 ", उसके छात्र पहचान पत्र पर नंबर, विषय के लिए। दोनों प्रधानाचार्य प्रत्येक के लिए भले ही एक ही विषय को देखें। एक अलग नाम है। "
आशा करता हूँ की ये काम करेगा।
यह Oracle JAVA SE दस्तावेज़ीकरण से नीचे की खोज के लिए लिंक है ।
विषय, संसाधन, प्रमाणीकरण, और क्रेडेंशियल संसाधनों तक पहुंच को अधिकृत करने के लिए, अनुप्रयोगों को पहले अनुरोध के स्रोत को प्रमाणित करने की आवश्यकता होती है। JAAS ढांचा एक अनुरोध के स्रोत का प्रतिनिधित्व करने के लिए विषय को परिभाषित करता है । एक विषय कोई भी इकाई हो सकती है, जैसे कि व्यक्ति या सेवा। किसी विषय को javax.security.auth.Subject वर्ग द्वारा दर्शाया जाता है ।
प्रमाणीकरण उस प्रक्रिया का प्रतिनिधित्व करता है जिसके द्वारा किसी विषय की पहचान सत्यापित की जाती है, और उसे सुरक्षित तरीके से किया जाना चाहिए; अन्यथा एक अपराधी एक प्रणाली तक पहुँच प्राप्त करने के लिए दूसरों को प्रतिरूपित कर सकता है। प्रमाणीकरण में आम तौर पर इस विषय को शामिल किया जाता है ताकि अपनी पहचान साबित करने के लिए सबूत के कुछ रूप का प्रदर्शन किया जा सके। इस तरह के प्रमाण केवल जानकारी हो सकते हैं जो विषय को संभवतः जानता होगा या होगा (जैसे कि पासवर्ड या फ़िंगरप्रिंट), या यह केवल विषय की जानकारी हो सकती है (जैसे निजी कुंजी का उपयोग करके हस्ताक्षरित डेटा)।
एक बार प्रमाणित होने के बाद, एक विषय संबंधित पहचान या प्रधानाध्यापकों (प्रकार java.security.Principal ) से भरा जाता है । एक विषय में कई प्रिंसिपल हो सकते हैं। उदाहरण के लिए, एक व्यक्ति का नाम प्रिंसिपल ("जॉन डो") और एक एसएसएन प्रिंसिपल ("123-45-6789") हो सकता है, जो इसे अन्य विषयों से अलग करता है।
संबद्ध प्रधानाध्यापकों के अलावा, एक विषय के पास सुरक्षा से संबंधित विशेषताएँ हो सकती हैं, जिन्हें प्रमाणिकता कहा जाता है । एक क्रेडेंशियल में नई सेवाओं के लिए विषय को प्रमाणित करने के लिए उपयोग की जाने वाली जानकारी हो सकती है। इस तरह के क्रेडेंशियल में पासवर्ड, करबरोस टिकट और सार्वजनिक कुंजी प्रमाणपत्र शामिल हैं। क्रेडेंशियल में डेटा भी हो सकता है जो विषय को कुछ गतिविधियों को करने में सक्षम बनाता है। क्रिप्टोग्राफिक कुंजी, उदाहरण के लिए, क्रेडेंशियल्स का प्रतिनिधित्व करते हैं जो विषय को डेटा पर हस्ताक्षर या एन्क्रिप्ट करने में सक्षम करते हैं। सार्वजनिक और निजी क्रेडेंशियल कक्षाएं कोर J2SE एपीआई का हिस्सा नहीं हैं। इसलिए, कोई भी वर्ग एक साख का प्रतिनिधित्व कर सकता है।
rahulmohan के अनुसार, मुझे लगता है, ऑथेंटिकेशन से पहले सबजेट होता है, ऑथेंटिकेशन के बाद ऑथेंटिकेशन होता है, अंतर सेन्स में, एक सबजेट में कई सारे प्रिकिपल हो सकते हैं