अगर मैं एक दूरस्थ सर्वर से सत्यापन ऑफलोड, मुझे लगता है कि इस प्रक्रिया की तरह कुछ हो जाएगा:एंड्रॉयड एप्लिकेशन के तहत बिलिंग सत्यापन
Android Market Application Remote Server
|--------IN_APP_NOTIFY------->| |
| |-----nonce----->|
| |<----nonce------|
|<-GET_PURCHASE_STATE_CHANGED-| |
|---PURCHASE_STATE_CHANGED--->| |
| |--verification->|
| |<-verification--|
अगर मैं सही ढंग से समझ, अस्थायी रूप से पुनरावृत्ति हमले भेद्यता और सत्यापन को कम करना है स्पूफिंग भेद्यता को कम करना है। साथ ही, दस्तावेज़ों को सुरक्षा प्रसंस्करण को ऑफ़लोड करने का कारण यह है कि सत्यापन चरण को मेरे सार्वजनिक एंड्रॉइड मार्केट प्रकाशक की कुंजी तक पहुंच की आवश्यकता होती है और रिमोट सर्वर का लक्ष्य मेरे कोड में शामिल/गणना करने की आवश्यकता से कहा जाता है।
पहला सवाल, क्या दूरस्थ सर्वर के लिए गैर-पीढ़ी/जांच करने का कोई सुरक्षा कारण है? सत्यापन चरण को दबाकर सही तरीके से किया जाता है, अगर संदेश को धोखा दिया गया तो हम दूरस्थ सर्वर से पता लगाएंगे। तो मुझे ऐसा लगता है कि किसी भी व्यक्ति को IN_APP_NOTIFY को पुन: प्रसारित करने के लिए नॉन बस है।
दूसरा सवाल, यह क्यों मायने रखता है कि हमारी सार्वजनिक कुंजी एक शाब्दिक स्ट्रिंग है? दस्तावेज़ कहते हैं, "आप एक हैकर या दुर्भावनापूर्ण उपयोगकर्ता के लिए सार्वजनिक कुंजी को किसी अन्य कुंजी से प्रतिस्थापित करना आसान नहीं बनाना चाहते हैं।" मैं स्पष्ट नहीं हूं कि कोई भी मेरे ऐप का शोषण कैसे कर सकता है भले ही वे ऐप को इस्तीफा देने के बिना एक दुर्भावनापूर्ण सार्वजनिक कुंजी शामिल करने के लिए बाइनरी संपादित कर सकें।
तीसरा सवाल, क्या मेरे पास मेरे रिमोट सर्वर से सत्यापन सत्यापित करने की कोशिश करने वाली सभी समस्याएं नहीं हैं (उदाहरण के लिए एप्लिकेशन में मेरे रिमोट सर्वर पर सार्वजनिक कुंजी संग्रहीत करना)?
चौथा प्रश्न, अगर मैं इस खरीद सत्यापन के परिणामों को फोन पर संग्रहीत करना चाहता हूं तो यह अतिरिक्त सुरक्षा है (यानी मैं किसी भी उपयोगकर्ता को अनलॉक सामग्री की खरीद स्थिति को सत्यापित नहीं करना चाहता हूं सामग्री का उपयोग करता है)?
हाय, मैंने ऐप-ऐप बिलिंग शुरू करने के बाद सभी प्रश्नों में भाग लिया है। मुझे लगता है कि जिस आरेख के साथ आप आए थे वह सही है (जहां तक मैं इसे अब समझता हूं)। क्या आपने दिसंबर से कोई अन्य अंतर्दृष्टि प्राप्त की है? – user291701