Android 12 থেকে রিমোট কী প্রভিশনিং (RKP) AOSP-এর অংশ হিসেবে রয়েছে। Android 14-এ একটি রিমোট প্রভিশনিং আপডেট করা যাবে এমন মডিউল চালু করা হয়েছে যা পরিষেবা API-এর কার্যকারিতা উন্নত করে এবং এতে কোনও উন্নতি চালু করার সময় কমিয়ে ফিচারের স্থিতিস্থাপকতা বাড়ায়।
অনুপ্রেরণা
সবকিছু একটি APEX-এ প্যাকেজ করে RKP পরিষেবা সহজ করুন।
Android 14-এর আগে, RKP-কে একটি অ্যাপ,
RemoteProvisioner এবং Keystore 2.0-এ আলাদা করা হয়েছিল। RKP ব্যাকএন্ডের সাথে যোগাযোগ করার জন্য RemoteProvisioner অ্যাপ
দায়ী ছিল এবং কী স্টোর 2.0 কী সেভ করা এবং HAL-এর সাথে যোগাযোগ করার
জন্য দায়ী ছিল। এটি ভালো আর্কিটেকচার ছিল না কারণ অ্যাটাচ করা মেটাডেটার ক্ষেত্রে RKP কী Keystore কী-এর থেকে অনেক আলাদা। এছাড়াও, RemoteProvisioner-কে সম্ভাব্য
সম্পদ সংক্রান্ত অভাব সম্পর্কে সতর্ক করতে
Keystore ফ্রেমওয়ার্ক কোডে কিছু অদ্ভুত পরিবর্তন করতে হয়েছে।
মেইনলাইন মডিউল হিসেবে RKP-কে এইসব পয়েন্টে উন্নতি করার জন্য ডিজাইন করা হয়েছে। এটি APEX-এ সবকিছু সুন্দরভাবে প্যাক করে।
মডিউল বাউন্ডারি
RKP Mainline APEX, com.android.rkpd, এতে রিমোট কী প্রভিশনিং
ডিমোন (RKPD) অ্যাপ্লিকেশন এবং রিমোট প্রভিশনিং সিস্টেম সার্ভার কম্পোনেন্ট
(Java দিয়ে তৈরি) থাকে।
স্ট্যাক আর্কিটেকচার
ছবি ১-এ RKP স্ট্যাক আর্কিটেকচার দেখানো হয়েছে।
ছবি ১. RKP স্ট্যাক আর্কিটেকচার।
ইন্টার্নাল আর্কিটেকচার
ছবি ২-এ RKP ইন্টার্নাল আর্কিটেকচার দেখানো হয়েছে।
ছবি ২. RKP ইন্টার্নাল আর্কিটেকচার।
RKP ইন্টার্নাল আর্কিটেকচার সম্পর্কে অতিরিক্ত তথ্য:
RKPD Mainline APEX -
com.android.rkpd- RKPD অ্যাপ (Java)
packages/modules/RemoteKeyProvisioning/app
- RKPD সিস্টেম সার্ভার ফ্র্যাগমেন্ট (Java)
packages/modules/RemoteKeyProvisioning/system-server
- RKPD অ্যাপ (Java)
HAL ইন্টারফেস/ইমপ্লিমেন্টেশন (Rust/C++)
IRemotelyProvisionedComponenthardware/interfaces/security/keymint
প্যাকেজ ফর্ম্যাট
মডিউলের অ্যাপ্লিকেশন ও অন্যান্য ফাংশনালিটি APEX
ফাইল com.android.rkpd হিসেবে প্যাকেজ করা হয়।
ডিপেন্ডেন্সি
RKP মডিউল অ্যাটেস্টেশন কী ও সার্টিফিকেটের অনুরোধ প্রদান করার জন্য
IRemotelyProvisionedComponent ইমপ্লিমেন্টেশনের উপর নির্ভর করে।
পরীক্ষা করার কৌশল
অ্যাপ্লিকেশনের AOSP ভার্সন APEX-এ ইউনিট টেস্ট থাকে যা OEM চালাতে পারে।