मैं एक ऐप विकसित कर रहा हूं जो एक्सएमएल आधारित एपीआई से जुड़ता है। मेरे पास सर्वर और ऐप दोनों पर नियंत्रण है - क्या कोई तरीका है कि मैं यह सुनिश्चित कर सकता हूं कि केवल मेरा ऐप एपीआई एक्सेस कर सके?आईफोन और सर्वर के बीच सुरक्षित संचार?
कोई उपयोगकर्ता प्रमाणीकरण नहीं है।
संपादित करें:
मुख्य चिंता यह है कि बॉट एक्सएमएल को स्कैन करके डेटा चोरी है।
कैसे इस बारे में:
मैं डिवाइस UDID के साथ एक सत्र का अनुरोध और मैं एक हाथ मिलाना कुंजी मिलता है।
<handshake>23354</handshake>
इस स्ट्रिंग एक पासवर्ड दोनों सर्वर और एक सहमति एल्गोरिथ्म के अनुसार ग्राहक पर गणना की जाती है से
है कि मैं में 1 जोड़
के अब के लिए मान लीजिए (यह सिर्फ फिर से संगठित करने के लिए कठिन हो गया है) हैंडशेक कुंजी
password = 23354
सभी एपीआई कॉल पर मैं यूडीआईडी के साथ इस पासवर्ड को पास करता हूं। यह सर्वर को प्रत्येक सत्र को कॉल की एक निश्चित संख्या तक सीमित करने की अनुमति देगा, नहीं?
आपको क्या लगता है?
मुझे विश्वास नहीं है कि रैंड() द्वारा अनुक्रमित अनुक्रम प्लेटफ़ॉर्म से प्लेटफ़ॉर्म तक समान होता है। POSIX वास्तविक एल्गोरिदम को परिभाषित नहीं करता है, केवल न्यूनतम आवश्यकताओं। मैं उपरोक्त में मानता हूं कि सर्वर "123" चुनता है। यदि ग्राहक इसे चुनता है, तो यह बिल्कुल भी सुरक्षा प्रदान नहीं करता है (यहां तक कि छोटी सुरक्षा भी नहीं)। यदि सर्वर आईडी भेजता है, तो 64k बीज के लिए सभी मानों की गणना करने से तेज़ ब्रेक होते हैं। सत्र के एमआईएम के लिए सबसे स्पष्ट है। मैं कुछ टकरावों के लिए आईडी = 1 के साथ क्लाइंट को चुनौती देकर बीज को और अधिक तेज़ी से पा सकता हूं। –