IOS ऐप DRM कैसे काम करता है, बिल्कुल?


9

जब मैं अपने विंडोज कंप्यूटर पर आईट्यून्स में एक ऐप खरीदता हूं, तो मुझे एक * .ipa फ़ाइल मिलती है जो एक आत्म-निहित iOS एप्लिकेशन पैकेज है। मैं इन IPA फ़ाइलों की सामग्री को 7-ज़िप के साथ ब्राउज़ कर सकता हूं और यहां तक ​​कि संसाधनों और अन्य विवरणों को भी निकाल सकता हूं, जिससे पता चलता है कि ये IPA फाइलें बिल्कुल भी एन्क्रिप्ट नहीं की गई हैं।

तो अगर वे एन्क्रिप्टेड नहीं हैं, तो DRM कैसे काम करता है? मुझे IPA फ़ाइल को किसी और के कंप्यूटर पर कॉपी करने और IPA को iTunes में आयात करने और फिर किसी और के डिवाइस पर इंस्टॉल करने से क्या रोक रहा है?

इसके अलावा, क्या कोई पुष्टि कर सकता है कि जब तक मैं आईपीए फ़ाइल रखता हूं, तब तक मैं इसे अपने iDevices (उसी Apple ID के तहत) को स्थापित करने में सक्षम होऊंगा? मैं बस इस बात से चिंतित हूं कि भविष्य में एक ऐप को सुविधाओं को हटाने के लिए अपडेट किया जा सकता है या यहां तक ​​कि ऐप स्टोर से पूरी तरह से खींचा जा सकता है।


1
मुझे नहीं पता कि आप ऐसा करने से क्या रोकते हैं, लेकिन मुझे पता है कि यह कम से कम एक तरीका हो सकता है: अर्थात्, आईओएस द्वारा किसी ऐप को चलाने से इनकार करते हुए जब तक कि उसके लिए भुगतान नहीं किया जाता है, उस भुगतान का एक रिकॉर्ड फॉर्म में मौजूद है एप्लिकेशन के चेकसम सहित डेटा के एक टुकड़े पर कुछ डिजिटल हस्ताक्षर।
हेराल्ड हंच-ऑलसेन

जवाबों:


13

दरअसल, यह एसएसएल की तरह अधिक काम करता है। Apple खाते के लिए साइन अप करने पर Apple आपके उपयोगकर्ता नाम के लिए एक सार्वजनिक / निजी कुंजी जोड़ी बनाता है। यह तब आपको आपकी निजी कुंजी देता है और यह आपकी सार्वजनिक रखता है। (यही कारण है कि जब आप पहली बार खरीदते हैं या जब आप अपने iDevice को पुनर्स्थापित करते हैं, तो आपको इसे अपने iTunes खाते के साथ सक्रिय करना होगा)। सक्रियण पर यह आपकी निजी कुंजी को आपके iDevice में स्थानांतरित करता है। मूल रूप से क्या होता है जब आप एक ऐप खरीदते हैं (मुफ्त या भुगतान किया जाता है) Apple एक 4096 बाइट लंबे हेडर उत्पन्न करता है जो आपकी सार्वजनिक कुंजी के साथ एन्क्रिप्ट किया गया है।

यदि आपके पास सार्वजनिक / निजी कुंजी की कोई समझ है, तो सार्वजनिक कुंजी इसके लिए निजी जोड़े को एन्क्रिप्ट कर सकती है ... उदाहरण के लिए मैं सर्वर को भेजने के लिए डेटा को एन्क्रिप्ट करने के लिए सार्वजनिक कुंजी का उपयोग करेगा। सर्वर तब इसे डिक्रिप्ट करने के लिए निजी कुंजी का उपयोग करेगा। जब यह डेटा वापस भेजना चाहता है, तो यह डेटा को एन्क्रिप्ट करने के लिए मेरी सार्वजनिक कुंजी का उपयोग करता है और मैं इसे डिक्रिप्ट करने के लिए अपनी निजी कुंजी का उपयोग करता हूं! सार्वजनिक कुंजी केवल डेटा एन्क्रिप्ट कर सकती है और निजी कुंजी के लिए डीक्रिप्ट और इसके विपरीत नहीं कर सकती है।

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

हां, जैसा कि ऊपर कहा गया है कि आपके ऐप इतने लंबे समय तक चलते रहेंगे जब तक आप अपने ऐप्पल आईडी को याद रख सकते हैं क्योंकि आईवेडाइस (और आईट्यून्स) आईट्यून्स के साथ नो सिग्नेचर चेकिंग करता है। इसका मतलब है कि आप हटाए गए एप्लिकेशन इंस्टॉल कर सकते हैं और पुराने IPAs को अपने डिवाइस में तब तक सिंक कर सकते हैं जब तक वे आपके हैं और आपके पास अभी भी अनिश्चित रूप से IPA है!


0

बस से विस्तार बदलने .ipaके लिए .zip। यदि आप iTunes के पुराने संस्करण का उपयोग कर रहे हैं, तो IPA फ़ाइल इस प्रकार होगी:

C:\user\ ...\music\itunes\mobile applications 

क्या आप देख रहे थे ... जब आप ऐप डाउनलोड करते थे, तो उस उपयोगकर्ता के पास जाएँ।


यह उत्तर बताता नहीं है कि iOS लाइसेंस प्रतिबंधों को कैसे लागू करता है।
दाई
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.