2012-02-07 15 views
8

मैं एक आईफोन ऐप बेचना चाहता हूं, जो वेब पेज पर एक ही वेब दृश्य रखेगा, http://www.myapp.com/webview/ मैं ऐप को वेबसाइट पर प्रमाणीकरण के लिए आवश्यक प्रमाण-पत्रों को प्रभावी रूप से संग्रहीत करना चाहता हूं (यानी केवल कोई व्यक्ति जिसने ऐप खरीदा है, इस पृष्ठ को देख सकता है)आईफोन ऐप के लिए सुरक्षित https एन्क्रिप्शन

आईफोन पर लॉग इन करने की आवश्यकता के बिना आईफोन पर मेरे पास एक सुरक्षित, सरल वेबव्यू कैसे होगा (अनिवार्य रूप से वे ऐप खरीदते हैं, उनके प्रमाणीकरण का गठन करेंगे पेज)

किसी को भी इस के साथ मदद कर सकते हैं?

+0

आपको वास्तव में नीचे दिए गए उत्तर को स्वीकार करना चाहिए। बहुत अच्छा है। –

उत्तर

18

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

इस के कई विचार विमर्श किया गया है। यह निराशाजनक नहीं है, केवल 100% (या यहां तक ​​कि 9 0%) को हल करना असंभव है। एसएसएल पर एक सरल साझा रहस्य आपके उपयोगकर्ताओं को नुकसान पहुंचाए बिना या अपने विकास के लिए बहुत अधिक खर्च किए बिना आपके अधिकांश हमलावरों को रोक देगा। यह सुरक्षा है, सुरक्षा नहीं, लेकिन सस्ता और "अधिकतर प्रभावी" महंगा और "अधिक प्रभावी" से काफी बेहतर है।

आप एक बहुत उच्च मूल्य का उत्पाद है, तो यह और अधिक आक्रामक (महंगा) समाधान किए जा सकते हैं।

  • , बजाय उपयोगकर्ता प्रोग्राम, या
  • नित्य सतर्कता प्रमाणित कर रहा है नए हमलों के लिए देख रहे हैं और फिक्स है कि उन्हें पैच के साथ जवाब: इन समाधानों में से सभी दो चीजों में से एक में शामिल हैं।

बाद बहुत महंगा है और कभी नहीं समाप्त होता है। सुनिश्चित करें कि यह इसके लायक है।

कुछ अन्य उपयोगी विचार विमर्श:


संपादित करें मैं की मेरी उल्लेख के बारे में एक बात कहना चाहता था "SSL पर साझा रहस्य।" याद रखें कि यदि आप प्रमाण पत्र को सत्यापित नहीं करते हैं, तो आप बहुत ही आसान मैन-इन-द-बीच हमलों के अधीन हैं। Charles जैसे आसानी से उपलब्ध प्रॉक्सी यह कर सकते हैं। सबसे अच्छा तरीका यह सुनिश्चित करना है कि एसएसएल प्रमाणपत्र वापस लौटाया जा रहा है रूट प्रमाणपत्र पर हस्ताक्षर किया गया है, न केवल "कोई विश्वसनीय प्रमाणपत्र"। आप पुन: कॉन्फ़िगर कर सकते हैं कि आपके आवेदन द्वारा SecTrustSetAnchorCertificates() के साथ कौन से प्रमाणपत्र विश्वसनीय हैं। iOS5:PTL अध्याय 11 (पृष्ठ 221) में इस तकनीक को शामिल करता है। मैंने इसे RNPinnedCertValidator नामक लाइब्रेरी में भी लपेट लिया है।

एक और अच्छी परत एक चुनौती-प्रतिक्रिया प्रणाली को कार्यान्वित करना है जहां सर्वर प्रमाणित करता है कि क्लाइंट को इसे तार पर रखे बिना साझा रहस्य है। Challenge-resonse authentication पर विकिपीडिया लेख में एल्गोरिदम का एक अच्छा स्पष्टीकरण शामिल है।

+0

ग्रेट प्रतिक्रिया, धन्यवाद। –

+0

एसएसएल स्नीफिंग की समस्या को कम करने के तरीके को संपादित करने के लिए संपादित किया गया। –

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