2012-06-26 55 views
5

मुझे अपने फ़्लैश क्लाइंट को सर्वर से सुरक्षित रूप से संवाद करने की आवश्यकता है (बाइनरी सॉकेट के माध्यम से)। इसके लिए, मैं एएस 3 कोड के अंदर एक पूर्व-साझा कुंजी एम्बेड करने और कस्टम प्रोटोकॉल के माध्यम से एक्सओआरएड डेटा का आदान-प्रदान करने की सोच रहा था।फ्लैश AS3 कोड + सर्वर के साथ सुरक्षित संचार

मुझे बताया गया है कि एसडब्ल्यूएफ डीकंपलर सभी एम्बेडेड कोड को स्पष्ट रूप से स्पष्ट और पठनीय बनाने में अच्छा काम करते हैं। क्या इसका मतलब यह है कि मैं वास्तव में अपनी कुंजी छुपा नहीं सकता?

यदि यह विधि अव्यवहारिक है, तो अन्य विकल्प क्या हैं? मैंने as3crypto की कोशिश की है, केवल यह पता लगाने के लिए कि यह कमियों से भरा है और गंभीर दस्तावेज की कमी है।

+0

मेरा मानना ​​है कि आप जो सर्वश्रेष्ठ प्राप्त करने जा रहे हैं वह डेटा संचारित करने के लिए एक सुरक्षित प्रोटोकॉल के रूप में SSL का उपयोग कर रहा है। ध्यान दें कि यह अभी भी किसी उपयोगकर्ता को प्रॉक्सी स्थापित करने से नहीं रोकता है जो आपके प्रमाणपत्र को स्वीकार करता है, फिर ट्रांसमिशन को डीकोड करने के लिए क्लाइंट को किसी अन्य को इंगित करता है, इसलिए यह किसी भी माध्यम से पूर्ण प्रमाण नहीं है, लेकिन यह क्लाइंट/सर्वर के लिए सबसे सुरक्षित समाधान है संचार जो कम से कम सिस्टम को हैक करने की क्षमता को बाधित करेगा। यह है कि यह आपके अंतिम उपयोगकर्ताओं/सर्वर संचार को बाहरी लोगों से सुरक्षित रखेगा लेकिन आपके अंतिम उपयोगकर्ताओं से आपकी रक्षा नहीं करता है। – shaunhusain

+0

जैसा कि नीचे दिया गया उत्तर क्लाइंट और सर्वर के बीच संचार के मध्य कैप्चर में एक आदमी को बढ़ाता है, अंततः किसी को ऐसे क्लाइंट को लिखने की अनुमति मिलती है जो कि समान निगरानी के दौरान देखी जाती है जैसा कि मॉम मॉनिटरिंग के दौरान देखा जाता है। देखें कि कैसे किनेक्ट को एक उदाहरण के रूप में हैक किया गया था, प्रोटोकॉल प्रकाशित नहीं हुआ था और न ही डेटा की स्ट्रीम शुरू करने के संकेत थे, लेकिन एक यूएसबी डोंगल और डेटा बाद में डंप हो गया था और आपके पास ब्राजील रिवर्स इंजीनियरिंग डेटा में लोग हैं <24hrs में स्ट्रीम। कैन एंड एबल का एक अन्य उदाहरण http://www.youtube.com/watch?v=ZNApxghIQLw – shaunhusain

+0

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

उत्तर

4

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

यह विशेष रूप से उस पर निर्भर हो सकता है जिसे आप सुरक्षित संचार के साथ पूरा करने की कोशिश कर रहे हैं। उदाहरण के लिए, यदि आप एक उच्च-स्कोर सिस्टम को सुरक्षित करने की कोशिश कर रहे हैं जो कि बहुत ही असंभव है क्योंकि गेम क्लाइंट (एसडब्ल्यूएफ) पर चलता है और वे सर्वर पर इच्छित स्कोर को थूकने के लिए इसका उपयोग कर सकते हैं। यहां इस पर एक अच्छा पठन है: What is the best way to stop people hacking the PHP-based highscore table of a Flash game

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