Google berkomitmen untuk mendorong terwujudnya keadilan ras bagi komunitas Kulit Hitam. Lihat caranya.

Antarmuka Stabil Vendor OMAPI

pengantar

Open Mobile API (OMAPI) adalah API standar yang digunakan untuk berkomunikasi dengan Elemen Aman perangkat. Sebelum Android 13, hanya aplikasi dan modul kerangka kerja yang memiliki akses ke antarmuka ini. Dengan mengubahnya menjadi antarmuka vendor yang stabil, modul HAL juga mampu berkomunikasi dengan elemen aman melalui layanan OMAPI.

Entri akses baru ke OMAPI telah ditambahkan untuk modul HAL tanpa mengubah API apa pun di antarmuka yang ada saat ini. Tidak ada modifikasi yang diperlukan untuk aplikasi dan modul kerangka kerja yang ada menggunakan antarmuka ini.

Sebagai bagian dari program Android Ready SE, kami menyediakan fitur keamanan inti Android seperti Keymaster, Keymint, Identity Credentials, dan Remote Key Provisioning di Secure Elements. Mengaktifkan ini memerlukan HAL (komponen vendor) dari fitur ini untuk berkomunikasi dengan Elemen Aman melalui antarmuka stabil vendor OMAPI.

Arsitektur desain

Arsitektur Desain
Gambar 1 : Arsitektur Desain

OEM yang mengintegrasikan fitur Secure Element dan Android Ready SE ke dalam perangkat mereka perlu mengaktifkan antarmuka ini karena dinonaktifkan secara default. Sebelum pembaruan ini, aturan akses Elemen Aman ditentukan oleh nama paket atau hash tanda tangannya (referensi aplikasi perangkat) dan AID (referensi aplikasi SE). Modul HAL tidak memiliki pengidentifikasi unik seperti nama paket atau sertifikat tanda tangan. Sekarang di Android 13, Layanan Stabil Vendor OMAPI memungkinkan modul HAL mengakses Elemen Aman. Vendor SE dapat menentukan pengenal unik UUID 16 byte. Untuk menerapkan aturan akses ini ke modul HAL, vendor SE diharuskan untuk memetakan UUID pengenal unik 16 byte ini ke UID modul HAL dalam XML konfigurasi pemetaan UUID vendor mereka.

OMAPI Vendor Stable Service melapisi UUID dengan FF jika perlu untuk membuatnya 20 byte, sesuai dengan bagian 6.1, halaman DeviceAppID-REF-DO: 66 dan mendefinisikan aturan akses dalam elemen aman menggunakan UUID 20 byte ini sebagai referensi aplikasi perangkat.

Nama file pemetaan UUID vendor dibentuk dengan prefiks hal_uuid_map_ yang telah ditentukan sebelumnya dan ditambahkan dengan nilai properti sistem ro.boot.product.hardware.sku

    hal_uuid_map_value_of_ro.boot.product.hardware.sku.xml

Layanan OMAPI Vendor Stable mencari file ini di folder /odm/etc/ , /vendor/etc/ dan /etc/ . Penjelasan rinci tentang file konfigurasi pemetaan UUID vendor tersedia di sini .

Penerapan

Perubahan berikut diperlukan untuk mengaktifkan fitur OMAPI Vendor Stable Service pada build target.

Elemen Aman

Elemen Aman

Aktifkan tanda layanan secure_element_vintf_enabled menggunakan hamparan sumber daya di bawah folder khusus perangkat.

    <bool name="secure_element_vintf_enabled">true</bool>

Tentukan xml pemetaan UID dan UUID untuk layanan Anda.

<ref_do>
       <uuid_ref_do>
        <uids>
            <uid>0</uid>
        </uids>
        <uuid>9f36407ead0639fc966f14dde7970f68</uuid>
    </uuid_ref_do>

        <uuid_ref_do>
        <uids>
            <uid>1096</uid>
            <uid>1097</uid>
        </uids>
        <uuid>a9b7ba70783b317e9998dc4dd82eb3c5</uuid>
    </uuid_ref_do>
</ref_do>

Sediakan AR Elemen Aman untuk layanan HAL menggunakan UUID sebagai referensi aplikasi perangkat. Tambahkan entri pemetaan di konfigurasi pemetaan tempat Anda dapat memetakan UUID ini ke UID modul HAL. Dengan pemetaan ini, vendor mengizinkan modul HAL untuk mengakses Elemen Aman. Tes OMAPI VTS dapat digunakan sebagai implementasi referensi untuk mengaktifkan Layanan Stabil Vendor OMAPI dalam modul HAL.

Perbarui sepolicy modul HAL: Tambahkan aturan sepolicy untuk modul HAL agar domain mereka dapat mengakses layanan stabil vendor OMAPI.

    allow hal_module_label secure_element_service:service_manager find

Terhubung ke layanan stabil vendor OMAPI: Dari modul HAL gunakan label layanan vendor OMAPI android.se.omapi.ISecureElementService/defaultandroid.se.omapi.ISecureElementService/default untuk terhubung ke layanan.

Validasi

Memvalidasi bahwa Layanan Stabil Vendor OMAPI telah berhasil diterapkan dengan menjalankan tes OMAPI VTS .

    run vts -m VtsHalOmapiSeServiceV1_TargetTest
    run vts -m VtsHalOmapiSeAccessControlTestCases