रिमोट पासकोड प्रोविज़निंग (आरकेपी) सुविधा, 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
- RKPD ऐप्लिकेशन (Java)
HAL इंटरफ़ेस/लागू करना (Rust/C++)
IRemotelyProvisionedComponent
hardware/interfaces/security/keymint
पैकेज का फ़ॉर्मैट
मॉड्यूल के ऐप्लिकेशन और अन्य फ़ंक्शन, APEX फ़ाइल com.android.rkpd
के तौर पर पैकेज किए जाते हैं.
डिपेंडेंसी
आरकेपी मॉड्यूल, पुष्टि करने वाली कुंजियों और सर्टिफ़िकेट के अनुरोधों को उपलब्ध कराने के लिए, IRemotelyProvisionedComponent
के लागू होने पर ही काम करता है.
जांच की रणनीति
APEX ऐप्लिकेशन के AOSP वर्शन में यूनिट टेस्ट शामिल होते हैं, जिन्हें OEM चला सकते हैं.