इस्तेमाल के उदाहरण

इस दस्तावेज़ में, AVF के इस्तेमाल के सामान्य उदाहरण दिए गए हैं.

वीडियो के अलग-अलग हिस्सों को मिलाकर बनाए गए वीडियो

सॉफ़्टवेयर-सुरक्षित एनक्लेव के तौर पर, सुरक्षित वीएम इन कामों के लिए सुरक्षित एनक्लेव उपलब्ध कराता है सुरक्षा के लिए संवेदनशील कोड कंपाइल करना. इस एनवायरमेंट की मदद से, कंपाइलेशन कॉन्टेंट को एक जगह से दूसरी जगह ले जाया जा सकता है bootclasspath का और सिस्टम सर्वर JAR (APEX अपडेट से ट्रिगर हुए) डिवाइस को फिर से चालू होने से पहले बूट करता है. साथ ही, APEX पोस्ट को काफ़ी कम कर देता है बूट होने का समय अपडेट करें.

लागू करने की प्रोसेस com.android.compos एपेक्स. यह कॉम्पोनेंट ज़रूरी नहीं है और इसे शामिल किया जा सकता है इसका इस्तेमाल करके makefile का इस्तेमाल करें.

वीडियो के अलग-अलग हिस्सों को मिलाकर बनाए गए वीडियो

पहली इमेज. Mainline अपडेट पर JARs कंपाइल करना

सुरक्षा का लक्ष्य, पुष्टि किए गए इनपुट को सही तरीके से कंपाइल करना और आउटपुट तैयार करना है अकेले रहना; Android, गैर-भरोसेमंद क्लाइंट के तौर पर, कंपाइलेशन में बदलाव नहीं कर सकता किसी भी अन्य तरीके से आउटपुट देना, ताकि वह बंद न हो (जब Android वापस चालू हो जाए समय के हिसाब से.

वर्चुअल मशीन (वीएम) में कंपाइलेशन सेवा सिर्फ़ तब सिग्नेचर जनरेट करती है, जब कोई में कोई गड़बड़ी हुई है. Android यहां से सार्वजनिक पासकोड वापस ला सकता है हस्ताक्षर की पुष्टि करने के लिए वीएम.

वीएम की कुंजी, वीएम की DICE प्रोफ़ाइल से जनरेट की जाती है. यह प्रोफ़ाइल APEXes की ओर से तय की जाती है अन्य वीएम पैरामीटर के अलावा, VM पर माउंट किए गए और APKs डीबग करने की क्षमता.

यह पता लगाने के लिए कि सार्वजनिक पासकोड किसी अनचाहे वीएम से नहीं है, Android बूट होता है वर्चुअल मशीन (वीएम) से पता चलता है कि कुंजी सही है या नहीं. वर्चुअल मशीन (वीएम) को पहले चालू करने पर चालू किया जाता है हर APEX अपडेट के बाद.

Protected VM के वेरिफ़ाइड बूट की सुविधा के साथ, कंपाइलेशन सेवा सिर्फ़ पुष्टि की जाती है कोड. इसलिए कोड यह तय कर सकता है कि सिर्फ़ ऐसे इनपुट स्वीकार किए जाएं जो कुछ शर्तें, उदाहरण के लिए, इनपुट फ़ाइल को सिर्फ़ वहां स्वीकार करती हैं जहां उसका नाम और fs-verity डाइजेस्ट को अनुमति वाली सूची में शामिल किया गया है.

वर्चुअल मशीन के सार्वजनिक किए गए सभी एपीआई, अटैक सरफ़ेस होते हैं. सभी इनपुट फ़ाइलें और यह मान लिया जाता है कि पैरामीटर किसी गैर-भरोसेमंद क्लाइंट से हैं. इनकी पुष्टि ज़रूरी है और जांच कर ली जाती है.

इनपुट/आउटपुट फ़ाइल के रखरखाव की पुष्टि, वर्चुअल मशीन (वीएम) से की जाती है. साथ ही, फ़ाइलों को यहां सेव किया जाता है Android की जानकारी इस तरह से दी गई है:

  • इनपुट फ़ाइल की सामग्री का इस्तेमाल करने से पहले उसकी पुष्टि करना ज़रूरी है fs-verity एल्गोरिदम. VM में कोई इनपुट फ़ाइल उपलब्ध होने के लिए, इसका रूट हैश एक ऐसे कंटेनर (APK) में दिया जाना चाहिए जो वर्चुअल मशीन (वीएम) की DICE प्रोफ़ाइल. भरोसेमंद रूट हैश की मदद से हमलावर, छेड़छाड़ नहीं कर सकता का पता लगाए बिना इनपुट के साथ किया जा सकता है.
  • वीएम में, आउटपुट फ़ाइल के साथ पूरी सुरक्षा का होना ज़रूरी है. भले ही आउटपुट फ़ाइल को Android पर सेव किया जाता है. यह फ़ाइल जनरेट होने के दौरान, इसे उसी fs-verity ट्री फ़ॉर्मैट में रखा जाता है, लेकिन इसे डाइनैमिक तौर पर इस्तेमाल किया जा सकता है अपडेट किया गया. फ़ाइनल आउटपुट फ़ाइल की पहचान रूट हैश से की जा सकती है, जो वीएम में आइसोलेटेड होता है. वीएम में मौजूद सेवा, आउटपुट को सुरक्षित रखती है हस्ताक्षर के आधार पर फ़ाइलें सेव की जाती हैं.