Penyediaan Kunci Jarak Jauh

Remote Key Provisioning (RKP) telah menjadi bagian dari AOSP sejak Android 12. Android 14 memperkenalkan modul penyediaan jarak jauh yang dapat diupdate dan meningkatkan ketahanan fitur dengan meningkatkan keandalan API layanan dan mengurangi waktu untuk memperkenalkan peningkatan apa pun.

Motivasi

Sederhanakan 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. Ini bukan arsitektur yang baik karena kunci RKP sangat berbeda dengan kunci Keystore dalam hal metadata yang dilampirkan. Selain itu, hal ini memerlukan modifikasi yang canggung 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

APEX Mainline RKP, com.android.rkpd, berisi aplikasi Remote Key Provisioning Daemon (RKPD) dan komponen server sistem penyediaan jarak jauh (di-build dengan Java).

Arsitektur stack

Gambar 1 mengilustrasikan arsitektur stack RKP.

Arsitektur stack RKP

Gambar 1. Arsitektur stack RKP.

Arsitektur internal

Gambar 2 mengilustrasikan arsitektur internal RKP.

Arsitektur internal RKP

Gambar 2. Arsitektur internal RKP.

Informasi tambahan tentang arsitektur internal RKP:

  • APEX Utama RKPD - com.android.rkpd

    • Aplikasi RKPD (Java)
      • packages/modules/RemoteKeyProvisioning/app
    • Fragmen server sistem RKPD (Java)
      • packages/modules/RemoteKeyProvisioning/system-server
  • Antarmuka/implementasi HAL (Rust/C++)

    • IRemotelyProvisionedComponent
      • hardware/interfaces/security/keymint

Format paket

Aplikasi dan fungsi lain dari modul 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.