सुरक्षा स्थिति को समझना

securityPosture, किसी डिवाइस की सुरक्षा का आकलन है. यह आकलन, डिवाइस की मौजूदा स्थिति के हिसाब से किया जाता है. डिवाइस की मौजूदा स्थिति कई बातों पर निर्भर करती है. जैसे, डिवाइस को रूट किया गया है या नहीं, उसमें कस्टम ROM का इस्तेमाल किया जा रहा है या नहीं वगैरह.

जवाब में, securityPosture को devicePosture और postureDetails की एक अतिरिक्त सूची में बांटा गया है. इस सूची में securityRisk फ़ील्ड शामिल है.

securityRisk फ़ील्ड से पता चलता है कि डिवाइस को सबसे सुरक्षित स्थिति में क्यों नहीं माना जाता. वहीं, advice सूची से डिवाइस की सुरक्षा को बेहतर बनाने के लिए कार्रवाइयां करने में मदद मिल सकती है. उदाहरण के लिए:

 {
  "devicePosture": "POTENTIALLY_COMPROMISED",
  "postureDetails": [
    {
      "securityRisk": "UNKNOWN_OS",
      "advice": [
        {
          "defaultMessage": "The user should lock their device's bootloader."
        }
      ]
    },
    {
      "securityRisk": "HARDWARE_BACKED_EVALUATION_FAILED"
    }
  ]
}

सिक्योरिटी पॉज़िशन का आकलन करना

डिफ़ॉल्ट रूप से, securityPosture का आकलन कुंजी की पुष्टि करने की सुविधा का इस्तेमाल करके किया जाता है. अगर लागू हो, तो खास तौर पर हार्डवेयर की मदद से कुंजी की पुष्टि करने की सुविधा (एचबीकेए) का इस्तेमाल किया जाता है. इससे सुरक्षा से जुड़ा भरोसेमंद नतीजा मिलता है, क्योंकि यह पुष्टि करने की सुविधा को सुरक्षित हार्डवेयर में जनरेट और साइन करता है.

कभी-कभी ऐसा हो सकता है कि इस आकलन के लिए, एचबीकेए का इस्तेमाल न किया जा सके. इसकी जानकारी देने के लिए, securityRisk "HARDWARE_BACKED_EVALUATION_FAILED" दिखाएगा. इसका मतलब है कि securityPosture का आकलन किया जा सकता है, लेकिन HBKA की मदद से नहीं. इसका मतलब है कि डिवाइस के बूट इंटिग्रिटी स्टेटस में छेड़छाड़ की जा सकती है. उदाहरण के लिए, डिवाइस को रूट किया जा सकता है. साथ ही, सॉफ़्टवेयर के आधार पर होने वाली पहचान से भी यह छिपा रह सकता है.

सुरक्षा स्थिति के नतीजों को समझना

डिवाइस की पूरी सुरक्षा को समझने के लिए, devicePosture और securityRisk के अलग-अलग कॉम्बिनेशन का इस्तेमाल किया जा सकता है. कृपया ध्यान दें कि नीचे दी गई सूची में, इस्तेमाल के सभी उदाहरणों को शामिल नहीं किया गया है:

  • अगर devicePosture "SECURE" दिखाता है और securityRisk "HARDWARE_BACKED_EVALUATION_FAILED" दिखाता है, तो इसका मतलब है कि डिवाइस की पूरी सुरक्षा की पुष्टि हो गई है. हालांकि, HBKA से इसकी पुष्टि नहीं की जा सकी.
  • अगर devicePosture "POTENTIALLY_COMPROMISED" दिखाता है और कोई securityRisk नतीजा नहीं दिखाता है, तो आकलन के लिए HBKA का इस्तेमाल किया जाता है और डिवाइस को हैक किया गया माना जाता है.
  • अगर devicePosture "POTENTIALLY_COMPROMISED" दिखाता है और securityRisk "HARDWARE_BACKED_EVALUATION_FAILED" दिखाता है, तो सिर्फ़ सॉफ़्टवेयर के आधार पर जांच की जा सकती है. हालांकि, डिवाइस के सुरक्षित होने से जुड़ी धमकी के सिग्नल इतने ज़्यादा हैं कि डिवाइस को हैक किया गया मान लिया जा सकता है.
  • अगर devicePosture "POSTURE_UNSPECIFIED" दिखाता है, तो सुरक्षा का आकलन पूरा नहीं हो सका. हमारा सुझाव है कि आप एचबीकेए के फिर से जारी होने का इंतज़ार करें. यह तब होता है, जब नया फ़ैसला मिलता है. इससे यह पता चलता है कि क्या यह कोई खास वैल्यू दिखा सकता है. हालांकि, पहली बार इंस्टॉल करने पर, "POSTURE_UNSPECIFIED" कुछ समय के लिए दिख सकता है.

Android Management API से Play Integrity API की मैपिंग

नीचे दी गई टेबल में, AM API के नतीजे और Play Integrity API के नतीजे के रिस्पॉन्स के बीच मैपिंग की जानकारी दी गई है.

AM API DevicePosture AM API Posture.Detail.SecurityRisk Play Integrity API के नतीजे के बराबर
SECURE SECURITY_RISK_UNSPECIFIED MEETS_STRONG_INTEGRITY
SECURE इसमें शामिल हैं: HARDWARE_BACKED_EVALUATION_FAILED MEETS_DEVICE_INTEGRITY
POTENTIALLY_COMPROMISED इसमें शामिल हैं: UNKNOWN_OS MEETS_BASIC_INTEGRITY
POTENTIALLY_COMPROMISED इसमें शामिल हैं: COMPROMISED_OS <unset>
POSTURE_UNSPECIFIED <any> <unset>