7

मेरे ऐप को किसी तीसरे पक्ष से एक एसएसएल यूआरएल पढ़ना होगा। मैं अपने स्वयं के डेटाबेस में तीसरे पक्ष के क्रेडेंशियल्स को सबसे अच्छी तरह से कैसे स्टोर करूं, जो तीसरे पक्ष के क्रेडेंशियल से समझौता होने से बचाता है? पूर्ण सुरक्षा और व्यावहारिकता दोनों पर विचार करें। क्रेडेंशियल्स को एक-तरफा हैशिंग उपयोगी नहीं है क्योंकि मुझे एसएसएल कॉल के लिए सादे टेक्स्ट में क्रेडेंशियल्स को पुनर्स्थापित करना होगा। मैं Google ऐप इंजन पर पायथन का उपयोग कर रहा हूं, और मेरा ऐप Google प्रमाण-पत्रों के साथ प्रमाणीकृत है।i * * मेरे डेटाबेस में तीसरे पक्ष के प्रमाण पत्र स्टोर करना होगा। सबसे अच्छा तरीका?

  • उदाहरण के लिए एन्क्रिप्टेड प्रमाण-पत्र एईएस और कहीं और एन्क्रिप्शन कुंजी को बचाने (बस समस्या से चलता है), या derive it from the credentials and keep the algorithm secret (बस समस्या चलता है)
  • एक synchronous stream cipher का उपयोग कर एन्क्रिप्ट साख, निकाले जाते हैं क्रेडेंशियल्स और keep the algorithm secret (बस समस्या चलता है)
  • से (नहीं) एन्ट्रापी
  • तृतीय पक्ष प्रमाण-पत्रों को संग्रहीत करने के लिए समर्पित एक अलग वेब ऐप पर, तृतीय पक्ष प्रमाण-पत्र प्राप्त करने के लिए एक एसएसएल यूआरएल प्रदान करें, यह यूआरएल Google क्रेडेंशियल्स (मेरे ऐप के समान) के साथ एक्सेस किया गया है और दूसरे को प्राधिकरण स्थानांतरित करने के लिए ऑथ्सब या कुछ का उपयोग कर सकता है वेब अप्प। यह अधिक सुरक्षित लगता है क्योंकि यह एक मामूली सरल वेबैप हैक करना कठिन है, और यदि मेरा जटिल मुख्य ऐप समझौता हो जाता है तो तीसरे पक्ष के प्रमाण पत्र प्रकट नहीं होते हैं।

आप सभी दृष्टिकोणों के बारे में क्या सोचते हैं?

+0

यह स्पष्ट नहीं है कि आप क्या पूछ रहे हैं? एक एसएसएल यूआरएल उस पर भेजे गए क्रेडेंशियल्स को एन्क्रिप्ट करने के लिए है। –

+1

मैं अपने डेटाबेस –

+0

में बाहरी प्रमाण-पत्रों को संग्रहीत करने के लिए डर रहा हूं, मैं यह देखने में असफल रहा कि तीसरा दृष्टिकोण समस्या को कैसे नहीं बढ़ा रहा है। यह एक ही ऐप के बजाय इसे एक अलग ऐप पर ले जाता है। –

उत्तर

2

यह एक कठिन काम है, और कोई दृष्टिकोण आपको यह सुनिश्चित करने में परेशानी नहीं बचाएगा कि कोई कमजोर लिंक नहीं है। शुरुआत करने वालों के लिए, मुझे नहीं पता कि Google पर होस्टिंग जाने का सबसे अच्छा तरीका है, क्योंकि आप नियंत्रण जब्त कर लेंगे (मुझे वास्तव में पता नहीं है कि ऐप इंजन को आवश्यक स्तर की सुरक्षा के साथ डिज़ाइन किया गया है, तो आपको यह पता होना चाहिए बाहर) और शायद प्रवेश परीक्षा (जो आपको करना चाहिए) नहीं कर सकते हैं

एक अलग छोटा आवेदन होने का शायद एक अच्छा विचार है, लेकिन यह आपको एक तरीके से एन्क्रिप्ट करने से नहीं रोकता है और दूसरे को प्रमाण-पत्र स्वयं छोटा ऐप यह आपको सादगी खरीदता है, जो बदले में चीजों का विश्लेषण करना आसान बनाता है।

मैं व्यक्तिगत रूप से ऐप को डिज़ाइन करने का प्रयास करता हूं ताकि प्रत्येक उपयोग के बाद यादृच्छिक रूप से महत्वपूर्ण परिवर्तन हो, जिसमें one time pad दृष्टिकोण हो। यह देखने के लिए कि क्या यह व्यवहार्य है, आप ऐप को पर्याप्त विस्तार से निर्दिष्ट नहीं करते हैं।

2

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

यदि आपके विंडोज़ का उपयोग करते हुए मैं क्रेडिट * Win32 API (advapi32.dll) की जांच करता हूं तो यह आपको कम से कम विंडोज सिस्को में कुंजी प्रबंधन पेंट करने की अनुमति देगा जहां टीपीएम और बूटअप पासफ्रेज निम्न स्तर के समझौते के खिलाफ सुरक्षा प्रदान कर सकता है (चोरी हो गया है डिस्क ड्राइव)

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

3

प्रमाण-पत्र कैसे उपयोग किए जा रहे हैं? यदि उनका उपयोग केवल मूल मालिक द्वारा ट्रिगर किया जाता है (उदाहरण के लिए। आप बैंक कार्ड नंबर संग्रहित कर रहे हैं और वे अपनी दूसरी खरीद कर रहे हैं) तो वे उस बिंदु पर एक पासवर्ड प्रदान कर सकते हैं जिसका उपयोग आपकी एन्क्रिप्शन कुंजी के रूप में किया जाता है। इसके बाद आपको उस कुंजी को स्थानीय रूप से स्टोर करने की आवश्यकता नहीं होगी और केवल डेटाबेस सामग्री ही हमलावर के लिए बेकार है।

+0

क्रेडिट लागू किए जाते हैं जब मेरे ऐप से एक ईमेल (वास्तव में एक एसएमएस) प्राप्त होता है एक पंजीकृत पता, और फिर मेरा ऐप उस पते का जवाब देता है। इसलिए मुझे यकीन है कि उन्हें संग्रहीत करने की आवश्यकता है। –

संबंधित मुद्दे