Uzaktan Anahtar Sağlama

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.

RKP yığını mimarisi

1. şekil. RKP yığını mimarisi.

İç mimari

Şekil 2'de RKP'nin dahili mimarisi gösterilmektedir.

RKP'nin dahili mimarisi

Ş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
  • 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.