Uzaktan Anahtar Sağlama (RKP), Android 12'den beri AOSP'nin bir parçasıdır. Android 14, hizmet API'sinin sağlamlığını artırarak ve hizmette iyileştirmeler yapma süresini kısaltarak özelliklerin dayanıklılığını artıran, uzaktan sağlama için güncellenebilir bir modül sunuyor.
Motivasyon
Her şeyi bir APEX'e paketleyerek RKP hizmetini basitleştirin.
Android 14'ten önce RKP, bir uygulama (RemoteProvisioner
) ve Keystore 2.0 olarak ayrılıyordu. RemoteProvisioner
uygulaması, RKP arka ucuyla iletişim kurmaktan, Keystore 2.0 ise hem anahtarları depolamaktan hem de HAL'lerle iletişim kurmaktan sorumluydu. RKP anahtarları, eklenen meta veriler açısından Keystore anahtarlarından önemli ölçüde farklı olduğundan bu iyi bir mimari değildi. Ayrıca, bu durum, RemoteProvisioner
'yı olası kaynak kıtlığı konusunda uyarmak için Keystore çerçeve kodunda gerekli olan garip değişikliklere yol açtı.
RKP, her şeyi düzgün bir şekilde APEX'e yerleştirerek bu noktalarda iyileştirme yapacak şekilde tasarlanmış bir Mainline modülüdür.
Modül sınırı
RKP Mainline APEX'i (com.android.rkpd
), Uzaktan Anahtar Sağlama Daemon'u (RKPD) uygulaması ve uzaktan sağlama sistemi sunucu bileşeni (Java ile oluşturulmuş) içerir.
Yığın mimarisi
Şekil 1'de RKP yığını mimarisi gösterilmektedir.
1. şekil. RKP yığını mimarisi.
İç mimari
Şekil 2'de RKP'nin dahili mimarisi gösterilmektedir.
Şekil 2. RKP'nin iç mimarisi.
RKP'nin dahili mimarisi hakkında ek bilgiler:
RKPD Mainline APEX -
com.android.rkpd
- RKPD uygulaması (Java)
packages/modules/RemoteKeyProvisioning/app
- RKPD sistem sunucusu parçası (Java)
packages/modules/RemoteKeyProvisioning/system-server
- RKPD uygulaması (Java)
HAL arayüzü/uygulaması (Rust/C++)
IRemotelyProvisionedComponent
hardware/interfaces/security/keymint
Paket biçimi
Uygulama ve modülün diğer işlevleri, APEX dosyası com.android.rkpd
olarak paketlenir.
Bağımlılıklar
RKP modülü, onay anahtarlarını ve sertifika isteklerini sağlamak için IRemotelyProvisionedComponent
uygulamalarının varlığına bağlı olmaya devam eder.
Test stratejisi
Uygulama APEX'inin AOSP sürümünde, OEM'lerin çalıştırabileceği birim testleri bulunur.