Penyediaan Kunci Jarak Jauh (RKP) telah menjadi bagian dari AOSP sejak Android 12. Android 14 memperkenalkan modul yang dapat diupdate penyediaan jarak jauh yang meningkatkan ketahanan fitur dengan meningkatkan keandalan API layanan dan mengurangi waktu untuk memperkenalkan peningkatan apa pun padanya.
Motivasi
Menyederhanakan layanan RKP dengan mengemas semuanya ke dalam APEX.
Sebelum Android 14, RKP dipisahkan menjadi aplikasi,
RemoteProvisioner
, dan Keystore 2.0. Aplikasi RemoteProvisioner
bertanggung jawab untuk menghubungi backend RKP, dan Keystore 2.0 bertanggung jawab untuk menyimpan kunci dan berkomunikasi dengan HAL. Arsitektur ini tidak bagus karena kunci RKP sangat berbeda dari kunci Keystore dalam hal metadata terlampir. Selain itu, hal ini memerlukan perubahan yang tidak praktis pada
kode framework Keystore untuk memberi tahu RemoteProvisioner
tentang potensi
kekurangan resource.
RKP sebagai modul Mainline dirancang untuk meningkatkan poin-poin ini dengan mengemas semuanya secara rapi ke dalam APEX.
Batas modul
RKP Mainline APEX, com.android.rkpd
, berisi aplikasi Remote Key Provisioning
Daemon (RKPD) dan komponen server sistem penyediaan jarak jauh
(dibuat dengan Java).
Arsitektur stack
Gambar 1 mengilustrasikan arsitektur stack RKP.
Gambar 1. Arsitektur stack RKP.
Arsitektur internal
Gambar 2 mengilustrasikan arsitektur internal RKP.
Gambar 2. Arsitektur internal RKP.
Informasi tambahan tentang arsitektur internal RKP:
RKPD Mainline APEX -
com.android.rkpd
- Aplikasi RKPD (Java)
packages/modules/RemoteKeyProvisioning/app
- Fragmen server sistem RKPD (Java)
packages/modules/RemoteKeyProvisioning/system-server
- Aplikasi RKPD (Java)
Antarmuka/implementasi HAL (Rust/C++)
IRemotelyProvisionedComponent
hardware/interfaces/security/keymint
Format paket
Aplikasi dan fungsi lain dari modul ini dikemas sebagai file APEX
com.android.rkpd
.
Dependensi
Modul RKP terus bergantung pada keberadaan implementasi
IRemotelyProvisionedComponent
untuk menyediakan kunci pengesahan dan permintaan sertifikat.
Strategi pengujian
APEX aplikasi versi AOSP berisi pengujian unit yang dapat dijalankan OEM.