डिवाइस की स्थिति

डिवाइस की स्थिति से यह पता चलता है कि सॉफ़्टवेयर को डिवाइस में कितनी आसानी से फ़्लैश किया जा सकता है और कि पुष्टि लागू की गई है या नहीं. डिवाइस की स्थितियां LOCKED हैं और UNLOCKED. LOCKED डिवाइस आपको फ़्लैश करने से रोकते हैं सॉफ़्टवेयर को डिवाइस से जोड़ते हैं, जबकि UNLOCKED डिवाइस बदलाव.

जब कोई डिवाइस चालू होता है, तो बूटलोडर सबसे पहले यह देखता है कि डिवाइस LOCKED या UNLOCKED. अगर कोई डिवाइस UNLOCKED, बूटलोडर उपयोगकर्ता को एक चेतावनी दिखाता है और फिर आगे बढ़ जाता है का इस्तेमाल करें, भले ही लोड किए गए ओएस पर ट्रस्ट के रूट से साइन न किया गया हो.

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

डिवाइस की स्थिति में बदलाव करने से जुड़ी नीति

डिवाइस की स्थिति बदलने के लिए, इसका इस्तेमाल करें fastboot flashing [unlock | lock] आदेश. उपयोगकर्ता को सुरक्षित रखने के लिए डेटा, सभी स्थिति ट्रांज़िशन डेटा विभाजनों को वाइप करते हैं और उपयोगकर्ता से डेटा मिटाए जाने से पहले पुष्टि करें.

UNLOCKED से LOCKED पर ट्रांज़िशन कब हो सकता है जब कोई उपयोगकर्ता इस्तेमाल किया गया डेवलपमेंट डिवाइस खरीदता है. डिवाइस लॉक होने से, उपयोगकर्ता को इस बात पर भरोसा होना चाहिए कि डिवाइस की स्थिति में ही यह काम कर रहा है जब तक कोई चेतावनी न हो. LOCKED को जब कोई डेवलपर इसे बंद करना चाहे, तो UNLOCKED ट्रांज़िशन होना चाहिए डेवलपमेंट के लिए डिवाइस पर पुष्टि करना.

भरोसे की बुनियाद

ट्रस्ट ऑफ़ ट्रस्ट, Android की कॉपी पर हस्ताक्षर करने के लिए इस्तेमाल की जाने वाली क्रिप्टोग्राफ़िक कुंजी है डिवाइस पर सेव हुआ हो. आपके भरोसे का निजी हिस्सा सिर्फ़ साथ ही, इसे डिवाइस बनाने वाली कंपनी के तौर पर इस्तेमाल किया जाता है. साथ ही, इसका इस्तेमाल Android के हर उस वर्शन पर साइन करने के लिए किया जाता है जिसके लिए इसे बनाया गया है वितरण. ट्रस्ट की रूट का सार्वजनिक हिस्सा डिवाइस में एम्बेड होता है और को एक जगह पर रखा जाता है इसलिए इसके साथ छेड़खानी नहीं की जा सकती (आम तौर पर सिर्फ़ पढ़ने के लिए स्टोरेज).

जब Android को लोड हो जाता है, तब बूटलोडर पुष्टि के लिए ट्रस्ट रूट का इस्तेमाल करता है प्रामाणिकता. इस प्रोसेस के बारे में ज़्यादा जानने के लिए, यह देखें बूट की पुष्टि करना. डिवाइसों में ये चीज़ें हो सकती हैं कई बूट लोडर चालू होने चाहिए और ऐसा हो सकता है कि कई क्रिप्टोग्राफ़िक बटन का इस्तेमाल किया जा रहा हो.

उपयोगकर्ता की ओर से सेट किए जा सकने वाले भरोसेमंद सोर्स

डिवाइस विकल्प के तौर पर, उपयोगकर्ता को ट्रस्ट रूट को कॉन्फ़िगर करने की अनुमति दे सकते हैं (इसके लिए उदाहरण के लिए, सार्वजनिक पासकोड). डिवाइस, उपयोगकर्ता के सेट किए जा सकने वाले रूट ऑफ़ ट्रस्ट का इस्तेमाल पहले से मौजूद ट्रस्टेड रूट के बजाय, वेरिफ़ाइड बूट की सुविधा. इससे उपयोगकर्ता को ये काम करने में मदद मिलती है सुरक्षा से समझौता किए बिना Android के कस्टम वर्शन इंस्टॉल और इस्तेमाल कर सकते हैं वेरिफ़ाइड बूट की सुविधा को बेहतर बनाया गया है.

अगर उपयोगकर्ता की ओर से तय किए जा सकने वाले रूट ऑफ़ ट्रस्ट को लागू किया जाता है, तो इसे इस तरह से किया जाना चाहिए के हिसाब से:

  • उपयोगकर्ता द्वारा सेट किए जा सकने वाले रूट को सेट करने/साफ़ करने के लिए भौतिक पुष्टि आवश्यक है भरोसा.
  • ट्रस्ट के उपयोगकर्ता सेट किए जा सकने वाले रूट को सिर्फ़ असली उपयोगकर्ता ही सेट कर सकते हैं. यह नहीं किया जा सकता उसे फ़ैक्ट्री या किसी मध्यवर्ती बिंदु से पहले सेट नहीं किया जाना चाहिए, ताकि डिवाइस.
  • ट्रस्ट के उपयोगकर्ता के सेट किए जा सकने वाले रूट को स्टोरेज में सेव किया जाता है, ताकि उससे छेड़छाड़ की जा सके. टैम्पर-एविडेंट का मतलब है कि यह पता लगाना मुमकिन है कि Android के पास के साथ छेड़छाड़ की गई हो. उदाहरण के लिए, अगर उसे ओवरराइट किया गया हो या उसमें बदलाव किया गया हो.
  • अगर उपयोगकर्ता के सेट किए जा सकने वाले रूट ऑफ़ ट्रस्ट को सेट किया गया है, तो डिवाइस को का इस्तेमाल, सुरक्षित तरीके से करने के लिए किया गया हो. बूट करने के लिए भरोसे का मूल.
  • उपयोगकर्ता के सेट किए जा सकने वाले रूट की मदद से, हर बार डिवाइस को चालू करने पर, उपयोगकर्ता को सूचित किया जाना चाहिए कि डिवाइस में Android का कस्टम वर्शन लोड किया जा रहा है. इसके लिए उदाहरण के लिए, चेतावनी स्क्रीन, देखें LOCKED डिवाइस में मनमुताबिक कुंजी सेट करने की सुविधा मौजूद है.

उपयोगकर्ता की ओर से तय किए जा सकने वाले रूट को लागू करने का एक तरीका यह है कि आपके पास वर्चुअल वह हिस्सा जो सिर्फ़ तब फ़्लैश किया जा सकता है या मिटाया जा सकता है, जब डिवाइस UNLOCKED राज्य. Google Pixel 2 डिवाइस इसी तरीके का इस्तेमाल करते हैं और वर्चुअल विभाजन को avb_custom_key कहा जाता है. फ़ॉर्मैट इस सेगमेंट में मौजूद डेटा, avbtool extract_public_key निर्देश. यहां उदाहरण के तौर पर, सेट करने का तरीका बताया गया है उपयोगकर्ता की ओर से तय किए जा सकने वाले रूट में ट्रस्ट:

avbtool extract_public_key --key key.pem --output pkmd.bin
fastboot flash avb_custom_key pkmd.bin

उपयोगकर्ता की ओर से तय किए जा सकने वाले रूट ऑफ़ ट्रस्ट को जारी करके खत्म किया जा सकता है:

fastboot erase avb_custom_key