क्रिप्टोग्राफी गोपनीयता सुनिश्चित करने के लिए व्यापक रूप से अपनाया जाने वाला तकनीक है। कार्यान्वयन त्रुटियों पर विचार नहीं करते, इसका एक महत्वपूर्ण बिंदु है: गुप्त कुंजी भंडारण। अगर गुप्त कुंजी चोरी हो जाती है, तो पूरी प्रणाली से समझौता किया जाएगा।जावा वेब एप्लिकेशन में आप अपनी गुप्त कुंजी कहां स्टोर करते हैं?
संपादित करें:
मुझे बनाने के लिए संदर्भ स्पष्ट करने देते हैं सवाल कम व्यापक:
- यहाँ एक जावा वेब अनुप्रयोग संबोधित किया जाता है
- अधिक विशेष रूप से यह वसंत ढांचा संस्करण 3 प्रयोग किया जाता है
- वसंत सुरक्षा 3.1 एप्लिकेशन को सुरक्षित करने के लिए उपयोग किया जाता है
- एक mysql5 डेटाबेस उपलब्ध है
- आवेदन सर्वर tomcat6 या tomcat7
- सर्वर मशीन मेरे नियंत्रण में नहीं
शायद सवाल के रूप में बताया, इस परिदृश्य पर ध्यान केंद्रित किया जा सकता है लेकिन, गुप्त कुंजी की समस्या है भंडारण गोद लेने वाली प्रौद्योगिकियों के लिए ट्रांसवर्सल है। हालांकि कुछ पुस्तकालय अनोखी विशेषताओं की पेशकश कर सकते हैं जो किसी भी तरह से काम को सुविधाजनक बना सकते हैं। एक स्पष्ट बिंदु यह है कि सुरक्षा और व्यावहारिक चीजों को करने की आवश्यकता के बीच एक व्यापार समझौता होना चाहिए। विश्लेषण को पूरा करने के लिए यह स्पष्ट है कि आवश्यक सुरक्षा स्तर सुरक्षित होने के लिए जानकारी के मूल्य पर निर्भर करता है। एक ग्राहक के जूता आकार को गुप्त रखने के लिए सुपर-सुरक्षित रणनीतियों (बहुत सारे प्रयासों की मांग) को लागू करने के लिए हमारे दिमाग को फिसलना मूर्खतापूर्ण है।
यहां, मुझे एक ईमेल पासवर्ड सुरक्षित करना होगा (जिसे एक डीबी में संग्रहीत किया जाएगा)। मैं इस जानकारी को औसत महत्वपूर्ण मानता हूं।
जो मैं यहां देख रहा हूं, वह उचित प्रयास के साथ सबसे अच्छा समाधान है।
तो सवाल बहुत स्पष्ट है: आप इस जानकारी को कहां स्टोर करेंगे?
- क्या आप इसे डेटाबेस में संग्रहीत करते हैं? तो इसे एन्क्रिप्ट किया जाना चाहिए और इसके लिए एक और कुंजी की आवश्यकता है (और आप इस दूसरी कुंजी को कहां स्टोर करते हैं?)
- क्या आप इसे
.war
पैकेज में संग्रहीत करते हैं? आप स्रोतों पर अनधिकृत पहुंच को कैसे रोकते हैं? - क्या आप एक अलग रणनीति अपनाते हैं?
आपकी रणनीति के लिए प्रेरणा की सराहना की जाएगी। धन्यवाद
यह भी देखें कि "मैं सिस्टम के लिए कुंजी को सुरक्षित रूप से कहां स्टोर करूं जहां स्रोत दिखाई दे रहा है?" http://security.stackexchange.com/questions/5994/where-do-i-securely-store-the-key-for-a-system-where-the- स्रोत-is-visible, और "पासवर्ड के लिए सर्वोत्तम अभ्यास - एक गुप्त कुंजी को संरक्षित करना "http://security.stackexchange.com/questions/20076/best-practice-for-password-protecting-a-secret-key, –
यह उपयोग के मामले और पर्यावरण पर इतना निर्भर करता है कि यह है किसी भी सार्थक तरीके से जवाब देना असंभव है; इसके बजाय कुंजी प्रबंधन पर एक किताब खरीदें। –