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

परिचय

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

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

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

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

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

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

OMAPI विक्रेता स्थिर सेवा UUID को FF के साथ पैड करती है, यदि आवश्यक हो तो इसे 6.1, DeviceAppID-REF-DO पृष्ठ: 66 के अनुसार 20 बाइट्स बनाने के लिए और इस 20 बाइट UUID को डिवाइस एप्लिकेशन संदर्भ के रूप में उपयोग करके सुरक्षित तत्वों में एक्सेस नियमों को परिभाषित करता है।

विक्रेता 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/ फ़ोल्डर के अंतर्गत खोजती है। वेंडर UUID मैपिंग कॉन्फ़िगरेशन फ़ाइल पर विस्तृत विवरण यहां उपलब्ध है

कार्यान्वयन

लक्ष्य बिल्ड पर 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>

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

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

    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