توفير المفاتيح عن بُعد

كانت ميزة "توفير المفاتيح عن بُعد" (RKP) جزءًا من مشروع AOSP منذ الإصدار 12 من نظام التشغيل Android. يتضمّن نظام التشغيل Android 14 وحدة قابلة للتحديث لتوفير الخدمات عن بُعد، ما يزيد من مرونة الميزات من خلال تحسين قوة واجهة برمجة التطبيقات للخدمة وتقليل الوقت اللازم لإجراء أي تحسينات عليها.

الحافز

تبسيط خدمة RKP من خلال تجميع كل شيء في حزمة APEX

قبل الإصدار Android 14، كانت ميزة "مفتاح الاسترداد" مقسّمة إلى تطبيق RemoteProvisioner وKeystore 2.0. كان تطبيق RemoteProvisioner مسؤولاً عن التواصل مع الخلفية الخاصة بـ RKP، وكان Keystore 2.0 مسؤولاً عن تخزين المفاتيح والتواصل مع طبقات تجريد الأجهزة (HAL). لم يكن هذا التصميم جيدًا لأنّ مفاتيح RKP تختلف بشكل كبير عن مفاتيح Keystore من حيث البيانات الوصفية المرفقة. بالإضافة إلى ذلك، تطلّب ذلك إجراء تعديلات غير مريحة على رمز إطار عمل Keystore لتنبيه RemoteProvisioner بشأن احتمال حدوث نقص في الموارد.

تم تصميم RKP كوحدة Mainline لتحسين هذه النقاط من خلال تجميع كل شيء في حزمة APEX.

حدود الوحدة

تحتوي حزمة APEX الرئيسية لخدمة RKP، أي com.android.rkpd، على تطبيق Remote Key Provisioning Daemon (RKPD) ومكوّن خادم لنظام التزويد عن بُعد (تم إنشاؤه باستخدام Java).

بنية Stack

يوضّح الشكل 1 بنية حزمة RKP.

بنية حزمة RKP

الشكل 1. بنية حزمة RKP

البنية الداخلية

يوضّح الشكل 2 البنية الداخلية لخدمة RKP.

البنية الداخلية لـ RKP

الشكل 2. البنية الداخلية لـ RKP

معلومات إضافية حول البنية الداخلية لـ RKP:

  • RKPD Mainline APEX - com.android.rkpd

    • تطبيق RKPD (Java)
      • packages/modules/RemoteKeyProvisioning/app
    • RKPD system server fragment (Java)
      • packages/modules/RemoteKeyProvisioning/system-server
  • واجهة/تنفيذ طبقة تجريد الأجهزة (HAL) (لغة Rust/C++)

    • IRemotelyProvisionedComponent
      • hardware/interfaces/security/keymint

تنسيق الحزمة

يتم تجميع التطبيق والوظائف الأخرى للوحدة النمطية في ملف APEX com.android.rkpd.

التبعيات

يظلّ نموذج RKP يعتمد على توفّر عمليات تنفيذ IRemotelyProvisionedComponent لتوفير مفاتيح التصديق وطلبات الشهادات.

استراتيجية الاختبار

يحتوي إصدار AOSP من حزمة APEX للتطبيق على اختبارات الوحدات التي يمكن لمصنّعي المعدات الأصلية تشغيلها.