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 ile güncellenebilen bir modül sunar.

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, Mainline modülü olarak her şeyi bir APEX'e düzgün bir şekilde yerleştirerek bu noktalarda iyileştirme yapacak şekilde tasarlanmıştır.

Modül sınırı

RKP Mainline APEX'i (com.android.rkpd), Remote Key Provisioning Daemon (RKPD) uygulamasını ve uzaktan sağlama sistemi sunucu bileşenini (Java ile oluşturulmuş) içerir.

Yığın mimarisi

Şekil 1'de RKP yığını mimarisi gösterilmektedir.

RKP yığını mimarisi

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

İç mimari

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

RKP'nin iç 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.