2012-01-09 32 views
13

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

इस विषय में ऑनलाइन ऑन-लाइन संसाधन या ट्यूटोरियल उपलब्ध नहीं हैं। क्या किसी के पास किसी वेब ब्राउज़र में PKCS11 प्रमाणीकरण को कैसे कार्यान्वित करना या ट्यूटोरियल के लिए कोई संकेतक होगा?

संपादित करें: एसएसएल क्लाइंट प्रमाण पत्र के बारे में मिले

  • प्रमाणीकरण विधि की तरह लग रहा SSL क्लाइंट प्रमाणपत्र

  • कैसे हम उपयोगकर्ताओं और उनकी स्मार्टकार्डस के बीच संबंधों का प्रबंधन करते हैं?

  • क्या उपयोगकर्ता हमें अपनी सार्वजनिक कुंजी प्रदान करते हैं और हम उनके खिलाफ प्रमाणित करते हैं?

  • क्या हमें अपने प्रमाण पत्र का उपयोग करके व्यक्तिगत रूप से प्रत्येक उपयोगकर्ता को हस्ताक्षर/प्रावधान करने की आवश्यकता है?

  • क्या सभी उपयोगकर्ता स्मार्टकार्ड में "जेनेरिक" कुंजी होती है जिसे हम प्रदाता प्रमाणपत्र के विरुद्ध परीक्षण करते हैं?

http://www.garex.net/apache/

http://www.impetus.us/~rjmooney/projects/misc/clientcertauth.html

https://en.wikipedia.org/wiki/PKCS11

https://service.secmaker.com/examples/plugin.aspx

उत्तर

8

जावास्क्रिप्ट के साथ ऐसा मत करो। JavaScript cryptography has a number of problems, और मुझे नहीं लगता कि कई ब्राउज़र आपको आसानी से जावास्क्रिप्ट (पृष्ठ के भीतर से चल रहे) से पीकेसीएस # 11 तक पहुंचने देंगे।

कई ब्राउज़र एचटीटीपीएस प्रमाणीकरण के लिए पीकेसीएस # 11 का समर्थन करते हैं, यानी एसएसएल/टीएलएस कनेक्शन (एचटीटीपीएस के हिस्से के रूप में) के रूप में क्लाइंट प्रमाण पत्र प्रमाणीकरण के लिए पीकेसीएस # 11 का उपयोग करना।

मान लिया जाये कि आप पहले से ही एक पीकेसीएस # 11 पुस्तकालय उपलब्ध है (मान लीजिए कि /usr/lib/opensc.so में OpenSC है), तो आप कॉन्फ़िगर कर सकते हैं फ़ायरफ़ॉक्स इसका इस्तेमाल करने की:

  • प्राथमिकताएं -> उन्नत -> एन्क्रिप्शन, "सुरक्षा उपकरण" में जाना 'लोड'
  • पर
  • क्लिक करें /usr/lib/opensc.so फ़ाइल (या जो भी उचित पीकेसीएस # 11 मॉड्यूल अपने मामले में है) करने के लिए और बिंदु (सूची में अपने स्वयं के संदर्भ के लिए) एक मॉड्यूल नाम चुनें।

फिर, जब आप क्लाइंट प्रमाणपत्र का अनुरोध करने वाली वेबसाइट से कनेक्ट होते हैं, तो ब्राउज़र आपको PKCS # 11-सक्षम डिवाइस से प्रमाणपत्र चुनने की पेशकश कर सकता है।

पीकेसीएस # 11 कॉन्फ़िगरेशन तंत्र एक ब्राउज़र से दूसरे ब्राउज़र में भिन्न होगा, लेकिन आमतौर पर यह पीकेसीएस # 11 मॉड्यूल के पथ को स्थापित करने का मामला है।

जहां तक ​​मुझे पता है, इंटरनेट एक्सप्लोरर पीकेसीएस # 11 (कम से कम अतिरिक्त समर्थन के बिना नहीं) का उपयोग नहीं करता है, लेकिन इसके बजाय एमएस क्रिप्टोएपीआई और इन्फोकार्ड पर भरोसा करना चाहिए।

सर्वर पक्ष पर, आपको क्लाइंट-प्रमाणपत्र प्रमाणीकरण के लिए आवश्यकता को कॉन्फ़िगर करने की आवश्यकता होगी। पीकेसीएस # 11 के लिए कुछ भी विशिष्ट नहीं है।


अपने संपादित के बाद, आप प्रमाणन प्राधिकरण (सीए) और सार्वजनिक कुंजी Infrastructures (PKIs) के बारे में पढ़ना चाहिए। आप अपना खुद का आंतरिक पीकेआई तैनात कर सकते हैं, लेकिन ऐसा लगता है कि आपकी आवश्यकताओं को मौजूदा पीकेआई के साथ एकीकृत करना है। यह मुख्य रूप से एक प्रशासनिक समस्या है, इसलिए इस आवश्यकता को बनाने के लिए जांच करें कि किस सीए पर वे भरोसा करना चाहते हैं (शायद उनके)।

क्लाइंट-प्रमाणपत्र प्रमाणीकरण का उपयोग करते समय, ग्राहक अपना प्रमाणपत्र प्रस्तुत करेगा (जिसमें उपयोगकर्ता की सार्वजनिक कुंजी और पहचानकर्ता समेत अन्य विशेषताएं शामिल हैं: विषय विशिष्ट नाम) और एसएसएल/टीएलएस हैंडशेक यह सुनिश्चित करेगा कि ग्राहक के पास इस सार्वजनिक कुंजी प्रमाण पत्र के लिए निजी कुंजी। फिर, सर्वर इस प्रमाण पत्र को सीएएस के खिलाफ सत्यापित करता है जो यह विश्वास करता है (यह सर्वर की तरफ एक एसएसएल सेटिंग भी है)।

एक बार जब आप कॉन्फ़िगर कर चुके हैं कि आप कौन सी सीएएस पर भरोसा करना चाहते हैं, तो मैपिंग आम तौर पर सर्टिफिकेट के विषय डीएन का उपयोग कर आंतरिक उपयोगकर्ता नाम के जरिए किया जाता है। इसके लिए कोई कठोर नियम नहीं है, क्योंकि यह आपके आंतरिक उपयोगकर्ता नामकरण योजना पर निर्भर करता है। ऐसा कहा जा रहा है, उपयोगकर्ता विषय के रूप में पूर्ण विषय डीएन का उपयोग करना अक्सर समझदार होता है।

+0

धन्यवाद। इसने मेरे लिए कुछ चीजों को स्पष्ट किया और इस पर आधारित मैं स्मार्टकार्ड प्रदाता को और प्रश्न भेजने में सक्षम था कि प्रमाण पत्र कैसे संभाले जा रहे हैं। –

2

अब आप ऐसा कर सकते हैं। पीकेसीएस # 11 स्मार्ट कार्ड या टोकन का उपयोग कर वेब प्रमाणीकरण एनक्रिप्टोकी के सिल्वरलाइट संस्करण का उपयोग करके कार्यान्वित किया जा सकता है। देखें http://www.ncryptoki.com

आप दो chanches है:

1) NCryptoki की सिल्वरलाइट संस्करण का उपयोग कर और अपने खुद के सिल्वरलाइट उपयोगकर्ता नियंत्रण का विकास है कि पीकेसीएस # 11 कार्यों स्मार्ट कार्ड के द्वारा आपूर्ति का उपयोग कर अपने प्रमाणीकरण प्रोटोकॉल लागू करता

2) उपरोक्त सिल्वरलाइट संस्करण के आधार पर JQuery प्लगइन का उपयोग करके और जावास्क्रिप्ट में PKCS # 11 फ़ंक्शंस को जावास्क्रिप्ट

+0

धन्यवाद। सिल्वरलाइट वास्तव में एक मरने वाला घोड़ा है और एक मंच से बंधे हैं, इसलिए यह यहां एक विकल्प नहीं है। हालांकि, मैंने अपाचे और एसएसएल क्लाइंट-साइड सर्टिफिकेट्स के साथ इस समस्या को हल करने में कामयाब रहे। जैसे ही यह समाप्त हो जाएगा, मैं अपना उत्तर यहां पोस्ट करूंगा। –

+0

@MikkoOhtamaa क्या आप यहां अपना समाधान पोस्ट कर सकते हैं। – guleryuz

3

पर कॉल करके जावास्क्रिप्ट में प्रमाणीकरण प्रोटोकॉल को कार्यान्वित करें वर्तमान में आप ब्राउज़र प्रक्रिया के अंदर PKCS # 11 नहीं कर सकते हैं। सभी उपयुक्त देशी तकनीक या तो मर रहे हैं (एनपीएपीआई) या सभी ब्राउज़रों के माध्यम से लागू नहीं किया गया है। आपको इसे ब्राउज़र के बाहर करने और कुछ इंटरकनेक्टिंग संचार बनाने की आवश्यकता है।

संबंधित मुद्दे