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

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

वजह

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

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

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

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

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

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

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

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

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

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

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

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

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

आरकेपी के इंटरनल आर्किटेक्चर के बारे में अतिरिक्त जानकारी:

  • RKPD Mainline APEX - com.android.rkpd

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

    • IRemotelyProvisionedComponent
      • hardware/interfaces/security/keymint

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

ऐप्लिकेशन और मॉड्यूल की अन्य सुविधाओं को APEX फ़ाइल com.android.rkpd के तौर पर पैकेज किया जाता है.

डिपेंडेंसी

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

टेस्टिंग की रणनीति

ऐप्लिकेशन के एओएसपी वर्शन के एपीईएक्स में यूनिट टेस्ट शामिल होते हैं. इन्हें ओईएम चला सकते हैं.