कार के सिस्टम को पूरी सुरक्षा देने के लिए, Android Automotive इन तरीकों से डेटा को सुरक्षित रखता है:
पहला डायग्राम. सिस्टम सर्विस आर्किटेक्चर
- ऐप्लिकेशन. सिस्टम यह पुष्टि करता है कि ऐप्लिकेशन को कार से कनेक्ट करने की अनुमति है या नहीं सबसिस्टम.
- बेहतर तरीके से तय किए गए एपीआई. जेनरिक एपीआई, आर्बिट्रेरी डेटा ब्लॉब स्वीकार नहीं करते (एपीआई को यह ज़रूरी है अच्छे से परिभाषित किया जा सकता है).
- कार सर्विस. अपडेट की अनुमति सिर्फ़ ओटीए (या यूएसबी) की मदद से और फ़ुल डिस्क में दी गई है और वेरिफ़ाइड बूट की सुविधा मिलती है. इसे अलग से लोड नहीं किया जा सकता.
- वाहन का एचएएल. चुनिंदा मैसेज की पुष्टि करता है.
ऐप्लिकेशन और एपीआई
Android Automotive, Android पर बनाया गया है. यह सीधे तौर पर, सुरक्षा से जुड़ी गंभीर समस्याओं के साथ इंटरैक्ट करता है सबसिस्टम. इसके अलावा, अलग-अलग वाहनों के लिए, अलग-अलग इंटरफ़ेस हो सकते हैं की सुविधा उपलब्ध है. इन सुविधाओं को सुरक्षित और बेहतर बनाने के लिए, एक ऐब्स्ट्रैक्ट लेयर में आइसोलेटेड है, जो Android के बाकी प्रॉडक्ट से अलग होती है. सिर्फ़ बेहतर तरीके से तय किए गए एपीआई वाहन के नेटवर्क से भेजे जाने वाले मैसेज को सख्ती से और पूरी तरह से फ़ॉर्मैट किया जाता है. हैल. यह Android डेवलपर को ऐसा इंटरफ़ेस उपलब्ध कराता है जिसके बारे में पहले से अनुमान लगाया जा सकता है. साथ ही, यह एक सुरक्षित इंटरैक्शन भी उपलब्ध कराता है अन्य वाहन के साथ.
वाहन के एचएएल मैसेज को दो लेवल पर फ़िल्टर किया जाता है:
- ऐप्लिकेशन लेवल. नॉन-सिस्टम ऐप्लिकेशन कार के ज़रिए वाहन के एचएएल को ऐक्सेस कर सकते हैं उचित अनुमतियों के साथ सेवा.
- वाहन का एचएएल लेवल. सुरक्षा और भरोसे को बढ़ाने की सुविधा देता है यह कि वाहन के सबसिस्टम को भेजे गए मैसेज किसी मान्य सोर्स से भेजे जाते हैं. इनका इस्तेमाल भी किया जा सकता है ताकि मैसेज को कम किया जा सके, नुकसान पहुंचाने वाले ऐप्लिकेशन को सीएएन बस में बाढ़ आने से रोका जा सके और वाहन के सबसिस्टम के साथ काम करने में रुकावट डाल सकता है.
वाहन का एचएएल
वाहन का एचएएल, एक निचली लेयर होती है. यह वाहन में इंटरैक्ट करते हुए, वाहन से इंटरैक्ट करती है ड्राइवर इनपुट/आउटपुट कंट्रोल (ioctl) कॉल के माध्यम से नेटवर्क और अन्य वाहन हार्डवेयर.
Android Automotive में, वाहन एचएएल ही ऐसा कॉम्पोनेंट है जो आईवीआई सिस्टम से जुड़ा है. या VMCU से सुरक्षित किया जा सकता है. वाहन के एचएएल को सिस्टम ऐप्लिकेशन तक सीमित रखना चाहिए. इसमें SELinux नियमों और सही अनुमतियों का इस्तेमाल करना चाहिए पर लागू होता है.
SELinux नीतियां
Android Automotive, ड्राइवर के ऐक्सेस को फ़िल्टर करने के लिए, SELinux को फ़िल्टर करता है. इसमें खोलना, बंद करना, पढ़ना, लिखना, और ioctl कॉल की संख्या. ioctl फ़िल्टरिंग (अन्य SELinux फ़ंक्शन के साथ) का इस्तेमाल करने से सीएएन वाले मैसेज को वाहन एचएएल से अनुमति मिलती है और वे स्वीकार किए जाते हैं. इससे हमले की सतह बहुत कम हो जाती है. इसके लिए SELinux पर विवरण, देखें, Android में बेहतर सुरक्षा के साथ Linux.
इसके अलावा, वाहन संबंधित इस्तेमाल के उदाहरणों में नई तरह की संवेदनशील जानकारी शामिल है, जिसे अलग रखना चाहिए सब कुछ कंट्रोल में है. संवेदनशील जानकारी की अनुमतियां अलग से होती हैं; एचवीएसी कंट्रोल जैसी अन्य सुविधाएँ और विंडो अडजस्टमेंट सिर्फ़ सिस्टम ऐप्लिकेशन के लिए होने चाहिए. वाहन संबंधित खास तरह के वाहन का उदाहरण SELinux नीति:
<permission-group android:name=”android.support.car.permission.CAR_MONITORING /> <permission android:name=”android.support.car.permission.CAR_MILEAGE” android:protectionLevel=”signature|privileged” /> <permission android:name=”android.support.car.permission.CAR_SPEED” android:permissionGroup=”android.permission-group.LOCATION” android:protectionLevel=”dangerous” /> <permission android:name=”android.support.car.permission.CAR_VENDOR_EXTENSION” android:permissionGroup=”android.support.car.permission.CAR_INFORMATION” android:protectionLevel=”signature|privileged” />
CAR_MONITORING
अनुमतियों का ग्रुप, वाहन संबंधित अनुमतियों के लिए बनाया गया था.
मौजूदा स्पीड को संवेदनशील जानकारी माना जा सकता है. इसलिए, CAR_SPEED
अनुमतियां खतरनाक हैं. इस लेवल का मतलब है कि
जानकारी निजी और संवेदनशील होती है. अनुमति CAR_VENDOR_EXTENSION
बनाई गई
इस्तेमाल हो सकता है. यह अनुमति उन सिस्टम ऐप्लिकेशन या साइन किए हुए ऐप्लिकेशन के लिए दी जाती है जो
को स्पष्ट रूप से यह अनुमति दी गई है.
ऐप्लिकेशन और गतिविधि को ब्लॉक करना
ड्राइविंग का ध्यान भटकने से रोकने के लिए, Android Automotive ज़्यादा कंट्रोल (अनुमति वाली सूची) उपलब्ध कराता है, ताकि यह भी पक्का करें कि गाड़ी चलाते समय, अलग से लोड किए गए ऐप्लिकेशन इस्तेमाल न किए जा सकें. ये ऐप्लिकेशन अब भी वाहन के पार्क होने या रोके जाने पर नहीं चलाए जाते.
अनुमति वाली सूची में उन ऐप्लिकेशन के बारे में बताया गया है जिनका इस्तेमाल वाहन को चलाने के दौरान किया जा सकता है. सिर्फ़ भरोसेमंद सिस्टम ऐप्लिकेशन, अनुमति वाली सूची को अपडेट कर सकते हैं. जबकि अपडेट नेटवर्क पर दिए जा सकते हैं, लेकिन अपडेट नहीं होने चाहिए उन्हें भरोसेमंद माना जाता है.