यह अन्य प्रश्नों के साथ डुप्लिकेट हो सकता है, लेकिन मैं कसम खाता हूं कि मैंने बहुत कुछ googled और StackOverflow.com पर बहुत कुछ खोजा है, और मुझे अपने प्रश्न का उत्तर नहीं मिल रहा है:सॉफ़्टवेयर सुरक्षा प्रयोजन के लिए सुरक्षा परीक्षण जानकारी को स्टोर करने के लिए कहां
एक सी # नेट एप्लिकेशन में, सुरक्षा परीक्षण जानकारी, जैसे कि समाप्ति तिथि, प्रयुक्त टाइम्स की संख्या कहां स्टोर करें?
मैं समझता हूं कि, सभी प्रकार की सॉफ़्टवेयर सुरक्षा रणनीतियों को एक सोफिस्ड हैकर द्वारा क्रैक किया जा सकता है (क्योंकि वे लगभग हमेशा समाप्ति जांच चरण के आसपास हो सकते हैं)। लेकिन अब मैं जो करने जा रहा हूं वह सिर्फ उचित तरीके से इसकी रक्षा करना है कि एक "सामान्य"/"उन्नत" उपयोगकर्ता इसे खराब नहीं कर सकता है।
ठीक है, सबूत के लिए आदेश है कि मैं googled और StackOverflow.com पर एक बहुत खोज की है में, मैं सभी संभव रणनीतियों लिस्टिंग कर रहा हूँ मुझे मिल गया:
1. रजिस्ट्री प्रविष्टि
सबसे पहले, कुछ उपयोगकर्ताओं रजिस्ट्री तालिका को पढ़ने के लिए भी पहुंच नहीं हो सकती है।
दूसरा, अगर हम एक रजिस्ट्री प्रविष्टि में सुरक्षा परीक्षण जानकारी डालते हैं, तो उपयोगकर्ता हमेशा यह पता लगा सकता है कि सॉफ़्टवेयर स्थापना से पहले और बाद में अंतरों की तुलना करके यह कहां है। वे बस इसे बदल सकते हैं।
ठीक है, आप कह सकते हैं कि हमें सुरक्षा परीक्षण जानकारी एन्क्रिप्ट करना चाहिए, हां हम ऐसा कर सकते हैं। लेकिन क्या होगा यदि उपयोगकर्ता बस स्थापित करने से पहले अपनी सिस्टम तिथि बदल जाए?
ठीक है, आप कह सकते हैं कि अगर कुछ गलत है, तो हमें अंतिम उपयोग की तारीख भी देनी चाहिए, अंतिम उपयोग की गई तारीख सुरक्षा मार्गदर्शिका के रूप में काम कर सकती है। लेकिन क्या होगा यदि उपयोगकर्ता सॉफ़्टवेयर को अनइंस्टॉल करें और इस सॉफ़्टवेयर से संबंधित सभी रजिस्ट्री प्रविष्टियों को हटा दें, और उसके बाद सॉफ़्टवेयर को पुनर्स्थापित करें?
मुझे इस बात से कोई जानकारी नहीं है कि इससे कैसे निपटें। कृपया मदद करे।
- 2.a) सॉफ़्टवेयर स्थापना पथ
- 2.b) विन्यास फाइल के नीचे एक सरल एक्सएमएल फ़ाइल:
एक सादे फ़ाइल
सबसे पहले, वहाँ कुछ स्थानों सादे फ़ाइल डाल करने के लिए कर रहे हैं
फिर से, उपयोगकर्ता सॉफ़्टवेयर को अनइंस्टॉल कर सकता है और इन सादे फ़ाइल को हटा सकता है, और सॉफ़्टवेयर को पुनर्स्थापित कर सकता है।
- सॉफ्टवेयर अपने आप में सॉफ्टवेयर में ही
अगर हम सुरक्षा परीक्षण की जानकारी डाल (समाप्ति दिनांक, हम संख्या नहीं डाल सकते प्रयुक्त टाइम्स के), यह अभी भी मामलों मैं उपर्युक्त लिए अतिसंवेदनशील है। इसके अलावा, ऐसा करने के लिए भी अच्छा नहीं है।
- एक परीक्षण उत्पाद कुंजी
यह एक लाइसेंस प्रक्रिया की तरह काम करता है, कि हम एक आरएसए-हस्ताक्षरित स्ट्रिंग में ट्रायल की जानकारी डाल दिया, है। हालांकि, यह एक उपयोगकर्ता के लिए भी कई चरण होते हैं सॉफ्टवेयर का उपयोग कर के एक कोशिश है करने के लिए (वे धैर्य खो सकता है):
- 4. a) उपयोगकर्ता सॉफ़्टवेयर डाउनलोड कर;
- 4।बी) उपयोगकर्ता उपयोगकर्ता नाम (या ईमेल) या हार्डवेयर जानकारी प्रदान करके परीक्षण उत्पाद-कुंजी का अनुरोध करने के लिए एक ईमेल भेजता है;
- 4. सी) सर्वर अनुरोध प्राप्त करता है, आरएसए-इसे संकेत देता है और उपयोगकर्ता को वापस भेजता है;
- 4. डी) उपयोगकर्ता अब इस स्थिति के तहत उपयोग कर सकते हैं (समाप्ति दिनांक & प्रयुक्त टाइम्स की संख्या)।
अब, सर्वर के उपयोगकर्ता नाम या हार्डवेयर जानकारी का रिकॉर्ड है, इसलिए उपयोगकर्ता को दूसरे परीक्षण का अनुरोध करने के लिए खारिज कर दिया जाएगा। क्या हार्डवेयर जानकारी संग्रह करना कानूनी है?
एक शब्द में, उपयोगकर्ता को सॉफ़्टवेयर का उपयोग करने का प्रयास करने के लिए एक और अतिरिक्त कदम (परीक्षण उत्पाद कुंजी का अनुरोध करें) करना है, जो ठंडा नहीं है (खुद को उपयोगकर्ता के रूप में सोच रहा है)।
नोट: यह प्रश्न लाइसेंसिंग के बारे में नहीं है, इसके बजाय, यह परीक्षण जानकारी कहां संग्रहीत करने के बारे में है। परीक्षण समाप्त होने के बाद, उपयोगकर्ता को लाइसेंस (सीडी-कुंजी/उत्पाद-कुंजी) मांगना चाहिए। मैं आरएसए हस्ताक्षर (उपयोगकर्ता हार्डवेयर के लिए बाध्य) का उपयोग करने जा रहा हूं
पीएस .: मेरा सॉफ्टवेयर चीन के बाजार को लक्षित करेगा, जिसका सॉफ्टवेयर बाजार अमेरिका से अलग है। चीन में ज्यादातर लोग, वे केवल हार्डवेयर खरीदते हैं, वे आमतौर पर माइक्रोसॉफ्ट विंडोज/ऑफिस (वे सिर्फ पायरेटेड प्रतियों का उपयोग करते हैं) जैसे सॉफ्टवेयर नहीं खरीदते हैं। हालांकि, एक विशिष्ट क्षेत्र के लिए लक्षित कुछ पेशेवर सॉफ्टवेयर, शोध लोग अभी भी इसे खरीदने के इच्छुक हैं अगर कोई क्रैक संस्करण नहीं है या क्रैक संस्करण स्थापित करना बहुत मुश्किल है।
+1 इसे पूरी तरह से डालने के लिए। –