OMAPI Satıcı Kararlı Arayüzü

giriiş

Open Mobile API (OMAPI), bir cihazın Secure Element'iyle iletişim kurmak için kullanılan standart bir API'dir. Android 13'ten önce bu arayüze yalnızca uygulamaların ve çerçeve modüllerinin erişimi vardı. HAL modülleri, satıcı tarafından kararlı bir arayüze dönüştürülerek, OMAPI hizmeti aracılığıyla güvenli öğelerle de iletişim kurabilir.

HAL modülleri için mevcut mevcut arayüzde herhangi bir API değiştirilmeden OMAPI'ye yeni bir erişim girişi eklendi. Bu arayüzü kullanan mevcut uygulama ve çerçeve modülleri için herhangi bir değişiklik yapılması gerekmez.

Android Ready SE programının bir parçası olarak Keymaster, Keymint, Identity Credentials ve Remote Key Provisioning gibi temel Android güvenlik özelliklerini Secure Elements'te kullanılabilir hale getiriyoruz. Bunların etkinleştirilmesi, bu özelliklerin HAL'lerinin (satıcı bileşenlerinin) OMAPI satıcı kararlı arayüzü aracılığıyla Secure Element ile iletişim kurmasını gerektirir.

Tasarım mimarisi

Tasarım Mimarisi
Şekil 1 : Tasarım Mimarisi

Cihazlarına Secure Element ve Android Ready SE özelliklerini entegre eden OEM'lerin, varsayılan olarak devre dışı olduğundan bu arayüzü etkinleştirmeleri gerekir. Bu güncellemeden önce Secure Element erişim kuralları, paket adı veya imza karmaları (cihaz uygulama referansı) ve AID (SE uygulama referansı) ile tanımlanıyordu. HAL modüllerinin paket adları veya imza sertifikaları gibi benzersiz tanımlayıcıları yoktu. Artık Android 13'te OMAPI Satıcı Kararlı Hizmeti, HAL modüllerinin Secure Element'e erişmesine izin veriyor. SE satıcıları 16 baytlık benzersiz bir tanımlayıcı UUID tanımlayabilir. Bu erişim kuralını HAL modüllerine uygulamak için, SE satıcılarının bu 16 baytlık benzersiz tanımlayıcı UUID'yi, satıcılarının UUID eşleme yapılandırma XML'indeki HAL modülü UID'sine eşlemeleri gerekir.

OMAPI Satıcı Kararlı Hizmeti, bölüm 6.1, DeviceAppID-REF-DO sayfa: 66 uyarınca gerekirse UUID'yi 20 bayt yapmak için FF ile doldurur ve bu 20 baytlık UUID'yi cihaz uygulaması referansı olarak kullanarak güvenli öğelerdeki erişim kurallarını tanımlar.

Satıcı UUID eşleme dosyası adı, önceden tanımlanmış hal_uuid_map_ önekiyle oluşturulur ve ro.boot.product.hardware.sku sistem özelliğinin değeriyle eklenir.

    hal_uuid_map_value_of_ro.boot.product.hardware.sku.xml

OMAPI Satıcı Kararlı hizmeti bu dosyayı /odm/etc/ , /vendor/etc/ ve /etc/ klasörleri altında arar. Satıcının UUID eşleme yapılandırma dosyasına ilişkin ayrıntılı açıklamayı burada bulabilirsiniz.

Uygulama

Bir hedef yapıda OMAPI Satıcı Kararlı Hizmeti özelliğini etkinleştirmek için aşağıdaki değişiklikler gereklidir.

Güvenli Öğe

Güvenli Öğe

Cihaza özel klasörler altında kaynak yer paylaşımını kullanarak secure_element_vintf_enabled hizmet işaretini etkinleştirin.

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

Hizmetiniz için UID ve UUID eşleme xml'sini tanımlayın.

<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>

UUID'leri cihaz uygulaması referansları olarak kullanarak HAL hizmeti için Secure Element AR'lerini sağlayın. Bu UUID'yi HAL modülü UID'leriyle eşleyebileceğiniz eşleme yapılandırmasına bir eşleme girişi ekleyin. Bu eşlemeyle satıcılar HAL modüllerinin Secure Element'e erişmesine izin veriyor. OMAPI VTS testleri, HAL modüllerinde OMAPI Satıcı Kararlı Hizmetini etkinleştirmek için referans uygulamalar olarak kullanılabilir.

HAL modülü sepolitikasını güncelleyin: Etki alanlarının OMAPI satıcı kararlı hizmetine erişmesine izin vermek için HAL modülüne sepolicy kuralı ekleyin.

    allow hal_module_label secure_element_service:service_manager find

OMAPI satıcı kararlı hizmetine bağlanın: HAL modüllerinden, hizmete bağlanmak için OMAPI satıcı hizmet etiketini android.se.omapi.ISecureElementService/defaultandroid.se.omapi.ISecureElementService/default kullanın.

Doğrulama

OMAPI Satıcı Kararlı Hizmetinin , OMAPI VTS testlerini çalıştırarak başarıyla uygulandığını doğrulayın.

    run vts -m VtsHalOmapiSeServiceV1_TargetTest
    run vts -m VtsHalOmapiSeAccessControlTestCases