2012-12-11 25 views
6

मुझे यकीन है कि पहले से ही बहुत सी चर्चाएं हैं, लेकिन एप्लिकेशन में पासवर्ड कैसे स्टोर करें? (मेरा मतलब डेटाबेस में किसी तालिका में संग्रहीत करने के लिए उपयोगकर्ता पासवर्ड नहीं था, लेकिन कनेक्शन स्ट्रिंग बनाने के लिए पासवर्ड)डेटाबेस पासवर्ड कैसे संग्रहीत करें

मैंने सुझावों को देखा है जैसे इसे एक सपाट फ़ाइल में एन्क्रिप्ट किया गया है जैसे xml फ़ाइल, फिर इसे पढ़ें + इसे रन टाइम पर डिक्रिप्ट करें। यदि यह एप्लिकेशन किसी सर्वर पर चलता है, तो यह एक बहुत अच्छी पसंद है, लेकिन यदि एप्लिकेशन को अंतिम उपयोगकर्ताओं के पीसी पर तैनात किया जाएगा तो क्या होगा? यानी फ्लैट फ़ाइल को उपयोगकर्ता के पीसी में कॉपी किया जाएगा। क्या यह अभी भी एक अच्छा अभ्यास है? (मेरा वृत्ति 'नहीं' है)

मुझे सुरक्षास्ट्रिंग का अस्तित्व पता है, लेकिन फिर मैंने एक पोस्ट में भी पढ़ा कि सुरक्षास्ट्रिंग को आसानी से भी तोड़ दिया जा सकता है।

क्या विंडोज 7 के साथ आने वाले पासवर्ड वॉल्ट का उपयोग करना अच्छा विचार है? क्या प्रोग्रामिंग का उपयोग करने का कोई अच्छा उदाहरण है? मैंने msdn में एक उदाहरण देखा है, लेकिन सबसे पहले इसे 'विंडोज 8' के साथ लेबल किया गया है, दूसरी बार जब मैंने फाइलें डाउनलोड कीं और विजुअल स्टूडियो 2012 एक्सप्रेस में समाधान खोला, तो यह खोलने में असफल रहा।

कोई भी सुझाव स्वागत है ... बहुत धन्यवाद।

--update--

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

डीबी एक ही डोमेन में रहता है, और कुछ आईपी पते की अनुमति देने के लिए सेट अप किया गया है, और एसएसएल सक्षम है। संक्षेप में, यह इस अर्थ में काफी सुरक्षित है। एकमात्र बिट जो अभी तक सुरक्षित नहीं है, एप्लिकेशन के लिए डीबी पासवाड को कैसे स्टोर करना है।

मेरी आंखें पकड़ी गईं MySQL वर्कबेंच। यह पासवर्ड सहित डीबी कनेक्शन को बचाएगा - जो एक पासवर्ड वॉल्ट में संग्रहीत है। यह MySQL का पासवर्ड वॉल्ट का अपना कार्यान्वयन है, और मैं यह जानकर बहुत उत्सुक हूं कि यह कैसे किया जाता है।

+0

क्या डेटाबेस का उपयोग कर रहे हैं, और यह जहां होस्ट किया गया है? क्या यह क्लाइंट के समान विंडोज डोमेन पर है? – Jodrell

+0

मैंने आपका शीर्षक संपादित किया है। कृपया देखें, "[प्रश्नों में उनके शीर्षक में" टैग "शामिल होना चाहिए?] (Http://meta.stackexchange.com/questions/19190/)", जहां आम सहमति है "नहीं, उन्हें नहीं करना चाहिए"। –

+0

संभावित डुप्लिकेट [मैं सी # एप्लिकेशन में डेटाबेस लॉगिन और पासवर्ड कैसे सुरक्षित रूप से संग्रहीत करूं?] (Http://stackoverflow.com/questions/11685206/how-do-i-safely-store-database-login-and-password -इन-एसी-तेज-अनुप्रयोग) – Barmar

उत्तर

5

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

यह सुरक्षा की गारंटी नहीं देता है, लेकिन भविष्य में किसी बिंदु पर पासवर्ड बदलने की आवश्यकता है, या यदि किसी व्यक्तिगत उपयोगकर्ता से समझौता किया गया है तो इसे बनाए रखना आसान होगा।

8

आपके उपयोगकर्ताओं को पासवर्ड देने का कोई तरीका नहीं है और यह सुरक्षित रहने की उम्मीद है। यहां तक ​​कि यदि यह आपके संकलित अनुप्रयोग में छिपा हुआ है और एक तरह से हैश के साथ धोया गया है, तो निर्धारित किया जाएगा कि निर्धारित किया जाएगा।

इसके बजाय आपको अपनी सुरक्षा वास्तुकला पर विचार करना चाहिए।

यदि आप सेवाएं प्रदान कर रहे हैं जो आपका एप्लिकेशन कनेक्ट होता है तो आपको अपने सार्वजनिक एपीआई के हिस्से के रूप में कुछ और अधिक मजबूत प्रमाणीकरण प्रदान करना चाहिए।

यदि कनेक्शन स्ट्रिंग वितरित सॉफ़्टवेयर के किसी अन्य भाग से कनेक्ट करने के लिए है, तो आपको अंतिम उपयोगकर्ता द्वारा पासवर्ड कॉन्फ़िगर करने योग्य बनाना चाहिए और उसे एक कीरिंग या अन्य एन्क्रिप्टेड स्टोरेज में स्टोर करना चाहिए।

- अपडेट -

यह इस तरह दिखता है हो सकता है कि आप क्या ढूंढ रहे हैं;

http://www.microsoft.com/indonesia/msdn/credmgmt.aspx

+0

आपके उत्तर के लिए धन्यवाद! मैंने अपनी पोस्ट अपडेट की है और आपके विचारों का बहुत स्वागत है। – user1866880