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

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

वजह

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • आरकेपीडी का Mainline APEX - com.android.rkpd

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

    • IRemotelyProvisionedComponent
      • hardware/interfaces/security/keymint

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

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

डिपेंडेंसी

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

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

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