Play Integrity API के बारे में खास जानकारी

Play Integrity API की मदद से यह पता किया जा सकता है कि उपयोगकर्ता की कार्रवाइयां और सर्वर के अनुरोध, आपके ऐप्लिकेशन से हो रहे हैं या नहीं. साथ ही, यह पता किया जा सकता है कि ऐप्लिकेशन Google Play से इंस्टॉल किया गया है या नहीं और उसे सही Android डिवाइस पर चलाया जा रहा है या नहीं. जोखिम भरे इंटरैक्शन का पता लगाकर, आपके बैकएंड सर्वर पर सही कार्रवाइयां की जा सकती हैं. जैसे, ऐप्लिकेशन के बदले गए वर्शन, गैर-भरोसेमंद डिवाइसों या एमुलेट किए गए एनवायरमेंट से होने वाले इंटरैक्शन का पता लगाना. इससे, ऐप्लिकेशन के गलत इस्तेमाल और बिना अनुमति के ऐक्सेस को रोका जा सकता है. साथ ही, धोखाधड़ी और धोखाधड़ी करने वालों से बचा जा सकता है. इसके अलावा, उपयोगकर्ताओं को सायबर हमलों से बचाया जा सकता है.

Play Integrity API के बारे में खास जानकारी
फ़्लो

API ऐसे नतीजे दिखाता है जिनसे आपको संभावित खतरों का पता लगाने में मदद मिलती है. इनमें ये शामिल हैं:

  • बिना अनुमति के ऐक्सेस: accountDetails फ़ैसले से आपको यह तय करने में मदद मिलती है कि उपयोगकर्ता ने Google Play पर आपके ऐप्लिकेशन या गेम को इंस्टॉल किया है या उसके लिए पैसे चुकाए हैं.
  • कोड में छेड़छाड़: appIntegrity के नतीजे से आपको यह तय करने में मदद मिलती है कि आपका इंटरैक्शन, उस असल बाइनरी से हो रहा है या नहीं जिसे Google Play ने मंज़ूरी दी है.
  • जोखिम भरे डिवाइस और एमुलेट किए गए प्लैटफ़ॉर्म: deviceIntegrity के नतीजे से आपको यह पता चलता है कि आपका ऐप्लिकेशन, Play Protect से सर्टिफ़ाइड किसी भरोसेमंद Android डिवाइस पर चल रहा है या नहीं. इससे यह भी पता चलता है कि आपका ऐप्लिकेशन किसी ऐसे पीसी पर चल रहा है या नहीं जिस पर Google Play Games काम करता है.

Google Play के डेवलपर, ज़्यादा संभावित खतरों का पता लगाने के लिए, अन्य नतीजे पाने के लिए भी ऑप्ट-इन कर सकते हैं. इनमें ये शामिल हैं:

  • जिन डिवाइसों पर पैच नहीं लगा है: deviceIntegrity नतीजे में दिए गए MEETS_STRONG_INTEGRITY जवाब से यह पता चलता है कि किसी डिवाइस पर हाल ही में किए गए सुरक्षा अपडेट लागू किए गए हैं या नहीं. यह जानकारी, Android 13 और इसके बाद के वर्शन पर काम करने वाले डिवाइसों के लिए उपलब्ध है.
  • दूसरे ऐप्लिकेशन का जोखिम भरा ऐक्सेस: appAccessRiskVerdict की मदद से, यह पता लगाया जा सकता है कि आपके डिवाइस में ऐसे ऐप्लिकेशन चल रहे हैं या नहीं जिनका इस्तेमाल स्क्रीन कैप्चर करने, ओवरले दिखाने या डिवाइस को कंट्रोल करने के लिए किया जा सकता है. उदाहरण के लिए, ऐक्सेसibililty की अनुमति का गलत इस्तेमाल करके.
  • पहले से मौजूद मैलवेयर: playProtectVerdict से आपको यह पता चलता है कि डिवाइस में Google Play Protect की सुविधा चालू है या नहीं और क्या उसे डिवाइस पर जोखिम भरे या खतरनाक ऐप्लिकेशन मिले हैं.
  • ज़्यादा गतिविधि: recentDeviceActivity लेवल से यह पता चलता है कि किसी डिवाइस ने हाल ही में बहुत ज़्यादा अनुरोध किए हैं या नहीं. इससे ऑटोमेटेड ट्रैफ़िक का पता चल सकता है. साथ ही, यह हमले का संकेत भी हो सकता है.
  • ऐप्लिकेशन का बार-बार गलत इस्तेमाल करने वाले और फिर से इस्तेमाल किए गए डिवाइस: deviceRecall (बीटा वर्शन) की मदद से, यह पता लगाया जा सकता है कि आपका इंटरैक्शन ऐसे डिवाइस से हो रहा है जिसे आपने पहले फ़्लैग किया था या नहीं. भले ही, आपने ऐप्लिकेशन को फिर से इंस्टॉल किया हो या डिवाइस को रीसेट किया हो.

इस एपीआई का इस्तेमाल, Android डिवाइसों के अलग-अलग साइज़, डाइमेंशन या कॉन्फ़िगरेशन के लिए किया जा सकता है. जैसे, फ़ोन, टैबलेट, फ़ोल्ड किए जा सकने वाले डिवाइस, Android Auto, Android TV, Android XR, ChromeOS, Wear OS, और पीसी के लिए Google Play Games.

सुरक्षा से जुड़ी बातें

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 दिखाता है. हर स्थिति में, सर्वर से अलग जवाब दिया जा सकता है.

अपने सर्वर से अपने ऐप्लिकेशन पर कई तरह के जवाब भेजना

हर जवाब के लिए, सर्वर से ऐप्लिकेशन पर अनुमति/अस्वीकार करने वाला बाइनरी रिस्पॉन्स भेजने के मुकाबले, फ़ैसले के अलग-अलग नतीजों को दोहराना मुश्किल होता है. उदाहरण के लिए, मिलते-जुलते जवाबों की सीरीज़ का इस्तेमाल किया जा सकता है. जैसे, अनुमति दें, सीमाओं के साथ अनुमति दें, कैप्चा पूरा करने के बाद सीमाओं के साथ अनुमति दें, और अनुमति न दें.

डिवाइस रीकॉल की सुविधा का इस्तेमाल करके, बार-बार होने वाले गलत इस्तेमाल का पता लगाना. साथ ही, उपयोगकर्ता की निजता को बनाए रखना

डिवाइस रीकॉल की मदद से, ऐप्लिकेशन किसी डिवाइस से जुड़े कस्टम डेटा को सेव करके उसे वापस ला सकते हैं. इसमें उपयोगकर्ता की निजता सुरक्षित रहती है. इस डेटा को Google के सर्वर पर सेव रखा जाता है. इससे ऐप्लिकेशन के फिर से इंस्टॉल होने या डिवाइस रीसेट हो जाने के बाद भी डिवाइसों का डेटा आसानी से वापस लाया जा सकता है. इससे आपको किसी ऐसे डिवाइस की फिर से पहचान करने का भरोसेमंद तरीका मिलता है जिसका इस्तेमाल आपके ऐप्लिकेशन के गलत इस्तेमाल के लिए किया गया है. इससे, आपके पास उस डिवाइस के ख़िलाफ़ कार्रवाई करने और उसे फिर से गलत इस्तेमाल के लिए इस्तेमाल होने से रोकने का विकल्प होता है. डिवाइस वापस लेने के डेटा में शामिल तीन वैल्यू के लिए, अपनी पसंद के हिसाब से मतलब तय किया जा सकता है:

  • इनका इस्तेमाल, ज़्यादा से ज़्यादा तीन अलग-अलग फ़्लैग या बूलियन के तौर पर किया जा सकता है. उदाहरण के लिए, वैल्यू से पता चल सकता है कि किसी डिवाइस पर खाता बनाया गया है या नहीं, मुफ़्त में आज़माने की सुविधा रिडीम की गई है या नहीं या बुरे बर्ताव की गंभीरता के बारे में पता चल सकता है.
  • इसके अलावा, वैल्यू की सभी स्थितियों को ज़्यादा से ज़्यादा आठ कस्टम लेबल में जोड़ा जा सकता है. उदाहरण के लिए, जब तीनों वैल्यू में कोई बदलाव न किया गया हो, तो डिफ़ॉल्ट स्थिति के लिए एक लेबल और कस्टम मतलब वाले सात लेबल. इसकी मदद से, सभी डिवाइसों को आठ ग्रुप में बांटा जा सकता है. ऐसा, आपके तय किए गए व्यवहार या कार्रवाइयों के आधार पर किया जाता है. इस स्थिति में, तीन writeDates में से सबसे हाल ही में अपडेट किया गया writeDates, यह दिखाता है कि आपने आखिरी बार लेबल कब अपडेट किया था.

डिवाइस वापस लेने के डेटा के साथ काम करते समय, ज़रूरी शर्तों और अन्य बातों का भी ध्यान रखें.

डिवाइस पर हाल ही में की गई गतिविधि का इस्तेमाल करके, बड़े पैमाने पर गलत इस्तेमाल का पता लगाना

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, डेटा को कैसे मैनेज करता है, इस बारे में यह जानकारी देखें.