2012-04-07 15 views
11

के लिए उपयोगकर्ता की निजी कुंजी सत्यापित करें मैं सार्वजनिक कुंजी प्रमाणीकरण का उपयोग कर वेबसाइट में साइन इन करने के लिए लॉगिन सिस्टम को लागू करने का प्रयास कर रहा हूं। मुझे यकीन नहीं है कि यह संभव है।वेबसाइट लॉगिन

यह मैं क्या करने की योजना क्या है: -

  1. साइन अप करने, वहीं उपयोगकर्ता की सार्वजनिक कुंजी वेबसाइट में सहेजा गया है।
  2. जब उपयोगकर्ता बाद में लॉगिन करने का प्रयास करता है, तो वेबसाइट उपयोगकर्ता को अपनी संबंधित निजी कुंजी के लिए पूछती है।
  3. उपयोगकर्ता को प्रमाणित किया जाता है यदि निजी कुंजी सार्वजनिक कुंजी से मेल खाती है जो उपयोगकर्ता साइन अप करते समय प्रदान की जाती है।

मैंने startsl.com जैसी साइटों को देखा है जो उपयोगकर्ता की निजी कुंजी को उनकी पहचान सत्यापित करने के लिए पूछते हैं (स्क्रीनशॉट संलग्न देखें)। तो ऐसी प्रणाली को लागू करने में क्या लगता है?

Screenshot of website asking for private key

+3

ऊपर या मैनुअल लॉगिन प्रवेश द्वारा अनुमति देने के लिए करना चाहिए लेकिन उपयोगकर्ता प्रदान यह निजी कुंजी उद्देश्य को हराने है नहीं है ? निजी मामलों को सभी मामलों में निजी रहना चाहिए। जिस तरह से यह सामान्य रूप से किया जाता है वह यह है कि वेबसाइट उपयोगकर्ताओं की सार्वजनिक कुंजी के साथ टोकन को एन्क्रिप्ट करता है, और उपयोगकर्ता इसे अपनी निजी कुंजी का उपयोग करके वापस ले जाता है और उसे वेबसाइट पर प्रदान करता है। – Ikke

+1

यह सादा [क्लाइंट प्रमाणीकरण] लगता है (http://httpd.apache.org/docs/2.0/ssl/ssl_howto.html) – Raffaele

+0

हां, निजी कुंजी हर समय निजी रहती है। यह सर्वर को नहीं भेजा जाता है। देखें कि startsl.com उपयोगकर्ता को स्क्रीनशॉट में निजी कुंजी का उपयोग करने के लिए कहने के लिए कह रहा है? मैं ऐसा कुछ ढूंढ रहा हूं। – Sparky

उत्तर

6

बस प्रवाह

  1. उपयोगकर्ता साइन अप स्पष्ट करने के लिए, सादे पुराने उपयोगकर्ता नाम और पासवर्ड का उपयोग कर जोड़ी। उन्हें कम से कम एक सार्वजनिक कुंजी दर्ज करने के लिए भी कहा जाता है (अन्य लोगों को प्रोफ़ाइल प्रशासन पैनल से बाद में जोड़ा जा सकता है)
  2. सर्वर उपयोगकर्ता की सार्वजनिक कुंजी संग्रहीत करता है और इसे प्रमाण पत्र में अपने उपयोगकर्ता के साथ जोड़ता है
  3. अगली बार ग्राहक अपने प्रमाणपत्र को प्रस्तुत करने का अनुरोध करता है (यह ब्राउज़र द्वारा संभाला जाना चाहिए, इस प्रकार उपयोगकर्ता को पारदर्शी रूप से हो रहा है), सर्वर पक्ष पर एसएसएल इंजन जांचता है कि क्या यह ग्राहक को जानता है और यदि अनुरोध संसाधित हो जाता है और एप्लिकेशन कोड उपयोगकर्ता को प्रमाणित और अधिकृत करेगा क्योंकि यह सार्वजनिक कुंजी और उपयोगकर्ता के बीच लिंक को जानता है। यदि ग्राहक है पहचान नहीं, सर्वर कुछ पृष्ठ पर रीडायरेक्ट (शायद एक नया सार्वजनिक कुंजी जोड़ने के लिए)
+3

[यह] (http://cweiske.de/tagebuch/ssl-client-certificates.htm) अपाचे और PHP के साथ सर्वर साइड टेक्नोलॉजीज के रूप में एक अच्छा ट्यूटोरियल है – Raffaele

+0

आपको बहुत धन्यवाद @ रैफएले, बिल्कुल वही है जो मैं ढूंढ रहा था। – Sparky

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