क्या पदानुक्रम में केवल पूर्वजों या रूट प्रमाण पत्र के हस्ताक्षर को सत्यापित करना संभव है?इंटरमीडिएट सर्टिफिकेट के बिना हस्ताक्षर मान्य करना
अस्वीकरण: मैं प्रमाणपत्रों को संभालने के लिए नौसिखिया हूं इसलिए कृपया मूर्खतापूर्ण शब्दावली को क्षमा करें।
निम्नलिखित स्थिति पर विचार करें।
- हम दोनों पार्टियां है और कुछ केंद्रीय प्रमाणपत्र प्राधिकार सीए जो निश्चित रूप से दोनों IdP और सपा द्वारा विश्वसनीय है (के पहचान प्रदाता और सेवा प्रदाता के लिए सपा के लिए उन्हें IdP कॉल)।
- सीए यह अपना प्रमाणपत्र CertCA दोनों IdP और सपा (IdP के में आयात और कुछ अन्य नाम के तहत सपा के कुंजीस्टोर)
- सीए आउट IdP के लिए एक प्रमाणपत्र जारी करता है (CertIdP) और सपा के लिए एक (CertSP के लिए जाना जाता है है)।
- IdP अपने कीस्टोर में CertIdP है और इसलिए IdP सपा के लिए CertIdP
- एक ही साथ संदेशों पर हस्ताक्षर कर सकते हैं इसके लिए पासवर्ड पता है/CertSP
- अब मान लेते हैं कि सपा पता नहीं है CertIdP और IdP CertSP पता नहीं है करते हैं। वे केवल CertCA को जानते हैं जिसका उपयोग CertIdP और CertSP पर हस्ताक्षर करने के लिए किया गया था। (जैसा कि मैं समझता हूं, हमारे पास प्रमाणपत्र पदानुक्रम है CertIdP -> CertCA < - यहां सर्टएसपी-)
- आईडीपी एसपी को एक हस्ताक्षरित संदेश भेजना चाहता है। यह एक संदेश बनाता है और फिर हस्ताक्षर करने के लिए CertIdP का उपयोग करता है।
- एसपी को प्रमाण पत्र का उपयोग कर आईडीपी द्वारा हस्ताक्षरित संदेश प्राप्त होता है। जैसा ऊपर बताया गया है, एसपी में CertIdP नहीं है, केवल माता-पिता प्रमाण पत्र CertCA।
मेरा प्रश्न है: सपा संदेश CertIdP केवल अपनी मूल प्रमाण पत्र CertCA होने से हस्ताक्षर किए के हस्ताक्षर मान्य कर सकते हैं?
बैकस्टोरी, इसे क्यों चाहिए।
हम पैकेटलिंक के साथ SAML- आधारित एसएसओ लागू कर रहे हैं। हम हस्ताक्षर मान्य करने के लिए पिक्टलिंक के SAML2SignatureValidationHandler का उपयोग कर रहे हैं। इसे प्राप्त करने के लिए, सेवा प्रदाता (एसपी) को अपने कीस्टोर में आईडीपी प्रमाणपत्र होना चाहिए। जब एक हस्ताक्षरित SAML दावा एसपी को पास किया जाता है, तो यह हैंडलर हस्ताक्षर को सत्यापित करने के लिए आईडीपी प्रमाणपत्र का उपयोग करता है।
ऊपर की प्रक्रिया अच्छी तरह से काम करती है, लेकिन हमारे पास कुछ संगठनात्मक चिंताएं हैं। यह प्रक्रिया मानती है कि एसपी के पास सत्यापन के लिए आईडीपी प्रमाणपत्र है। कुछ बदलाव होने पर, आईडीपी का प्रमाण पत्र एसपी पक्ष पर बदला जाना चाहिए। हमारे पास बड़ी संख्या में एसपी (हजारों नहीं होने पर शिकार) हो सकते हैं, इसलिए यह काफी प्रयास है।
चूंकि CertIdP और CertSP दोनों एक ही प्राधिकरण (सीए) द्वारा जारी किए जाते हैं, जो निश्चित रूप से आईडीपी और एसपी दोनों द्वारा भरोसा किया जाता है, हमें यह विचार था कि हम हस्ताक्षर सत्यापन के लिए सीए प्रमाणपत्र का उपयोग कर सकते हैं। यदि यह काम करता है, तो यह आईडीपी और एसपी के बीच प्रमाणपत्रों का आदान-प्रदान करने की आवश्यकता को खत्म कर सकता है। सीए का प्रमाण पत्र भी "दीर्घकालिक" है, इसलिए अगर अनंत काल में केवल एक बार आदान-प्रदान किया जाना चाहिए (अनंत काल, हमारे मामले में लगभग 10-20 साल है)।
हालांकि मुझे यकीन नहीं है कि क्या यह प्रमाणित है कि प्रमाण पत्र केवल प्रमाण पत्र प्रमाणित करने के लिए प्रमाणित है, केवल माता-पिता CertCA है। क्या यह संभव है? या हम यहां पूरी तरह से गलत ट्रैक पर हैं?
यदि यह प्रासंगिक है, तो हम एसपी पक्ष पर जावा/जेबॉस मंच पर हैं, आईडीपी एक तृतीय पक्ष सॉफ्टवेयर है।
अद्यतन:
यह वह जगह है हस्ताक्षर मैं IdP से पल में मिलती है:
<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:SignedInfo>
<ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
<ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
<ds:Reference URI="#_...">
<ds:Transforms>
<ds:Transform
Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" />
<ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#">
<ec:InclusiveNamespaces xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#"
PrefixList="ds saml samlp" />
</ds:Transform>
</ds:Transforms>
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
<ds:DigestValue>r...=</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue>X...==</ds:SignatureValue>
</ds:Signature>
इस समय मुझे केवल साइनडइन्फो और साइनड वैल्यू मिलते हैं (कृपया प्रश्न में अद्यतन देखें)। लेकिन आप जो कह रहे हैं वह यह है कि यदि मेरे पास प्रमाणपत्र के साथ X509Data है तो मैं CA प्रमाण का उपयोग करके इसे सत्यापित कर सकता हूं, है ना? – lexicore
मैंने अभी सीखा है कि '' तत्व xmldsig स्कीमा के साथ-साथ SAML 2.0 कोर मानक में वैकल्पिक है। हां, आपको केवल '' के माध्यम से या अन्य माध्यमों के माध्यम से साइन-इन प्रमाणपत्र प्राप्त करना होगा, उपयोग-मामले पर निर्भर करता है। केंद्रीकृत प्रावधान तंत्र के साथ दृष्टिकोण सार्वजनिक कुंजी जानकारी भी करता है, उदाहरण के लिए, एक प्रसिद्ध यूआरएल के माध्यम से जो वर्तमान सत्यापन प्रमाण पत्र प्रदान करता है। –
@lexicore आपको हमेशा प्रमाण पत्र की आवश्यकता होगी जिसका उपयोग इसे सत्यापित करने के लिए हस्ताक्षर करने के लिए किया गया था। सत्यापन केवल सीए प्रमाण के साथ नहीं किया जा सकता है क्योंकि आप नहीं जानते कि इस सीए या किसी अन्य सीए द्वारा जारी प्रमाण पत्र का उपयोग करके हस्ताक्षर किए गए हैं या नहीं। यदि आप कर सकते हैं, तो अपने आईडीपी को '' तत्व में SAML में आईडीपी प्रमाणपत्र पर हस्ताक्षर करने के लिए सेट करें। –
pepo