रिमोट पासकोड प्रोविज़निंग

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

वजह

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

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

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

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

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

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

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

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

पहली इमेज. आरकेपी स्टैक आर्किटेक्चर.

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

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

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

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

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

  • 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 चला सकते हैं.