Penyediaan Kunci Jarak Jauh (RKP) telah menjadi bagian dari AOSP sejak Android 12. Android 14 memperkenalkan modul yang dapat diupdate untuk penyediaan jarak jauh yang meningkatkan ketahanan fitur dengan meningkatkan ketahanan API layanan dan mengurangi waktu untuk memperkenalkan peningkatan apa pun.
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. Hal ini bukan arsitektur yang baik karena kunci RKP sangat berbeda dengan kunci Keystore dalam hal metadata terlampir. Selain itu, hal ini memerlukan modifikasi 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 ke dalam APEX.
Batas modul
RKP Mainline APEX, com.android.rkpd, berisi aplikasi Daemon Penyediaan Kunci Jarak Jauh (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++)
IRemotelyProvisionedComponenthardware/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
Versi AOSP dari APEX aplikasi berisi pengujian unit yang dapat dijalankan oleh OEM.