सबसे पहले, मैं खुद को एक सुरक्षा विशेषज्ञ के रूप में संदर्भित नहीं करूंगा, लेकिन मैं इस प्रश्न का उत्तर देने की स्थिति में हूं। मुझे जो पता चला उसने मुझे थोड़ा हैरान कर दिया: पूरी तरह से सुरक्षित प्रणाली जैसी कोई चीज नहीं है । ठीक है, मुझे लगता है कि एक पूरी तरह से सुरक्षित प्रणाली एक होगी जहां सर्वर सभी बंद हो जाते हैं :)
उस समय मेरे साथ काम करने वाले किसी व्यक्ति ने घुसपैठियों को बार उठाने के संदर्भ में एक सुरक्षित प्रणाली डिजाइन करने का वर्णन किया । तो, सुरक्षित करने की प्रत्येक परत पर हमले का अवसर कम हो जाता है।
उदाहरण के लिए, भले ही आप निजी कुंजी को पूरी तरह से सुरक्षित कर सकें, सिस्टम पूरी तरह से सुरक्षित नहीं है । लेकिन, सुरक्षा एल्गोरिदम का सही ढंग से उपयोग करना और पैच के साथ अद्यतित होना बार को बढ़ाता है। लेकिन, हाँ, एक सुपर कंप्यूटर पर्याप्त शक्तिशाली है और पर्याप्त समय दिए जाने पर एन्क्रिप्शन को तोड़ सकता है। मुझे यकीन है कि यह सब समझ में आ रहा है, इसलिए मैं सवाल वापस ले लूंगा।
प्रश्न स्पष्ट है इसलिए मैं आपके प्रत्येक अंक को संबोधित करने का प्रयास करूंगा:
मान लें कि कुंजी फ़ाइल सिस्टम के सुरक्षा मॉडल द्वारा संरक्षित है; लेकिन क्या (दुर्भावनापूर्ण) सुपरसर्स, या प्लेटफ़ॉर्म जो ऐसी निष्ठा प्रदान नहीं करते हैं?
हां, यदि आप Windows Key Store या पासवर्ड एन्क्रिप्टेड TLS निजी कुंजी का उपयोग करते हैं, तो आप उन उपयोगकर्ताओं के संपर्क में आते हैं जिनके पास निजी कुंजियों के लिए पासवर्ड (या एक्सेस) है। लेकिन, मुझे लगता है कि आप सहमत होंगे कि बार उठाता है। फ़ाइल सिस्टम ACLs (यदि ठीक से लागू किया गया है) सुरक्षा का एक अच्छा स्तर प्रदान करते हैं। और आप व्यक्तिगत रूप से अपने सुपर उपयोगकर्ताओं को जानने और जानने की स्थिति में हैं।
या कुंजी सॉफ्टवेयर बायनेरिज़ में हार्डकोड किया गया है, लेकिन इसे हमेशा विघटित किया जा सकता है और खुले स्रोत सॉफ़्टवेयर या व्याख्या किए गए कोड के बारे में क्या है?
हां, मैंने बायनेरिज़ में हार्डकोड कीज़ देखी हैं। फिर, यह बार को थोड़ा बढ़ाता है। इस प्रणाली पर हमला करने वाले किसी व्यक्ति (यदि यह जावा है) को यह समझना होगा कि जावा बाइट कोड (आदि) का उत्पादन करता है और यह समझना चाहिए कि इसे कैसे पढ़ा जाना है। यदि आप ऐसी भाषा का उपयोग कर रहे हैं जो सीधे मशीन कोड में लिखती है, तो आप देख सकते हैं कि यह बार को थोड़ा ऊपर उठाता है। यह एक आदर्श सुरक्षा समाधान नहीं है, लेकिन सुरक्षा के कुछ स्तर प्रदान कर सकता है।
यदि कुंजी उत्पन्न होती है, तो इस तरह के एल्गोरिथ्म को नियतात्मक (संभवतः) होना चाहिए और फिर वही समस्या बीज पर लागू होती है।
हां, अनिवार्य रूप से तब एल्गोरिथ्म निजी कुंजी बनाने के लिए निजी महत्वपूर्ण जानकारी बन जाता है। तो, अब इसे संरक्षित करने की आवश्यकता होगी।
इसलिए, मुझे लगता है कि आपने किसी भी सुरक्षा नीति, मुख्य प्रबंधन के साथ एक मुख्य मुद्दे की पहचान की है । एक महत्वपूर्ण प्रबंधन नीति का होना एक सुरक्षित प्रणाली प्रदान करने के लिए केंद्रीय है। और, यह एक बहुत व्यापक विषय है ।
तो, सवाल यह है कि आपका सिस्टम (और, इसलिए निजी कुंजी) कितना सुरक्षित है? आपके सिस्टम में कितना ऊंचा है, क्या बार को उठाने की आवश्यकता है?
अब, यदि आप भुगतान करने के लिए तैयार हैं, तो वहाँ कुछ लोग हैं जो इसका समाधान निकालते हैं। हमने एचएसएम (हार्डवेयर सुरक्षा मॉड्यूल) का उपयोग करके समाप्त किया । यह मूल रूप से एक टैम्पर प्रूफ सर्वर है जिसमें हार्डवेयर की एक कुंजी होती है। इस कुंजी का उपयोग एन्क्रिप्शन के लिए उपयोग की जाने वाली अन्य कुंजी बनाने के लिए किया जा सकता है। यहां विचार यह है कि (यदि सही तरीके से कॉन्फ़िगर किया गया है), तो कुंजी कभी भी एचएसएम को नहीं छोड़ती है। एचएसएम की लागत काफी है । लेकिन कुछ व्यवसायों में (क्रेडिट कार्ड डेटा की सुरक्षा की सुविधा देता है), एक उल्लंघन की लागत बहुत अधिक है। तो, एक संतुलन है।
कई HSM रखरखाव और सुविधाओं के व्यवस्थापक से कुंजी कार्ड का उपयोग करते हैं। कुंजी कार्ड का एक कोरम (९ में से ५ बताता है) को कुंजी को बदलने के लिए भौतिक रूप से सर्वर में रखना होगा। इसलिए, यह बार को ऊंचा उठा देता है, अगर केवल एक ब्रीच की अनुमति देता है, तो सुपर उपयोगकर्ताओं का कोरम ढह जाता है।
वहाँ सॉफ्टवेयर समाधान हो सकता है जो एक HSM के समान सुविधाएँ प्रदान करते हैं, लेकिन मुझे पता नहीं है कि वे क्या हैं।
मुझे पता है कि यह केवल सवाल का जवाब देने के लिए किसी तरह जाता है, लेकिन मुझे उम्मीद है कि इससे मदद मिलेगी।