OMAPI विक्रेता स्थिर इंटरफ़ेस

परिचय

ओपन मोबाइल एपीआई (ओएमएपीआई) एक मानक एपीआई है जिसका उपयोग डिवाइस के सुरक्षित तत्व के साथ संचार करने के लिए किया जाता है। एंड्रॉइड 13 से पहले, केवल एप्लिकेशन और फ्रेमवर्क मॉड्यूल के पास ही इस इंटरफ़ेस तक पहुंच थी। इसे विक्रेता स्थिर इंटरफ़ेस में परिवर्तित करके, एचएएल मॉड्यूल ओएमएपीआई सेवा के माध्यम से सुरक्षित तत्वों के साथ संचार करने में भी सक्षम हैं।

वर्तमान मौजूदा इंटरफ़ेस में किसी भी एपीआई को संशोधित किए बिना एचएएल मॉड्यूल के लिए ओएमएपीआई में एक नई एक्सेस प्रविष्टि जोड़ी गई थी। इस इंटरफ़ेस का उपयोग करने वाले मौजूदा एप्लिकेशन और फ़्रेमवर्क मॉड्यूल के लिए किसी संशोधन की आवश्यकता नहीं है।

एंड्रॉइड रेडी एसई प्रोग्राम के हिस्से के रूप में हम कीमास्टर, कीमिंट, आइडेंटिटी क्रेडेंशियल्स और रिमोट की प्रोविजनिंग जैसी मुख्य एंड्रॉइड सुरक्षा सुविधाओं को सिक्योर एलिमेंट्स पर उपलब्ध करा रहे हैं। इन्हें सक्षम करने के लिए ओएमएपीआई विक्रेता स्थिर इंटरफ़ेस के माध्यम से सुरक्षित तत्व के साथ संचार करने के लिए इन सुविधाओं के एचएएल (विक्रेता घटकों) की आवश्यकता होती है।

डिजाइन वास्तुकला

डिजाइन वास्तुकला
चित्र 1 : डिज़ाइन वास्तुकला

अपने उपकरणों में सिक्योर एलिमेंट और एंड्रॉइड रेडी एसई सुविधाओं को एकीकृत करने वाले ओईएम को इस इंटरफ़ेस को सक्षम करने की आवश्यकता है क्योंकि यह डिफ़ॉल्ट रूप से अक्षम है। इस अद्यतन से पहले सिक्योर एलीमेंट एक्सेस नियमों को पैकेज नाम या उसके हस्ताक्षर हैश (डिवाइस एप्लिकेशन संदर्भ) और एआईडी (एसई एप्लिकेशन संदर्भ) द्वारा परिभाषित किया गया था। एचएएल मॉड्यूल में पैकेज नाम या हस्ताक्षर प्रमाणपत्र जैसे विशिष्ट पहचानकर्ता नहीं थे। अब Android 13 में, OMAPI विक्रेता स्थिर सेवा HAL मॉड्यूल को सुरक्षित तत्व तक पहुंचने की अनुमति देती है। एसई विक्रेता 16 बाइट्स का एक विशिष्ट पहचानकर्ता यूयूआईडी परिभाषित कर सकते हैं। इस एक्सेस नियम को एचएएल मॉड्यूल पर लागू करने के लिए, एसई विक्रेताओं को इस 16 बाइट अद्वितीय पहचानकर्ता यूयूआईडी को अपने विक्रेता यूयूआईडी मैपिंग कॉन्फ़िगरेशन एक्सएमएल में एचएएल मॉड्यूल यूआईडी में मैप करना आवश्यक है।

ओएमएपीआई विक्रेता स्थिर सेवा धारा 6.1, डिवाइसऐपआईडी-आरईएफ-डीओ पेज: 66 के अनुसार, यदि आवश्यक हो तो यूयूआईडी को 20 बाइट्स बनाने के लिए एफएफ के साथ पैड करती है और डिवाइस एप्लिकेशन संदर्भ के रूप में इस 20 बाइट यूयूआईडी का उपयोग करके सुरक्षित तत्वों में एक्सेस नियमों को परिभाषित करती है।

विक्रेता UUID मैपिंग फ़ाइल नाम पूर्वनिर्धारित उपसर्ग hal_uuid_map_ के साथ बनता है और सिस्टम प्रॉपर्टी ro.boot.product.hardware.sku के मान के साथ जोड़ा जाता है

    hal_uuid_map_value_of_ro.boot.product.hardware.sku.xml

OMAPI विक्रेता स्थिर सेवा इस फ़ाइल को /odm/etc/ , /vendor/etc/ और /etc/ फ़ोल्डर के अंतर्गत खोजती है। विक्रेता यूयूआईडी मैपिंग कॉन्फ़िगरेशन फ़ाइल पर विस्तृत विवरण यहां उपलब्ध है।

कार्यान्वयन

लक्ष्य निर्माण पर OMAPI विक्रेता स्थिर सेवा सुविधा को सक्षम करने के लिए निम्नलिखित परिवर्तनों की आवश्यकता है।

सुरक्षित तत्व

सुरक्षित तत्व

डिवाइस विशिष्ट फ़ोल्डरों के अंतर्गत संसाधन ओवरले का उपयोग करके सेवा ध्वज secure_element_vintf_enabled सक्षम करें।

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

अपनी सेवा के लिए यूआईडी और यूयूआईडी मैपिंग एक्सएमएल को परिभाषित करें।

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

डिवाइस एप्लिकेशन संदर्भ के रूप में यूयूआईडी का उपयोग करके एचएएल सेवा के लिए सुरक्षित तत्व एआर का प्रावधान करें। मैपिंग कॉन्फ़िगरेशन में एक मैपिंग प्रविष्टि जोड़ें जहां आप इस यूयूआईडी को एचएएल मॉड्यूल यूआईडी में मैप कर सकते हैं। इस मैपिंग के साथ विक्रेता एचएएल मॉड्यूल को सिक्योर एलिमेंट तक पहुंचने की अनुमति दे रहे हैं। ओएमएपीआई वीटीएस परीक्षणों का उपयोग एचएएल मॉड्यूल में ओएमएपीआई विक्रेता स्थिर सेवा को सक्षम करने के लिए संदर्भ कार्यान्वयन के रूप में किया जा सकता है।

एचएएल मॉड्यूल सेपॉलिसी को अपडेट करें: अपने डोमेन को ओएमएपीआई विक्रेता स्थिर सेवा तक पहुंचने की अनुमति देने के लिए एचएएल मॉड्यूल के लिए सेपॉलिसी नियम जोड़ें।

    allow hal_module_label secure_element_service:service_manager find

OMAPI विक्रेता स्थिर सेवा से कनेक्ट करें: HAL मॉड्यूल से सेवा से कनेक्ट करने के लिए OMAPI विक्रेता सेवा लेबल android.se.omapi.ISecureElementService/defaultandroid.se.omapi.ISecureElementService/default उपयोग करें।

मान्यकरण

सत्यापित करें कि OMAPI विक्रेता स्थिर सेवा OMAPI VTS परीक्षण चलाकर सफलतापूर्वक कार्यान्वित की गई है।

    run vts -m VtsHalOmapiSeServiceV1_TargetTest
    run vts -m VtsHalOmapiSeAccessControlTestCases