Play Integrity API की मदद से यह पता किया जा सकता है कि इंटरैक्शन और सर्वर के अनुरोध, आपके ऐप्लिकेशन की सही बाइनरी से हो रहे हैं या नहीं. साथ ही, यह पता किया जा सकता है कि ऐप्लिकेशन सही Android डिवाइस पर चल रहा है या नहीं. इस सुविधा की मदद से, ऐसे इंटरैक्शन का पता लगाया जा सकता है जो जोखिम भरे और धोखाधड़ी वाले हो सकते हैं. जैसे, ऐप्लिकेशन के बदले गए वर्शन और अविश्वसनीय प्लैटफ़ॉर्म से आने वाले इंटरैक्शन. इससे आपके ऐप्लिकेशन के बैकएंड सर्वर पर सही कार्रवाइयां की जा सकती हैं, ताकि हमलों को रोका जा सके और गलत इस्तेमाल को कम किया जा सके.
जब आपके ऐप्लिकेशन या गेम का इस्तेमाल, Google Play Store और Google Play services वाले किसी Android डिवाइस पर किया जाता है, तो Play Integrity API एक रिस्पॉन्स देता है. इससे यह पता चलता है कि आपका इंटरैक्शन इनमें से किससे हो रहा है:
- ऐप्लिकेशन की बाइनरी भरोसेमंद है या नहीं: इससे पता चलता है कि आपका इंटरैक्शन, उस असल बाइनरी से हो रहा है या नहीं जिसे Google Play ने मंज़ूरी दी है.
- ऐप्लिकेशन या गेम, Google Play से इंस्टॉल किया गया है या नहीं: इससे पता चलता है कि मौजूदा उपयोगकर्ता खाते के लिए लाइसेंस दिया गया है या नहीं. इसका मतलब है कि या तो उपयोगकर्ता ने Google Play से ऐप्लिकेशन या गेम इंस्टॉल किया है या उसके लिए पैसे चुकाए हैं.
- Android डिवाइस भरोसेमंद है या नहीं: इससे पता चलता है कि आपका ऐप्लिकेशन, Google Play services वाले किसी भरोसेमंद Android डिवाइस पर चल रहा है या नहीं. इससे यह भी पता चलता है कि आपका ऐप्लिकेशन किसी ऐसे पीसी पर चल रहा है या नहीं जिस पर Google Play Games काम करता है.
आपके पास यह चुनने का विकल्प भी है कि आपको Play Integrity API के रिस्पॉन्स में, एनवायरमेंट के बारे में जानकारी चाहिए या नहीं. इसमें ये चीज़ें शामिल हैं:
- ऐप्लिकेशन को ऐक्सेस करने से जुड़ा जोखिम: इससे आपको यह पता चलेगा कि क्या उपयोगकर्ता के डिवाइस में ऐसे ऐप्लिकेशन चल रहे हैं जिनका इस्तेमाल, स्क्रीन कैप्चर करने, ओवरले दिखाने या डिवाइस को कंट्रोल करने के लिए किया जा सकता है.
- पहले से मौजूद मैलवेयर से जुड़ा जोखिम: इससे आपको यह पता चलेगा कि क्या डिवाइस में Google Play Protect की सुविधा चालू है और क्या उसे डिवाइस पर पहले से मौजूद मैलवेयर मिला है.
खास जानकारी
जब कोई उपयोगकर्ता आपके ऐप्लिकेशन में कोई कार्रवाई करता है, तो Play Integrity API को कॉल करके यह जांच की जा सकती है कि यह कार्रवाई, आपके ऐप्लिकेशन की असल बाइनरी में हुई है या नहीं. साथ ही, यह भी जांच की जा सकती है कि ऐप्लिकेशन को Google Play से इंस्टॉल किया गया है या नहीं और उसे असल Android डिवाइस पर चलाया जा रहा है या नहीं. रिस्पॉन्स में, ज़्यादा जानकारी पाने के लिए भी ऑप्ट-इन किया जा सकता है. इसमें, हाल ही में डिवाइस से किए गए अनुरोधों की संख्या और एनवायरमेंट के बारे में सिग्नल शामिल हैं. इनमें, ऐप्लिकेशन के ऐक्सेस से जुड़े जोखिम का नतीजा और Play Protect का नतीजा भी शामिल है. अगर नतीजों में कोई गड़बड़ी है, तो आपके ऐप्लिकेशन का बैकएंड सर्वर यह तय कर सकता है कि किसी तरह के गलत इस्तेमाल, दुरुपयोग, धोखाधड़ी, बिना अनुमति वाले ऐक्सेस, और सायबर हमलों से बचाने के लिए क्या करना चाहिए.
सुरक्षा से जुड़ी बातें
Play Integrity API से जुड़ी समस्याओं के लिए सुझाए गए इन तरीकों का पालन करने पर, आपके ऐप्लिकेशन के लिए यह एपीआई सबसे ज़्यादा मददगार साबित होगा:
गलत इस्तेमाल को रोकने के लिए रणनीति बनाना
अगर Play Integrity API को सिर्फ़ गलत इस्तेमाल रोकने के एक तरीके के बजाय, गलत इस्तेमाल रोकने की रणनीति के तौर पर अन्य सिग्नल के साथ इस्तेमाल किया जाता है, तो यह एपीआई सबसे असरदार साबित होता है. अपने ऐप्लिकेशन के लिए, इस एपीआई का इस्तेमाल, सुरक्षा से जुड़ी सबसे सही कार्रवाइयों के साथ करें. डिफ़ॉल्ट रूप से, आपका ऐप्लिकेशन हर दिन सभी इंस्टॉल के लिए 10,000 अनुरोध कर सकता है. हर दिन किए जाने वाले अनुरोधों की संख्या बढ़ाने का अनुरोध किया जा सकता है.
कोई कार्रवाई करने से पहले, टेलीमेट्री इकट्ठा करना और अपनी ऑडियंस को समझना
Play Integrity API के नतीजों के आधार पर, अपने ऐप्लिकेशन के व्यवहार में बदलाव करने से पहले, एपीआई को लागू किए बिना अपनी मौजूदा ऑडियंस की मौजूदा स्थिति को समझा जा सकता है. जब आपको पता चल जाता है कि आपके मौजूदा इंस्टॉल बेस के लिए क्या नतीजे मिल रहे हैं, तो नीति उल्लंघन ठीक करने के लिए, आपके पास नीति उल्लंघन ठीक करने के लिए बनाई गई रणनीति के असर का अनुमान लगाने का विकल्प होता है. साथ ही, नीति उल्लंघन ठीक करने के लिए बनाई गई रणनीति में बदलाव भी किया जा सकता है.
यह तय करना कि पूरी सुरक्षा की जांच के नतीजे पाने का अनुरोध कैसे किया जाएगा
Play Integrity API, पूरी सुरक्षा की जांच के नतीजों के लिए अनुरोध करने और उन्हें पाने के दो विकल्प देता है. स्टैंडर्ड अनुरोध, क्लासिक अनुरोध या दोनों तरह के अनुरोध किए जाएं, इंटिग्रिटी के नतीजे का जवाब एक ही फ़ॉर्मैट में दिया जाएगा.
स्टैंडर्ड एपीआई अनुरोध, किसी भी ऐप्लिकेशन या गेम के लिए सही होते हैं. साथ ही, इन्हें मांग पर भेजा जा सकता है, ताकि यह पक्का किया जा सके कि उपयोगकर्ता की कोई भी कार्रवाई या सर्वर का अनुरोध सही है या नहीं. स्टैंडर्ड अनुरोधों में इंतज़ार का समय सबसे कम होता है. औसतन, यह कुछ सौ मिलीसेकंड होता है. साथ ही, इनसे काम का नतीजा पाने की संभावना ज़्यादा होती है. स्टैंडर्ड अनुरोध, डिवाइस पर स्मार्ट कैश मेमोरी का इस्तेमाल करते हैं. साथ ही, कुछ तरह के हमले से सुरक्षा के लिए, Google Play को अनुमति देते हैं.
क्लासिक एपीआई अनुरोध, पूरी सुरक्षा की जांच के नतीजों का अनुरोध करने का मूल तरीका है. यह अब भी उपलब्ध है. क्लासिक अनुरोधों में लैटेंसी ज़्यादा होती है (औसतन कुछ सेकंड). साथ ही, कुछ तरह के हमलों के जोखिम को कम करने की ज़िम्मेदारी आपकी होती है. स्टैंडर्ड अनुरोधों की तुलना में, क्लासिक अनुरोधों में उपयोगकर्ता के ज़्यादा डेटा और बैटरी का इस्तेमाल होता है. इसकी वजह यह है कि इन अनुरोधों से नया आकलन शुरू होता है. इसलिए, इन्हें कभी-कभी एक बार के तौर पर ही भेजा जाना चाहिए. इससे यह पता चलता है कि कोई संवेदनशील या अहम कार्रवाई सही है या नहीं. अगर आपको क्लासिक अनुरोध करना है और उसे बाद में इस्तेमाल करने के लिए कैश मेमोरी में सेव करना है, तो आपको स्टैंडर्ड अनुरोध करना चाहिए. इससे, हमले के जोखिम को कम किया जा सकता है.
यहां दी गई टेबल में, दोनों तरह के अनुरोधों के बीच के कुछ मुख्य अंतर हाइलाइट किए गए हैं:
स्टैंडर्ड एपीआई अनुरोध | क्लासिक एपीआई अनुरोध | |
---|---|---|
Android SDK टूल का कम से कम वर्शन | Android 5.0 (एपीआई लेवल 21) या इसके बाद का वर्शन | Android 4.4 (एपीआई लेवल 19) या इसके बाद का वर्शन |
एपीआई को वॉर्म अप करना ज़रूरी है | ✔️ (कुछ सेकंड) | ❌ |
अनुरोध पूरा होने में लगने वाला सामान्य समय | कुछ सौ मिलीसेकंड | कुछ सेकंड |
अनुरोध की संभावित फ़्रीक्वेंसी | बार-बार (किसी भी कार्रवाई या अनुरोध के लिए, मांग पर जांच) | कभी-कभी (ज़्यादा वैल्यू वाली कार्रवाइयों या सबसे संवेदनशील अनुरोधों के लिए एक बार की जाने वाली जांच) |
जवाबी और मिलते-जुलते हमलों से बचाव करना | Google Play की ओर से अपने-आप समस्या हल होना | सर्वर साइड लॉजिक के साथ nonce फ़ील्ड का इस्तेमाल करना |
क्लासिक अनुरोध से जुड़ी बातों में, ज़्यादा अंतर वाली टेबल देखी जा सकती है.
सही समय पर पूरी सुरक्षा की जांच का नतीजा पाने का अनुरोध करना
आपको ऐप्लिकेशन के ऐक्सेस से जुड़े जोखिम के फ़ैसले का अनुरोध, कार्रवाई या सर्वर के उस अनुरोध के समय के आस-पास करना चाहिए जिसे आपको ऐक्सेस किए जाने से बचाना है. इससे धोखाधड़ी करने वाले लोगों को, आपके ऐप्लिकेशन की पूरी सुरक्षा की जांच को गच्चा देने से रोका जा सकता है.
अपने एपीआई अनुरोधों को दोहराना मुश्किल बनाएं
स्टैंडर्ड एपीआई अनुरोधों में requestHash
नाम का एक फ़ील्ड होता है. इसका इस्तेमाल, डेटा में बदलाव करने और इसी तरह के हमलों से बचाने के लिए किया जाता है. इस फ़ील्ड में, आपको अपने ऐप्लिकेशन के अनुरोध की सभी काम की वैल्यू का डाइजेस्ट शामिल करना चाहिए. अपने ऐप्लिकेशन के स्टैंडर्ड अनुरोधों को सुरक्षित रखने के लिए, कॉन्टेंट बाइंडिंग का इस्तेमाल करने का तरीका जानें.
क्लासिक एपीआई अनुरोधों में nonce
(एक बार के लिए नंबर) नाम का एक फ़ील्ड होता है. इसका इस्तेमाल, कुछ तरह के हमलों से बचाने के लिए किया जाता है. जैसे, फिर से चलाए जाने वाले और डेटा में बदलाव करने वाले हमले. अपने ऐप्लिकेशन के क्लासिक अनुरोधों को सुरक्षित रखने के लिए, नॉन्स जनरेट करने का तरीका जानें.
इंटिग्रिटी की जांच के नतीजों को कैश मेमोरी में सेव करने से बचना
पूरी सुरक्षा की जांच के नतीजों को कैश मेमोरी में सेव करने से, प्रॉक्सी का खतरा बढ़ जाता है. यह एक तरह का हमला है, जिसमें कोई नुकसान पहुंचाने वाला व्यक्ति, किसी अच्छे डिवाइस से मिले नतीजे का फिर से इस्तेमाल करके, किसी दूसरे प्लैटफ़ॉर्म पर गलत काम करता है. रिस्पॉन्स को कैश मेमोरी में सेव करने के बजाय, स्टैंडर्ड एपीआई अनुरोध किया जा सकता है, ताकि मांग पर नतीजा मिल सके.
नीति उल्लंघन ठीक करने के लिए अलग-अलग लेवल की रणनीति हो
Play Integrity API की सुरक्षा जांच से कई अलग-अलग नतीजे मिलते हैं. इससे हर एक नतीजे के हिसाब से, गलत इस्तेमाल को रोकने की अलग-अलग रणनीतियां बनाई जा सकती हैं और उन्हें लागू करने के कई तरीके सेट किए जा सकते हैं. ऐसा करने के लिए, अपने ऐप्लिकेशन के बैकएंड सर्वर को कॉन्फ़िगर करें, ताकि वह हर संभावित जवाब या जवाबों के ग्रुप के हिसाब से अलग-अलग तरीके से काम कर सके.
Play Console से मिलने वाले एपीआई रिस्पॉन्स में डिवाइस के लिए अतिरिक्त लेबल पाने के लिए ऑप्ट-इन करके, डिवाइस के भरोसेमंद होने के आधार पर, नीति उल्लंघन ठीक करने की रणनीति को अलग-अलग लेवल पर लागू किया जा सकता है. हर डिवाइस, उन सभी लेबल को दिखाएगा जिनकी शर्तें वह पूरी करता है. उदाहरण के लिए, सभी डिवाइस लेबल पाने के लिए ऑप्ट-इन करने के बाद, आपके पास उस डिवाइस पर भरोसा करने का विकल्प होता है जो सिर्फ़ MEETS_BASIC_INTEGRITY
के बजाय MEETS_STRONG_INTEGRITY
, MEETS_DEVICE_INTEGRITY
, और MEETS_BASIC_INTEGRITY
दिखाता है. हर स्थिति में, सर्वर से अलग जवाब दिया जा सकता है.
अपने सर्वर से अपने ऐप्लिकेशन पर कई तरह के जवाब भेजना
हर जवाब के लिए, सर्वर से ऐप्लिकेशन पर अनुमति/अस्वीकार करने वाला बाइनरी रिस्पॉन्स भेजने के मुकाबले, फ़ैसले के कई नतीजे दिखाना मुश्किल है. उदाहरण के लिए, मिलते-जुलते जवाबों की सीरीज़ का इस्तेमाल किया जा सकता है. जैसे, अनुमति दें, सीमाओं के साथ अनुमति दें, कैप्चा पूरा करने के बाद सीमाओं के साथ अनुमति दें, और अनुमति न दें.
डिवाइस पर हाल ही में की गई गतिविधि का इस्तेमाल करके, बड़े पैमाने पर गलत इस्तेमाल का पता लगाना
Play Integrity API में डिवाइस की हाल की गतिविधि सुविधा का इस्तेमाल करके, ऐसे डिवाइसों का पता लगाएं जो बड़ी संख्या में इंटिग्रिटी टोकन का अनुरोध कर रहे हैं. ज़्यादा गतिविधि करने वाले लोग, आम तौर पर असली डिवाइसों से पुष्टि करने के मान्य नतीजे जनरेट करते हैं. साथ ही, ये नतीजे बॉट को देते हैं, ताकि रूट किए गए डिवाइसों और एमुलेटर पर अपने-आप हमले किए जा सकें. डिवाइस पर हाल ही की गतिविधि के लेवल का इस्तेमाल करके, यह देखा जा सकता है कि आपके ऐप्लिकेशन ने पिछले एक घंटे में उस डिवाइस पर कितने पुष्टि करने वाले कोड जनरेट किए.
गड़बड़ी के ऐसे मैसेज दिखाना जिन पर कार्रवाई की जा सकती है
जब भी मुमकिन हो, तब उपयोगकर्ताओं को गड़बड़ी के काम के मैसेज भेजें और उन्हें बताएं कि इन्हें ठीक करने के लिए वे क्या कर सकते हैं. जैसे, फिर से कोशिश करना, इंटरनेट कनेक्शन चालू करना या यह देखना कि Play Store ऐप्लिकेशन अप-टू-डेट है या नहीं.
अचानक आने वाली समस्याओं या रुकावटों के लिए प्लान बनाना
Play के स्टेटस डैशबोर्ड पर, Play Integrity API की सेवा के स्टेटस के साथ-साथ, किसी भी तरह की रुकावट और सेवा के कुछ समय के लिए उपलब्ध न होने की जानकारी दिखती है. आपको पहले से ही यह तय कर लेना चाहिए कि अगर Play Integrity API के बड़े पैमाने पर बंद होने की संभावना है, तो आपका बैकएंड सर्वर किस तरह से काम करे. ध्यान दें कि आपका बैकएंड सर्वर, डिवाइसों के लिए बनी Android Platform Key Attestation की रद्द होने की स्थिति में भी काम करने के लिए तैयार होना चाहिए.
एंटरप्राइज़ के लिए, धोखाधड़ी से जुड़ी समस्याओं को पूरी तरह से हल करने वाले समाधानों का इस्तेमाल करें
धोखाधड़ी और बॉट मैनेजमेंट का पूरा समाधान पाने के लिए, एंटरप्राइज़ ग्राहक मोबाइल के लिए reCAPTCHA Enterprise खरीद सकते हैं. इसमें Android के लिए SDK शामिल हैं, जो डेवलपर को धोखाधड़ी के जोखिम के स्कोर देते हैं. reCAPTCHA Enterprise में, Play Integrity API सिग्नल अपने-आप शामिल हो जाते हैं. साथ ही, ग्राहकों के लिए, reCAPTCHA नेटवर्क और ऐप्लिकेशन सिग्नल के साथ उन्हें जोड़ दिया जाता है. इससे, धोखाधड़ी को मैनेज करने का आसान और बेहतर समाधान मिलता है. यह उन Android ऐप्लिकेशन को भी सुरक्षा दे सकता है जिनमें Play Integrity API उपलब्ध नहीं है.
ज़्यादा अहमियत वाली या संवेदनशील सुविधाओं को ऐक्सेस करते समय, खतरनाक ट्रैफ़िक को चुनौती देना
अपने ऐप्लिकेशन या गेम में, अहम या संवेदनशील कार्रवाइयों की पहचान करें, ताकि आप Play Integrity API का इस्तेमाल करके उन्हें सुरक्षित रख सकें. जब भी हो सके, ज़्यादा वैल्यू वाली कार्रवाइयों को आगे बढ़ने से पहले, जोखिम वाले ट्रैफ़िक को चुनौती दें. उदाहरण के लिए, जब ऐप्लिकेशन को ऐक्सेस करने से जुड़े जोखिम की सूचना से पता चलता है कि कोई ऐप्लिकेशन चल रहा है, जो स्क्रीन कैप्चर कर सकता है, तो उपयोगकर्ता को स्क्रीन कैप्चर करने वाले ऐप्लिकेशन बंद करने या अनइंस्टॉल करने के लिए कहें. इसके बाद ही, उपयोगकर्ता को उस सुविधा का इस्तेमाल करने की अनुमति दें जिसे आपको सुरक्षित रखना है.
सेवा की शर्तें और डेटा की सुरक्षा
Play Integrity API को ऐक्सेस या इस्तेमाल करने का मतलब है कि आप Play Integrity API की सेवा की शर्तों से सहमत हैं. एपीआई को ऐक्सेस करने से पहले, कृपया इस पर लागू होने वाली सभी शर्तों और नीतियों को पढ़कर समझ लें.
Google Play पर डेटा की सुरक्षा वाला सेक्शन होता है. इसमें डेवलपर, अपने ऐप्लिकेशन के डेटा इकट्ठा करने, उसे शेयर करने, और उसकी सुरक्षा के तरीकों के बारे में जानकारी देते हैं, ताकि उपयोगकर्ताओं को इसकी जानकारी मिल सके. डेटा फ़ॉर्म भरने में आपकी मदद करने के लिए, Play Integrity API, डेटा को कैसे मैनेज करता है, इस बारे में यह जानकारी देखें.