2012-08-31 25 views
6

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

मैंने पहले कभी इस तरह की चीज़ को नहीं देखा है और मैं बहुत खो गया हूं। मुझे create a hash of a password पर जावा का उपयोग करने का तरीका बताते हुए एक अच्छा आलेख मिला, और मुझे tomcat documentation में जानकारी मिली है कि डोमेन में हैश योजना का उपयोग कैसे किया जा रहा है और कैसे SSL with tomcat, साथ ही JavaScript library को पासवर्ड से हैंश बनाने के लिए, लेकिन मुझे यकीन नहीं है कि सभी टुकड़ों को एक साथ कैसे रखा जाए, और मुझे किन टुकड़ों की ज़रूरत है।

यदि मैं पासवर्ड को हैश करने के लिए जावास्क्रिप्ट लाइब्रेरी का उपयोग करता हूं और लॉगिन चरण के लिए एसएसएल का उपयोग करता हूं (यह तब होता है जब मुझे लगता है कि अन्य डेटा को सुरक्षा की आवश्यकता नहीं है), तो डेटाबेस में केवल पासवर्ड के हैंश किए गए संस्करणों को स्टोर करें , क्या वह पर्याप्त है? या मुझे कुछ और करने की ज़रूरत है? मैं a question पर चला गया जहां उत्तर पीबीकेडीएफ 2 और कुछ अन्य चीजों पर चर्चा की गई, लेकिन यह मुझे और अधिक उलझन में डाल दिया ... अगर मुझे उन उत्तरों में उल्लिखित योजनाओं में से एक का उपयोग करना चाहिए, तो मैं इसे करने के बारे में कैसे जा सकता हूं? मैंने उन्हें टोमकैट या अन्य दस्तावेज में संदर्भ नहीं देखा है, इसलिए मुझे नहीं पता कि मैं उनका उपयोग कैसे करूं ...

यदि कोई मेरा भ्रम साफ़ कर सकता है और मुझे बता सकता है कि सुरक्षित रूप से संचार करने का सही तरीका क्या है और स्टोर पासवर्ड है, मैं वास्तव में इसकी सराहना करता हूं।

उत्तर

3

एसएसएल पूरे परिवहन परत को सुरक्षित रखने का ख्याल रखता है। आपको HTTPS पर भेजे गए डेटा के बारे में चिंता करने की आवश्यकता नहीं है।

अपने डेटाबेस में असली पासवर्ड कभी भी स्टोर न करें। केवल नमकीन हशों को उचित रूप से सुरक्षित (यानी एमडी 5 नहीं) हैश कार्यों के साथ बनाया गया है। प्रत्येक हैश के लिए एक अलग नमक का प्रयोग करें।

यदि आप इन प्रिंसिपल का पालन करते हैं, इससे कोई फर्क नहीं पड़ता कि आप किस घटक का उपयोग करते हैं, तो आपके पास एक उचित उपयोगकर्ता नाम/पासवर्ड संग्रहण तंत्र होगा।

+2

सुनिश्चित करें कि आप अपने हैंश_ को रोक दें! – jtahlborn

+0

@jtahlborn, हाँ! मैं इसे कैसे भूल सकता था। उत्तर में जोड़ा गया, धन्यवाद! – Brad

+0

आप एल्गोरिदम इस्तेमाल किए गए डब्ल्यू/प्रत्येक पासवर्ड को संग्रहीत करके स्टोरेज को भविष्य में प्रमाणित कर सकते हैं। जो आपको मौजूदा उपयोगकर्ताओं को तोड़ने के बिना भविष्य में एल्गोरिदम को अपग्रेड करने की अनुमति देता है। – jtahlborn