Die Remote Key Provisioning (RKP) ist seit Android 12 Teil von AOSP. In Android 14 wird ein aktualisierbares Modul für die Remote-Bereitstellung eingeführt, das die Funktionsresilienz erhöht, indem die Robustheit der Dienst-API verbessert und die Zeit für die Einführung von Verbesserungen verkürzt wird.
Ziel
Vereinfachen Sie den RKP-Dienst, indem Sie alles in einem APEX-Objekt verpacken.
Vor Android 14 wurde RKP in die AppRemoteProvisioner
und Keystore 2.0 unterteilt. Die RemoteProvisioner
-App war für die Kontaktaufnahme mit dem RKP-Backend verantwortlich und Keystore 2.0 war sowohl für das Speichern der Schlüssel als auch für die Kommunikation mit HALs verantwortlich. Das war keine gute Architektur, da sich RKP-Schlüssel hinsichtlich der angehängten Metadaten deutlich von Keystore-Schlüsseln unterscheiden. Außerdem waren umständliche Änderungen am Keystore-Framework-Code erforderlich, um RemoteProvisioner
auf einen möglichen Ressourcenmangel hinzuweisen.
RKP als Mainline-Modul soll diese Punkte verbessern, indem alles übersichtlich in einem APEX-Dokument zusammengefasst wird.
Modulgrenze
Die RKP Mainline APEX, com.android.rkpd
, enthält die Anwendung „Remote Key Provisioning Daemon“ (RKPD) und eine Serverkomponente des Remote Provisioning-Systems (mit Java erstellt).
Stackarchitektur
Abbildung 1 zeigt die RKP-Stack-Architektur.
Abbildung 1. RKP-Stack-Architektur
Interne Architektur
Abbildung 2 veranschaulicht die interne RKP-Architektur.
Abbildung 2. Interne Architektur von RKP
Weitere Informationen zur internen Architektur von RKP:
RKPD Mainline APEX –
com.android.rkpd
- RKPD-App (Java)
packages/modules/RemoteKeyProvisioning/app
- RKPD-Systemserver-Fragment (Java)
packages/modules/RemoteKeyProvisioning/system-server
- RKPD-App (Java)
HAL-Schnittstelle/-Implementierung (Rust/C++)
IRemotelyProvisionedComponent
hardware/interfaces/security/keymint
Paketformat
Die Anwendung und andere Funktionen des Moduls sind als APEX-Datei com.android.rkpd
verpackt.
Abhängigkeiten
Das RKP-Modul hängt weiterhin davon ab, ob IRemotelyProvisionedComponent
-Implementierungen vorhanden sind, um die Attestierungsschlüssel und Zertifikatsanfragen bereitzustellen.
Teststrategie
Die AOSP-Version der Anwendung APEX enthält Unit-Tests, die OEMs ausführen können.