Penyediaan Kunci Jarak Jauh

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.

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:

  • RKPD Mainline APEX - 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 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.