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 Ausfallsicherheit von Funktionen erhöht, indem die Robustheit der Dienst-API verbessert und die Zeit für die Einführung von Verbesserungen verkürzt wird.
Ziel
Der RKP-Dienst wird vereinfacht, indem alles in einem APEX-Paket zusammengefasst wird.
Vor Android 14 war RKP in eine App,RemoteProvisioner
und Keystore 2.0 unterteilt. Die RemoteProvisioner
-App war für die Kontaktaufnahme mit dem RKP-Backend verantwortlich 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 dadurch 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
Der RKP-Mainline-APEX, com.android.rkpd
, enthält die RKPD-Anwendung (Remote Key Provisioning Daemon) und eine Serverkomponente des Remote-Provisioning-Systems (in Java erstellt).
Stack-Architektur
Abbildung 1 zeigt die Architektur des RKP-Stacks.
Abbildung 1: RKP-Stackarchitektur.
Interne Architektur
Abbildung 2 zeigt die interne Architektur des RKP.
Abbildung 2: Interne RKP-Architektur.
Zusätzliche Informationen zur internen RKP-Architektur:
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 ist weiterhin von der Existenz von IRemotelyProvisionedComponent
-Implementierungen abhängig, um die Attestierungsschlüssel und Zertifikatsanfragen bereitzustellen.
Teststrategie
Die AOSP-Version des APEX-Moduls enthält Unittests, die OEMs ausführen können.