Zdalne udostępnianie klucza

Usługa zdalnego udostępniania kluczy (RKP) jest częścią AOSP od Androida 12. Android 14 wprowadza moduł z możliwością aktualizacji zdalnego udostępniania, który zwiększa 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 usługa RKP była podzielona na aplikację RemoteProvisioner i Keystore 2.0. Aplikacja RemoteProvisioner odpowiadała za kontakt z backendem RKP, a Keystore 2.0 za przechowywanie kluczy i komunikację z HAL. Nie była to dobra architektura, ponieważ klucze RKP znacznie różnią się od kluczy Keystore pod względem dołączonych metadanych. Dodatkowo wymagało to niewygodnych modyfikacji kodu frameworka Keystore, aby ostrzegać RemoteProvisioner o potencjalnym braku zasobów.

RKP jako moduł Mainline ma na celu poprawę tych kwestii poprzez staranne spakowanie wszystkiego w APEX.

Granica modułu

APEX Mainline RKP, com.android.rkpd, zawiera aplikację Remote Key Provisioning Daemon (RKPD) i komponent serwera systemu zdalnego udostępniania (zbudowany w Javie).

Architektura stosu

Rysunek 1 przedstawia architekturę stosu RKP.

Architektura stosu RKP

Rysunek 1. Architektura stosu RKP.

Architektura wewnętrzna

Rysunek 2 przedstawia architekturę wewnętrzną RKP.

Architektura wewnętrzna RKP

Rysunek 2. Architektura wewnętrzna RKP.

Dodatkowe informacje o architekturze wewnętrznej RKP:

  • APEX Mainline RKPD – com.android.rkpd

    • Aplikacja RKPD (Java)
      • packages/modules/RemoteKeyProvisioning/app
    • Fragment serwera systemowego 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 jako plik APEX com.android.rkpd.

Zależności

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

Strategia testowania

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