2011-03-23 9 views
5

मैं दोनों वेब विकास (इस जनवरी को शुरू किया गया) और वेब सुरक्षा (एक सप्ताह पहले से भी कम शुरू हुआ!) के लिए नया हूं, इसलिए कृपया मेरा क्षमा करें यदि मेरा प्रश्न पूरी तरह से अशिक्षित, गलत जानकारी या सादा सरल बेवकूफ है।क्या एचटीटीपीएस पर भेजने से पहले हैश पासवर्ड आवश्यक है?

कंपनी जो मैं मुख्य उत्पाद के लिए काम करता हूं वह एक अच्छी पुरानी क्लाइंट/सर्वर प्रणाली है। इसे अपने ग्राहकों के लिए अधिक आकर्षक बनाने के लिए, मुझे सरल-कार्य-केंद्रित वेब अनुप्रयोगों का एक समूह विकसित करने का कार्य दिया गया है जो सिस्टम के पूरे-व्यवसाय-प्रक्रिया-केंद्रित डिजाइन को पूरक बनाता है। उदाहरण के लिए, यदि संगठन में किसी उपयोगकर्ता की भूमिका में खरीद आदेश और भुगतान आदेशों को मंजूरी देने में शामिल होता है, तो उन्हें खरीद और ट्रेजरी मॉड्यूल दोनों खोलने और क्रमशः खरीद आदेश और भुगतान आदेशों को स्वीकार करने के लिए वेबएप्रप्रोल्स एप्लिकेशन का उपयोग करना आसान हो सकता है। ।

कहने की जरूरत नहीं है, मेरे सभी वेब अनुप्रयोगों में लॉगिन पृष्ठ है। और, ज़ाहिर है, मुझे उन्हें सुरक्षित होने की ज़रूरत है। इसी कारण से, डिज़ाइन द्वारा, इन वेब अनुप्रयोगों का उपयोग केवल HTTPS पर किया जा सकता है, कभी भी सादे HTTP पर नहीं।

अब, मैं जानना चाहता हूं कि बिना किसी सुरक्षा उपायों के HTTPS पर पासवर्ड भेजना कितना सुरक्षित है। क्या यह पर्याप्त सुरक्षित है? सुरक्षा क्षेत्र में अनुभव रखने वाले लोगों को क्या कहना है?

उत्तर

14

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

हालांकि, नेटवर्क पर भेजे गए पासवर्ड को डेटाबेस में कभी भी संग्रहीत नहीं किया जाना चाहिए। इसके बजाय, एक प्रति उपयोगकर्ता यादृच्छिक नमक होना चाहिए। इसका उपयोग हैश पासवर्ड सर्वर-साइड पर किया जाना चाहिए।

Salting Your Password: Best Practices? देखें।

+0

@ मैथ्यू: मुझे वास्तव में समझ में नहीं आता कि यादृच्छिक नमकीन कैसे काम करता है। मैं एक हैश के खिलाफ किसी उपयोगकर्ता के पासवर्ड को कैसे सत्यापित कर सकता हूं जिसमें यादृच्छिक नमक शामिल है? – pyon

+2

@Eduardo, आप डेटाबेस में प्रति उपयोगकर्ता नमक और हैश दोनों स्टोर करते हैं। न तो वास्तव में गुप्त हैं। फिर, आपने संग्रहित नमक है और पासवर्ड दिया है और संग्रहित हैश के खिलाफ परिणाम की जांच करें। [यह आलेख] देखें (http://wheelersoftware.com/articles/storing-passwords-securely-hash-salt.html)। आप अधिक जानकारी के लिए स्टैक ओवरफ़्लो भी खोज सकते हैं। –

+0

@ मैथ्यू: यदि ये लवण वास्तव में डेटाबेस में सहेजे जाते हैं और अपने संबंधित उपयोगकर्ताओं से जुड़े होते हैं, तो यादृच्छिक नमक का उपयोग करने और गैर-सार्वजनिक उपयोगकर्ता-विशिष्ट फ़ील्ड (जैसे UserID, सिस्टम में उपयोगकर्ता आईडी और उपयोगकर्ता नाम अलग फ़ील्ड हैं) नमक के रूप में? – pyon

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