Remote Key Provisioning (RKP) ist seit Android 12 Teil von AOSP. Mit Android 14 wird ein aktualisierbares Modul für die Remote-Bereitstellung eingeführt, das die Zuverlässigkeit der Funktionen erhöht, indem die Robustheit der Dienst-API verbessert und die Zeit bis zur Einführung von Verbesserungen verkürzt wird.
Motivation
Der RKP-Dienst soll vereinfacht werden, indem alles in einem APEX-Paket zusammengefasst wird.
Vor Android 14 war RKP in eine App (RemoteProvisioner) und Keystore 2.0 unterteilt. Die App RemoteProvisioner war für die Kontaktaufnahme mit dem RKP-Back-End zuständig und Keystore 2.0 für das Speichern der Schlüssel und die Kommunikation mit HALs. Das war keine gute Architektur, da sich RKP-Schlüssel in Bezug auf die angehängten Metadaten erheblich von Keystore-Schlüsseln unterscheiden. Außerdem waren umständliche Änderungen am Keystore-Framework-Code erforderlich, um RemoteProvisioner über potenzielle Ressourcenknappheit zu informieren.
RKP als Mainline-Modul soll diese Punkte verbessern, indem alles in einem APEX-Paket zusammengefasst wird.
Modulgrenze
Das RKP-Mainline-APEX-Paket com.android.rkpd enthält die Anwendung Remote Key Provisioning Daemon (RKPD) und eine Systemserverkomponente für die Remote-Bereitstellung (in Java erstellt).
Stack-Architektur
Abbildung 1 zeigt die RKP-Stack-Architektur.
Abbildung 1 : RKP-Stack-Architektur.
Interne Architektur
Abbildung 2 zeigt die interne RKP-Architektur.
Abbildung 2 : Interne RKP-Architektur.
Weitere Informationen zur internen RKP-Architektur:
RKPD-Mainline-APEX-Paket –
com.android.rkpd- RKPD-App (Java)
packages/modules/RemoteKeyProvisioning/app
- RKPD-Systemserverfragment (Java)
packages/modules/RemoteKeyProvisioning/system-server
- RKPD-App (Java)
HAL-Schnittstelle/Implementierung (Rust/C++)
IRemotelyProvisionedComponenthardware/interfaces/security/keymint
Paketformat
Die Anwendung und andere Funktionen des Moduls sind als APEX-Datei com.android.rkpd verpackt.
Abhängigkeiten
Das RKP-Modul ist weiterhin von IRemotelyProvisionedComponent-Implementierungen abhängig, um die Attestierungsschlüssel und Zertifikatsanfragen bereitzustellen.
Teststrategie
Die AOSP-Version des Anwendungs-APEX-Pakets enthält Unittests, die OEMs ausführen können.