Il provisioning delle chiavi remoto (RKP) fa parte di AOSP da Android 12. Android 14 introduce un modulo aggiornabile di provisioning remoto che aumenta la resilienza delle funzionalità migliorando la robustezza dell'API del servizio e riducendo il tempo necessario per introdurre eventuali miglioramenti.
Motivazione
Semplifica il servizio RKP raggruppando tutto in un APEX.
Prima di Android 14, RKP era suddiviso in un'app,
RemoteProvisioner
, e Keystore 2.0. L'app RemoteProvisioner
era
responsabile del contatto con il backend RKP, mentre Keystore 2.0 era responsabile
sia dell'archiviazione delle chiavi sia della comunicazione con gli HAL. Questa non era una buona
architettura perché le chiavi RKP sono significativamente diverse dalle chiavi Keystore in
termini di metadati allegati. Inoltre, ciò ha richiesto modifiche scomode al codice del framework Keystore per avvisare RemoteProvisioner
di una potenziale carenza di risorse.
RKP come modulo Mainline è progettato per migliorare questi aspetti raggruppando tutto in un APEX.
Confine del modulo
L'APEX Mainline RKP, com.android.rkpd
, contiene l'applicazione Remote Key Provisioning Daemon (RKPD) e un componente server del sistema di provisioning remoto (creato con Java).
Architettura dello stack
La Figura 1 illustra l'architettura dello stack RKP.
Figura 1. Architettura dello stack RKP.
Architettura interna
La Figura 2 illustra l'architettura interna di RKP.
Figura 2. Architettura interna di RKP.
Ulteriori informazioni sull'architettura interna di RKP:
RKPD Mainline APEX -
com.android.rkpd
- App RKPD (Java)
packages/modules/RemoteKeyProvisioning/app
- Frammento del server di sistema RKPD (Java)
packages/modules/RemoteKeyProvisioning/system-server
- App RKPD (Java)
Interfaccia/implementazione HAL (Rust/C++)
IRemotelyProvisionedComponent
hardware/interfaces/security/keymint
Formato del pacchetto
L'applicazione e altre funzionalità del modulo sono pacchettizzate come file APEX
com.android.rkpd
.
Dipendenze
Il modulo RKP continua a dipendere dall'esistenza di implementazioni IRemotelyProvisionedComponent
per fornire le chiavi di attestazione e le richieste di certificato.
Strategia di test
La versione AOSP dell'APEX dell'applicazione contiene test unitari che gli OEM possono eseguire.