रिमोट कुंजी का प्रावधान

रिमोट की प्रॉविज़निंग (आरकेपी), Android 12 से एओएसपी का हिस्सा है 12. Android 14 में, रिमोट प्रोवाइज़निंग वाला ऐसा मॉड्यूल जोड़ा गया है जिसे अपडेट किया जा सकता है. यह मॉड्यूल, सेवा एपीआई को बेहतर बनाकर और उसमें सुधार करने में लगने वाले समय को कम करके, सुविधाओं को ज़्यादा मज़बूत बनाता है.

वजह

सभी चीज़ों को APEX में पैकेज करके, आरकेपी सेवा को आसान बनाएं.

Android 14 से पहले, आरकेपी को ऐप्लिकेशन, RemoteProvisioner, और Keystore 2.0 में बांटा गया था. RemoteProvisioner ऐप्लिकेशन, आरकेपी बैकएंड से संपर्क करने की ज़िम्मेदारी लेता था. साथ ही, कुंजियों को सेव करने और एचएएल से संपर्क करने की ज़िम्मेदारी कीस्टोर 2.0 की थी. यह एक अच्छा आर्किटेक्चर नहीं था, क्योंकि अटैच किए गए मेटाडेटा के हिसाब से आरकेपी पासकोड, पासकोड कीस्टोर से काफ़ी अलग होते हैं. इसके अलावा, इसके लिए कीस्टोर फ़्रेमवर्क कोड में अजीब तरह के बदलाव करने पड़े, जिनसे RemoteProvisioner को इस बात की सूचना दी जा सके कि संभावित संसाधन खत्म हो जाएंगे.

मुख्य मॉड्यूल के तौर पर RKP को इन बातों को बेहतर बनाने के लिए डिज़ाइन किया गया है. इसके लिए, सभी चीज़ों को एक APEX में व्यवस्थित तरीके से पैक किया जाता है.

मॉड्यूल की सीमा

RKP मेनलाइन APEX, com.android.rkpd में, रिमोट की प्रॉविज़निंग डेमन (RKPD) ऐप्लिकेशन और एक रिमोट प्रॉविज़निंग सिस्टम सर्वर कॉम्पोनेंट (Java के साथ बनाया गया) शामिल है.

स्टैक आर्किटेक्चर

फ़िगर 1 में, आरकेपी स्टैक आर्किटेक्चर दिखाया गया है.

आरकेपी स्टैक आर्किटेक्चर

पहला डायग्राम. आरकेपी स्टैक आर्किटेक्चर.

इंटरनल आर्किटेक्चर

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

आरकेपी का इंटरनल आर्किटेक्चर

दूसरी इमेज. आरकेपी का इंटरनल आर्किटेक्चर.

आरकेपी के इंटरनल आर्किटेक्चर के बारे में ज़्यादा जानकारी:

  • RKPD Mainline APEX - com.android.rkpd

    • RKPD ऐप्लिकेशन (Java)
      • packages/modules/RemoteKeyProvisioning/app
    • RKPD सिस्टम सर्वर फ़्रैगमेंट (Java)
      • packages/modules/RemoteKeyProvisioning/system-server
  • HAL इंटरफ़ेस/लागू करना (Rust/C++)

    • IRemotelyProvisionedComponent
      • hardware/interfaces/security/keymint

पैकेज का फ़ॉर्मैट

मॉड्यूल के ऐप्लिकेशन और अन्य फ़ंक्शन, APEX फ़ाइल com.android.rkpd के तौर पर पैकेज किए जाते हैं.

डिपेंडेंसी

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

जांच की रणनीति

ऐप्लिकेशन APEX के AOSP वर्शन में यूनिट टेस्ट शामिल होते हैं, जिन्हें OEM चला सकते हैं.