Zdalne udostępnianie klucza

Funkcja zdalnego udostępniania kluczy (RKP) jest częścią AOSP od Androida 12. Android 14 wprowadza moduł zdalnego udostępniania, który można aktualizować. Zwiększa on odporność funkcji, poprawiając niezawodność interfejsu API usługi i skracając czas wprowadzania ulepszeń.

Motywacja

Uprość usługę RKP, pakując wszystko w APEX.

Przed Androidem 14 RKP był podzielony na aplikacjęRemoteProvisioner i Keystore 2.0. Aplikacja RemoteProvisioner odpowiadała za kontaktowanie się z backendem RKP, a Keystore 2.0 za przechowywanie kluczy i komunikację z warstwami HAL. Nie była to dobra architektura, ponieważ klucze RKP znacznie różnią się od kluczy Keystore pod względem dołączonych metadanych. Wymagało to też niewygodnych modyfikacji kodu platformy Keystore, aby powiadamiać RemoteProvisioner o potencjalnym braku zasobów.

RKP jako moduł Mainline ma na celu poprawę tych aspektów poprzez uporządkowane spakowanie wszystkiego w APEX.

Granica modułu

Główny pakiet APEX RKP, com.android.rkpd, zawiera aplikację Remote Key Provisioning Daemon (RKPD) i komponent serwera zdalnego systemu udostępniania (zbudowany w języku Java).

Architektura stosu

Rysunek 1 przedstawia architekturę stosu RKP.

Architektura stosu RKP

Rysunek 1. Architektura stosu RKP.

Architektura wewnętrzna

Ilustracja 2 przedstawia wewnętrzną architekturę RKP.

Architektura wewnętrzna RKP

Rysunek 2. Wewnętrzna architektura RKP.

Dodatkowe informacje o architekturze wewnętrznej RKP:

  • RKPD Mainline APEX - com.android.rkpd

    • Aplikacja RKPD (Java)
      • packages/modules/RemoteKeyProvisioning/app
    • Fragment serwera systemu RKPD (Java)
      • packages/modules/RemoteKeyProvisioning/system-server
  • Interfejs/implementacja HAL (Rust/C++)

    • IRemotelyProvisionedComponent
      • hardware/interfaces/security/keymint

Format pakietu

Aplikacja i inne funkcje modułu są spakowane w plik APEX com.android.rkpd.

Zależności

Moduł RKP nadal zależy od implementacji IRemotelyProvisionedComponent, które dostarczają klucze atestu i żądania certyfikatów.

Strategia testowania

Wersja APEX aplikacji AOSP zawiera testy jednostkowe, które mogą uruchamiać producenci OEM.