टूल और परफ़ॉर्मेंस

एजेंटिक एआई के दौर में ऐप्लिकेशन की सुरक्षा

स्पीकर

  • क्रिस्टन ओ'लियरी

    सीनियर डेवलपर रिलेशंस इंजीनियर

  • Sabs

    डेवलपर रिलेशंस इंजीनियर

इसके बारे में

बातचीत के बारे में जानकारी

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

खास जानकारी

  • जेनरिक एआई एजेंट, ऑडिट के दौरान अहम जानकारी को शामिल नहीं करते. हालांकि, Android की सुरक्षा से जुड़ी स्किल, रिसर्चर की मदद से तैयार की गई गाइड उपलब्ध कराती हैं. ये इंटेंट की सुरक्षा की जांच करते हैं और प्रोजेक्ट के हिसाब से बिल्ड कॉन्फ़िगरेशन का इस्तेमाल करके, अनुमतियां लागू करते हैं.
  • Play की नीति से जुड़ी स्किल, सबमिट करने से पहले स्टैटिक विश्लेषण करती है, ताकि नीति का पालन न करने से जुड़ी समस्याओं का पता लगाया जा सके. यह कोड के विश्लेषण को Play Store पर मौजूद एलान से क्रॉस-रेफ़रंस कर सकता है.
  • Play Integrity API, रनटाइम के दौरान ऐप्लिकेशन और डिवाइस की सुरक्षा की जांच करता है. 'Protected with Play' डैशबोर्ड, इंटिग्रिटी और डिस्ट्रिब्यूशन की निगरानी करने की सुविधा को एक ही जगह पर उपलब्ध कराता है.
  • टारगेट किए गए एपीआई की मदद से, ऐप्लिकेशन ज़्यादा अनुमतियों का अनुरोध किए बिना, उपयोगकर्ता की निजता को सुरक्षित रख सकते हैं. उदाहरण के लिए, SMS Retriever API और लोकेशन बटन की लाइब्रेरी का ऐल्फ़ा वर्शन.

कौशल

संसाधन

Gemini Notebook

विषय

  • app-security
  • एआई-एजेंट
  • play-integrity-api
  • अनुमतियां
  • लोकेशन-बटन
  • advanced-protection-mode

ट्रांसक्रिप्ट

ट्रांसक्रिप्ट डाउनलोड करें

परिचय

  • नमस्ते, मैं क्रिस्टन हूँ.

  • नमस्ते, मैं Sabs हूँ.

  • आज हम यहां एजेंटिक एरा में सुरक्षा के बारे में बात करने के लिए मौजूद हैं.

  • पिछले साल, हमने Android Bug Hunters प्रोग्राम के लिए 20 लाख डॉलर से ज़्यादा और मोबाइल के लिए दो लाख डॉलर से ज़्यादा के इनाम दिए.

  • एजेंटिक एआई के इस दौर में, ऐप्लिकेशन की सुरक्षा लगातार बेहतर हो रही है.

  • इसलिए, आइए उन टूल के बारे में बात करते हैं जो इन समस्याओं को जल्दी और असरदार तरीके से हल करने में हमारी मदद करते हैं.

  • Android की सुरक्षा के लिए एजेंट की परफ़ॉर्मेंस को बेहतर बनाने के लिए, बेहतर प्रॉम्प्ट देना ही काफ़ी नहीं है.

  • इसमें ऐसे टूल और वर्कफ़्लो शामिल हैं जो एजेंट को हमारे टूलचेन और एपीआई को समझने में मदद करते हैं. इससे आपके ऐप्लिकेशन को सुरक्षित रखने में मदद मिलती है.

  • तो, शाम के 4:30 बजे हैं.

  • गुरुवार को.

  • मान लें कि आपको कोई रिलीज़ तैयार करनी है और सीआई (CI) में लाल रंग का निशान दिखता है. साथ ही, सिर्फ़ एक गड़बड़ी दिखती है: एक्सपोर्ट फ़्लैग के बिना रजिस्टर किया गया ब्रॉडकास्ट रिसीवर.

  • चाहे आपकी टीम छोटी हो और आपको हर काम खुद करना पड़ता हो या आपकी टीम बड़ी हो और रिलीज़ के समय सुरक्षा जांच की ज़रूरत पड़ती हो, दोनों ही मामलों में असलियत एक जैसी होती है.

  • हम प्रॉडक्ट इंजीनियर हैं और अच्छी क्वालिटी की सुविधाएं तेज़ी से उपलब्ध कराते हैं. हालांकि, हम सुरक्षा से जुड़े रिसर्चर नहीं हैं.

  • तो, स्वाभाविक प्रवृत्ति क्या है?

  • इसलिए, हम उस चेतावनी को एजेंटिक टूल को देते हैं और एजेंट से उसे ठीक करने के लिए कहते हैं.

एआई एजेंट के सुरक्षा ऑडिट के लिए कॉन्टेक्स्ट की सीमाएं

  • हालांकि, एजेंटिक टूल आपके प्रोजेक्ट के कॉन्टेक्स्ट के बिना काम करता है. इसलिए, इसमें तीन ब्लाइंड स्पॉट होते हैं.

  • ऐसा हो सकता है कि उसे यह न पता हो कि आपका ऐप्लिकेशन, डाइनैमिक फ़ीचर मॉड्यूल या मल्टी-APK बंडल से बना है.

  • यह एक फ़ाइल देखता है, न कि शिप किया गया आर्टफ़ैक्ट.

  • ऐसा हो सकता है कि यह आपके Kotlin यूज़र इंटरफ़ेस (यूआई) से लेकर, नेटिव C++ जेएनआई कॉल में आपके केएमपी के शेयर किए गए लॉजिक तक के डेटा फ़्लो को ट्रेस न कर पाए.

  • यह सिर्फ़ एक लेयर को देखता है.

  • इसके अलावा, हो सकता है कि इसे आपके एसडीके के कम से कम वर्शन या Gradle बिल्ड फ़्लेवर के बारे में जानकारी न हो.

  • इसलिए, हमने एक एजेंट को ऐप्लिकेशन दिखाया और सुरक्षा ऑडिट करने के लिए कहा.

  • छह नतीजे मिले.

  • यहां एक बात और है.

  • उनमें से हर एक व्यक्ति गलत नहीं है.

  • इनमें से सिर्फ़ एक बग वह है जिससे हमने शुरुआत की थी.

  • बाकी सुझावों में, सबसे सही तरीके, ज़्यादा जांच करने वाली चीज़ें, अनुमान, और ऐसी चीज़ें शामिल हैं जो शायद लागू भी न हों.

  • इसलिए, अब इसे ज़्यादा चेतावनियों के साथ असल कोड बेस में स्केल किया जा सकता है. साथ ही, हर पुल के अनुरोध में, आपको लिंट को दबाने की कोशिश करनी होगी.

  • आपको उस बदलाव को मर्ज करने का मौका मिलेगा या हो सकता है कि आप किसी जोखिम को पूरी तरह से अनदेखा कर दें.

  • इस तरह, असल कमज़ोरियां पकड़ में नहीं आतीं.

  • टूल ने लापरवाही नहीं की, बल्कि सावधानी बरती. हालांकि, सावधानी बरतने का मतलब यह नहीं है कि टूल मददगार है.

  • आइए, इसे और बेहतर तरीके से समझते हैं.

  • मान लें कि आपने अपने एजेंट से कहा, "ऐप्लिकेशन इंटेंट रीडायरेक्शन के लिए, इस ऐप्लिकेशन में एक्सपोर्ट किए गए हर कॉम्पोनेंट की जांच करो."

  • यह सुरक्षा से जुड़ा एक ज़रूरी टास्क है. साथ ही, कई मॉड्यूल वाले ऐप्लिकेशन के लिए यह एक बड़ा टास्क है.

  • इस तरह के अनुरोधों के लिए, लागत दिखती है.

  • Android से जुड़े खास दिशा-निर्देशों के बिना, एजेंट के पास उस सवाल का जवाब देने के लिए कोई रणनीति नहीं होती.

  • इसलिए, यह ब्रूट फ़ोर्स का इस्तेमाल करता है.

  • यह उन मॉड्यूल को पढ़ सकता है जो कुछ भी एक्सपोर्ट नहीं करते.

  • यह पहले सिद्धांत से फिर से पता लगा सकता है कि इंटेंट रीडायरेक्ट का गलत इस्तेमाल कैसे किया जा सकता है.

  • यह उन रास्तों पर जा सकता है जहां पहले कभी नहीं पहुंचा जा सका.

  • आपसे एक्सप्लोरेशन के लिए शुल्क लिया जा रहा है, न कि विश्लेषण के लिए.

  • स्किल, वह रणनीति है जो आपके पास नहीं है.

  • उदाहरण के लिए, Android की सुरक्षा से जुड़ी स्किल, आपके एजेंट को मौजूदा दिशा-निर्देशों के मुताबिक निर्देश देती हैं. ये निर्देश उसी क्रम में होते हैं जिस क्रम में सुरक्षा से जुड़े शोधकर्ता असल में काम करते हैं. इससे एजेंट को अनुमान लगाने की ज़रूरत नहीं पड़ती.

  • यह नियमों को फिर से नहीं खोजता, क्योंकि नियम स्किल से मिले थे.

एजेंट के लिए Android की सुरक्षा से जुड़ी स्किल

  • फ़िलहाल, हमने सुरक्षा से जुड़ी दो स्किल लॉन्च की हैं: इंटेंट सिक्योरिटी और अनुमतियां.

  • इंटेंट सिक्योरिटी का मतलब है कि अन्य ऐप्लिकेशन आपके ऐप्लिकेशन से क्या-क्या करवा सकते हैं.

  • आपके ऐप्लिकेशन के पास अनुमतियां और साइन-इन सेशन है, जो उनके पास नहीं है.

  • इसलिए, एक्सपोर्ट किया गया हर कॉम्पोनेंट और हर पेंडिंग इंटेंट, किसी व्यक्ति के लिए आपके ज़रिए कार्रवाई करने का एक संभावित तरीका है.

  • यह स्किल, इस तरह की धोखाधड़ी से बचने में मदद करती है.

  • अनुमतियों से जुड़ी स्किल की मदद से, एलान की गई अनुमति और असल में लागू की गई अनुमति के बीच के अंतर को कम किया जा सकता है.

  • इससे आपको अनुमतियों की जांच करने के लिए सही कोड लिखने में मदद मिल सकती है.

  • इससे यह पता लगाने में मदद मिलती है कि वाइल्ड कार्ड पाथ वाला कोई प्रोवाइडर, एक डायरेक्ट्री के बजाय पूरे डेटाबेस का ऐक्सेस देता है या नहीं.

  • यह उन ऐप्लिकेशन को भी पकड़ता है जो ज़रूरत से ज़्यादा अनुमतियां मांगते हैं.

  • उदाहरण के लिए, जहां फ़ोटो पिकर से काम चल सकता है वहां सभी फ़ाइलों के ऐक्सेस का अनुरोध करना.

  • Android का सीएलआई के साथ इसका इस्तेमाल करें. इसके बाद, "इंटेंट की सुरक्षा के लिए ऑडिट करें" कहें.

  • कोई कॉन्फ़िगरेशन उपलब्ध नहीं है.

  • नियमों में कोई बदलाव नहीं किया गया.

  • इसलिए, आउटपुट में चेतावनियों की भरमार नहीं होती.

  • यह एक समीक्षा है.

  • यहां एक गड़बड़ी है, यहां बताया गया है कि यह आपके ऐप्लिकेशन के लिए क्यों मायने रखती है, और यहां इसे ठीक करने का तरीका बताया गया है.

  • पेश है एक पेशेवर सलाह.

  • Android का सीएलआई इस्तेमाल करके, इसे आसानी से ढूंढा और इंस्टॉल किया जा सकता है.

    android skills list
    android skills add android-intent-security
    android skills add android-permissions-security
  • साथ ही, स्किल को यह पता होता है कि आपके प्रोजेक्ट में क्या देखना है. इसलिए, यह आपके ऐप्लिकेशन को उसी तरह देखता है जिस तरह वह असल में शिप होता है.

  • यह आपके एसडीके के कम से कम वर्शन का ध्यान रखता है, ताकि गड़बड़ी को ठीक करने वाला कोड कंपाइल हो सके. साथ ही, यह फ़ाइल के असल पाथ और लाइन नंबर का भी ध्यान रखता है.

  • आपको समीक्षा के बाद यह जवाब मिलेगा.

  • यह सटीक फ़ाइल और लाइन की जानकारी देता है. साथ ही, असल खतरे के बारे में बताता है और बदलाव की वजह बताता है. यह सिर्फ़ Lint की सलाह नहीं देता.

  • यह बताता है कि उसने किस स्किल का इस्तेमाल किया.

  • इसने बिल्ड कॉन्फ़िगरेशन को पढ़ा, एसडीके का कम से कम वर्शन 26 देखा, और ContextCompat को चुना, ताकि गड़बड़ी ठीक हो सके. साथ ही, इसने आपको एक डिफ़ दिया, ताकि आप उसे लागू कर सकें.

  • यह वही चेतावनी है जो हमने पहले देखी थी. हालांकि, अब इसमें समस्या को ठीक करने का सुझाव और ज़्यादा जानकारी दी गई है.

Google Play की नीति से जुड़ी अहम जानकारी पाने की सुविधा

  • इसलिए, पहले बताई गई स्किल से सुरक्षा से जुड़ी गड़बड़ियों का पता चलता है.

  • चलिए, अब एक और विषय पर बात करते हैं. यह विषय है, ऐप्लिकेशन की नीति का पालन करना.

  • उदाहरण के लिए, मान लें कि आप एक नए ऐप्लिकेशन डेवलपर हैं और आपको Play Store पर अपना ऐप्लिकेशन लॉन्च करना है.

  • ऐप्लिकेशन लॉन्च करने के लिए, डेटा सुरक्षा फ़ॉर्म भरना एक ज़रूरी कदम है. इसलिए, ऐप्लिकेशन सबमिट करने से पहले, हर टूल का इस्तेमाल करके यह पक्का करें कि फ़ॉर्म सही तरीके से भरा गया हो.

  • Play की नीति से जुड़ी स्किल, आपके कोड बेस का स्टैटिक विश्लेषण करती है.

  • अगर Play Store पर पहले से मौजूद किसी ऐप्लिकेशन को पब्लिश किया जा रहा है, तो स्टैटिक कोड के विश्लेषण को Play Store के एलान के साथ क्रॉस-रेफ़रंस भी किया जा सकता है.

  • इस स्किल को इस्तेमाल करने से, आपको ऐप्लिकेशन सबमिट करने से पहले ही, Play की नीति से जुड़ी संभावित समस्याओं का पता लगाने में मदद मिल सकती है. इससे, ऐप्लिकेशन सबमिट करने की प्रोसेस को तेज़ करने में मदद मिलती है.

  • इसका वर्कफ़्लो, उन अन्य स्किल की तरह ही है जिनके बारे में हमने चर्चा की है: इसे इंपोर्ट करें और फिर कहें, "इस ऐप्लिकेशन को सबमिट करने से पहले, Google Play की नीति के पालन की जांच करें."

  • आपको दाईं ओर, रिपोर्ट के उदाहरण का स्क्रीनशॉट दिखेगा. साथ ही, इसे इंस्टॉल करने के लिए Android का सीएलआई कमांड नीचे दिखेंगे.

    android skills list
    android skills add play-policy-insights

Play Integrity API की मदद से, रनटाइम के दौरान सुरक्षा

  • इसलिए, हमने अब तक जो भी बात की है वह शिप करने से पहले होती है: इंटेंट की जांच करना, अनुमतियों की जांच करना, और अनुपालन की पुष्टि करना.

  • यह बिल्ड टाइम सिक्योरिटी है और यह ज़रूरी है.

  • हालांकि, कुछ खतरे ऐसे होते हैं जो आपके APK के रिलीज़ होने के बाद ही सामने आते हैं. ये खतरे उन डिवाइसों पर मौजूद होते हैं जिन्हें शायद आप कंट्रोल न कर पाएं.

  • Play Integrity API, रन टाइम के दौरान ऐसे तीन सवालों के जवाब देता है जिनके जवाब आपका कोड खुद नहीं दे सकता: क्या यह आपके ऐप्लिकेशन का असली और बिना बदलाव वाला बिल्ड है?

  • क्या यह किसी असली Android डिवाइस पर चल रहा है?

  • क्या यह Play उपयोगकर्ता खाता है?

  • इसलिए, Play Integrity API का इस्तेमाल करके, ऐप्लिकेशन इंटेग्रिटी, डिवाइस इंटेग्रिटी वगैरह के बारे में नतीजे पाए जा सकते हैं.

  • हम आपके ऐप्लिकेशन को सुरक्षित तरीके से पब्लिश करने की प्रोसेस को तेज़ और आसान बनाने के साथ-साथ, आपके ऐप्लिकेशन के रेवेन्यू और प्रतिष्ठा को सुरक्षित रखने की प्रोसेस को भी आसान बना रहे हैं.

  • इसलिए, अपने कारोबार को धोखाधड़ी और गलत इस्तेमाल से बचाएं.

  • 'Google Play की सुरक्षा सुविधाएं लागू' डैशबोर्ड पर, आपको ऐप्लिकेशन की इंटेग्रिटी, डिस्ट्रिब्यूशन, और कमाई करने से जुड़ी सुरक्षा सुविधाओं को एक ही जगह पर मॉनिटर और कॉन्फ़िगर करने का विकल्प मिलता है.

  • हम Play Integrity API के लिए, वॉर्म अप लेटेंसी को भी कम कर रहे हैं. इससे, क्रिटिकल यूज़र जर्नी के दौरान इन जांचों का इस्तेमाल किया जा सकेगा, ताकि खतरों और जोखिम भरे डिवाइसों को तेज़ी से ब्लॉक किया जा सके.

  • हमने Android की उन सुविधाओं और टूल के बारे में बात की है जो ऐप्लिकेशन को सुरक्षित रखने में मदद करते हैं. हालांकि, आपके उपयोगकर्ताओं का क्या?

एसएमएस से ओटीपी की सुरक्षा करने वाले एपीआई

  • सबसे पहले, एसएमएस ओटीपी से सुरक्षा की सुविधा के बारे में जानते हैं.

  • मान लें कि आपको अपने ऐप्लिकेशन के लिए, एसएमएस के ज़रिए उपयोगकर्ता की पुष्टि करने की सुविधा लागू करनी है और पुष्टि करने के लिए कोड भेजने हैं.

  • एसएमएस की अनुमति देने पर, ऐप्लिकेशन को मैसेजिंग डेटा का ऐक्सेस मिल जाता है. इसमें ओटीपी जैसा संवेदनशील डेटा भी शामिल होता है.

  • इसलिए, हमने आपके ऐप्लिकेशन में कुछ एपीआई जोड़े हैं, ताकि आप उन्हें लागू कर सकें. इससे आपको एसएमएस की ज़्यादा अनुमतियों का अनुरोध करने की ज़रूरत नहीं पड़ेगी. हालांकि, पुष्टि करने के लिए एसएमएस से ओटीपी कोड अब भी चुने जा सकेंगे.

  • SMS Retriever API की मदद से, आपका ऐप्लिकेशन एसएमएस से जुड़ी ज़्यादा अनुमतियों के बिना, ओटीपी की पुष्टि अपने-आप कर सकता है.

  • मैसेज में 11 वर्णों का हैश जोड़ें, जिससे आपके ऐप्लिकेशन की पहचान की जा सके. इसके बाद, सिस्टम आपको सिर्फ़ वही मैसेज भेजेगा.

  • अगर आपके पास मैसेज के फ़ॉर्मैट को कंट्रोल करने का विकल्प नहीं है, तो SMS User Consent API का इस्तेमाल करें.

  • सिस्टम, एक बार में सिर्फ़ एक प्रॉम्प्ट दिखाता है.

  • उपयोगकर्ता, 'अनुमति दें' या 'अनुमति न दें' पर टैप करता है. अगर वह अनुमति देता है, तो आपको वह मैसेज मिल जाता है.

  • अब भी एसएमएस ऐक्सेस करने की अनुमति देने की ज़रूरत नहीं है.

लोकेशन शेयर करने के बटन की मदद से, एक बार के लिए ऐक्सेस देना

  • कुछ ऐप्लिकेशन को टास्क पूरे करने के लिए, सिर्फ़ एक बार जगह की सटीक जानकारी की ज़रूरत पड़ सकती है.

  • सिर्फ़ एक बार के लिए अनुमति देने की सुविधा से, उपयोगकर्ताओं को परेशानी होती है. इसलिए, डेवलपर कभी-कभी सटीक जगह की जानकारी ऐक्सेस करने की अनुमति मांगते हैं.

  • इसलिए, लोकेशन बटन एक ऐसा टूल है जो ऐप्लिकेशन को एक बार के लिए, जगह की सटीक जानकारी का ऐक्सेस देने का आसान तरीका उपलब्ध कराता है.

  • यह Android का एक यूज़र इंटरफ़ेस (यूआई) एलिमेंट है. ऐप्लिकेशन डेवलपर इसे अपनी पसंद के मुताबिक बना सकते हैं और एम्बेड कर सकते हैं.

  • हमने जून में, ऐल्फ़ा लोकेशन बटन Jetpack लाइब्रेरी का पहला वर्शन लॉन्च किया था.

  • यहां आपको अपने Android मेनिफ़ेस्ट में, लोकेशन शेयर करने का बटन चालू करने के लिए ज़रूरी अनुमतियां दिखेंगी.

    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"
        android:usesPermissionFlags="onlyForLocationButton"/>
    
    <uses-permission android:name="android.permission.USE_LOCATION_BUTTON" />
    
        <application
            android:icon="@mipmap/ic_launcher"
            android:label="LocationButtonSample"
            android:theme="@style/Theme.PinPoint">
            <activity
                android:name=".MainActivity"
                android:exported="true">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
        </application>
  • आपको जगह की जानकारी की स्टैंडर्ड अनुमति का एलान करना होगा. इसके लिए, onlyForLocationButton अनुमति फ़्लैग जोड़ें. साथ ही, सिस्टम की रिमोट रेंडरिंग सेवा के लिए ज़रूरी USE_LOCATION_BUTTON अनुमति भी जोड़ें.

  • दाईं ओर, इसे लागू करने के लिए Jetpack कोड दिया गया है.

    ...
    import androidx.core.locationbutton.compose.LocationButton
    
    @Composable
    fun LocationPermissionScreen(onPermissionGranted: () -> Unit, onPermissionDenied: () -> Unit) {
        // Renders the secure system-trusted Location Button composable
        LocationButton(
            // Callback triggered when the user taps the secure button and makes a decision on the permission dialog
            onPermissionResult = { isGranted ->
                if (isGranted) {
                    onPermissionGranted()
                } else {
                    onPermissionDenied()
                }
            },
    ...
  • यहां देखा जा सकता है कि हम लोकेशन शेयर करने का बटन बना रहे हैं और कॉलबैक को शुरू कर रहे हैं.

  • यह कॉलबैक तब ट्रिगर होता है, जब उपयोगकर्ता लोकेशन शेयर करने के बटन पर टैप करके, अनुमति देने या अस्वीकार करने का फ़ैसला लेता है.

ऐडवांस सुरक्षा मोड का इंटिग्रेशन

  • बेहतर सुरक्षा मोड की सुविधा, उन उपयोगकर्ताओं के लिए है जिनके खातों को खतरा है या जो सुरक्षा को लेकर ज़्यादा सतर्क रहते हैं. हालांकि, कोई भी व्यक्ति इस सुविधा को चालू कर सकता है.

  • उदाहरण के लिए, मान लें कि आपका कोई बैंकिंग ऐप्लिकेशन है. ऐसे में, हर ट्रांसफ़र के लिए कई तरीकों से पुष्टि करने की सुविधा को लागू न करें. ऐसा इसलिए, क्योंकि रोज़ाना इस्तेमाल करने वाले उपयोगकर्ताओं को यह अतिरिक्त रुकावट पसंद नहीं आती.

  • हालांकि, ऐडवांस सुरक्षा मोड चालू होने पर, आपके ऐप्लिकेशन को पता होता है कि इस उपयोगकर्ता को ज़्यादा से ज़्यादा सुरक्षा चाहिए. इसलिए, हर ट्रांसफ़र पर बायोमेट्रिक ऑथेंटिकेशन की ज़रूरत अपने-आप पड़ सकती है.

  • ऐडवांस सुरक्षा मोड, पहले से तय किए गए कॉन्फ़िगरेशन के सेट को लागू करता है. इन्हें डिवाइस की सुरक्षा को बेहतर बनाने के लिए डिज़ाइन किया गया है.

  • यहां हम आपको अपने ऐप्लिकेशन में इसे इंटिग्रेट करने का तरीका बताएंगे.

  • आपको अनुमति का अनुरोध करना होगा, ऐडवांस सुरक्षा मोड के बारे में क्वेरी करनी होगी. साथ ही, आपको यह देखना होगा कि उपयोगकर्ता ने उपयोगकर्ता के डिवाइस पर ऐडवांस सुरक्षा मोड मैनेजर सिस्टम सर्विस को कॉल करके, ऐडवांस सुरक्षा मोड चालू किया है या नहीं.

    class AdvancedProtectionManager() {
      // Check the current status
      fun isAdvancedProtectionEnabled(): Boolean
    
      // Be alerted when status changes
      fun registerAdvancedProtectionCallback(executor: Executor,
                                             callback: Callback)
    
      fun unregisterAdvancedProtectionCallback(callback: Callback)
    }
    
    interface Callback() {
      // Called when advanced protection state changes
      fun onAdvancedProtectionChanged(enabled: Boolean)
    }
  • इसके बाद, कॉलबैक को रजिस्टर करके, रनटाइम के दौरान होने वाले बदलावों को सुना जा सकता है.

काम के लिंक और संसाधन

  • आज हमने कई विषयों पर बात की.

  • यहां कुछ लिंक दिए गए हैं. इन पर जाकर, इनके बारे में ज़्यादा जानें.

  • हम यहां कुछ देर के लिए रुकेंगे, ताकि आप अपनी ज़रूरत के हिसाब से यूआरएल नोट कर सकें.

  • धन्यवाद.

  • धन्यवाद.

कोड

कोड स्निपेट

"Android security skills for agents" में 05:09 पर शेल स्निपेट
android skills list
android skills add android-intent-security
android skills add android-permissions-security
"Google Play की नीति से जुड़ी अहम जानकारी देने वाली सुविधा" में 06:41 पर शेल स्निपेट
android skills list
android skills add play-policy-insights
"लोकेशन बटन की मदद से, एक बार के लिए ऐक्सेस" में 09:36 पर एक्सएमएल स्निपेट
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"
    android:usesPermissionFlags="onlyForLocationButton"/>

<uses-permission android:name="android.permission.USE_LOCATION_BUTTON" />

    <application
        android:icon="@mipmap/ic_launcher"
        android:label="LocationButtonSample"
        android:theme="@style/Theme.PinPoint">
        <activity
            android:name=".MainActivity"
            android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
"लोकेशन बटन की मदद से, एक बार के लिए ऐक्सेस" में 09:54 पर Kotlin स्निपेट
...
import androidx.core.locationbutton.compose.LocationButton

@Composable
fun LocationPermissionScreen(onPermissionGranted: () -> Unit, onPermissionDenied: () -> Unit) {
    // Renders the secure system-trusted Location Button composable
    LocationButton(
        // Callback triggered when the user taps the secure button and makes a decision on the permission dialog
        onPermissionResult = { isGranted ->
            if (isGranted) {
                onPermissionGranted()
            } else {
                onPermissionDenied()
            }
        },
...
"ऐडवांस सुरक्षा मोड इंटिग्रेशन" में 10:53 पर Kotlin स्निपेट
class AdvancedProtectionManager() {
  // Check the current status
  fun isAdvancedProtectionEnabled(): Boolean

  // Be alerted when status changes
  fun registerAdvancedProtectionCallback(executor: Executor,
                                         callback: Callback)

  fun unregisterAdvancedProtectionCallback(callback: Callback)
}

interface Callback() {
  // Called when advanced protection state changes
  fun onAdvancedProtectionChanged(enabled: Boolean)
}