Android वर्चुअलाइज़ेशन फ़्रेमवर्क (AVF), कोड को चलाने के लिए सुरक्षित और निजी एनवायरमेंट उपलब्ध कराता है. AVF, सुरक्षा के लिहाज़ से इस्तेमाल के उन उदाहरणों के लिए सबसे सही है जिनमें Android के ऐप्लिकेशन सैंडबॉक्स की तुलना में, अलग-थलग रखने की ज़्यादा बेहतर और आधिकारिक तौर पर पुष्टि की गई सुरक्षा की ज़रूरत होती है. Android, AVF को लागू करने के लिए ज़रूरी सभी कॉम्पोनेंट को लागू करने का रेफ़रंस उपलब्ध कराता है. फ़िलहाल, AVF की सुविधा सिर्फ़ ARM64 डिवाइसों पर काम करती है. पहली इमेज में, AVF का आर्किटेक्चर दिखाया गया है:
पहली इमेज में दिए गए सबसे अहम शब्दों की परिभाषाएं यहां दी गई हैं:
- apexd और zipfuse
- होस्ट से इंपोर्ट किए गए APEX और APK को सुरक्षित तरीके से माउंट करता है.
- authfs
- Android और pVM (होस्ट और मेहमान) के बीच एक से ज़्यादा फ़ाइलों को सुरक्षित तरीके से शेयर करने के लिए, फ़्यूज़ फ़ाइल सिस्टम.
- बाइंडर
- वीएम के बीच कम्यूनिकेशन का मुख्य तरीका.
- क्रॉसवीएम
- रस्ट में लिखा गया वर्चुअल मशीन मॉनिटर. crsvm, वीएम मेमोरी को बांटता है, वर्चुअल सीपीयू थ्रेड बनाता है, और वर्चुअल डिवाइस के बैक-एंड को लागू करता है.
- जेनरिक कर्नेल इमेज (GKI)
- Google से सर्टिफ़ाइड बूट इमेज, जिसमें Android Common Kernel (ACK) सोर्स ट्री से बनाया गया GKI kernel शामिल होता है. साथ ही, यह Android डिवाइस के बूट पार्टीशन में फ़्लैश करने के लिए सही होती है. ज़्यादा जानकारी के लिए, कर्नल के बारे में खास जानकारी देखें.
- हाइपरवाइजर
- AVF, वर्चुअलाइज़ेशन टेक्नोलॉजी का इस्तेमाल करता है जिसे pKVM भी कहा जाता है. हायपरवाइजर, चलाए गए कोड की सुरक्षा और pVM की एसेट की गोपनीयता बनाए रखता है. भले ही, होस्ट Android या किसी दूसरे pVM का इस्तेमाल गलत तरीके से किया जा रहा हो.
- Java API
- VirtualizationService Java API, जो सिर्फ़ उन डिवाइसों पर मौजूद होते हैं जिनमें AVF की सुविधा काम करती है. ये एपीआई ज़रूरी नहीं हैं और
thebootclasspath
का हिस्सा नहीं हैं. - Microdroid
- Google का दिया गया छोटा Android OS, जो pVM में चलता है.
- Microdroid Manager
- पीवीएम और इंस्टेंस डिस्क के अंदर, पीवीएम लाइफ़साइकल को मैनेज करता है.
- नेटिव एपीआई
- Android नेटिव डेवलपर किट (NDK) का सबसेट.
- सुरक्षित कर्नेल पर आधारित वर्चुअल मशीन (pKVM)
- Hypervisor देखें.
- pVM फ़र्मवेयर (
pvmfw
) - pVM पर चलने वाला पहला कोड,
pvmfw
पेलोड की पुष्टि करता है और हर वीएम के लिए गुप्त पासकोड जनरेट करता है. - सुरक्षित वर्चुअल मशीन (pVM)
एक ऐसा अलग सेटअप ("मेहमान") जिसमें एक-दूसरे पर भरोसा नहीं किया जाता. यह मुख्य Android ऑपरेटिंग सिस्टम ("होस्ट") के साथ-साथ चलता है. pVM को pKVM मैनेज करता है.
मौजूदा ट्रस्टेड एक्ज़ीक्यूशन एनवायरमेंट (टीईई) की तुलना में, pVMs बेहतर एनवायरमेंट उपलब्ध कराते हैं. इनमें Microdroid नाम का एक छोटा Android डिस्ट्रिब्यूशन भी शामिल है. pVMs का इस्तेमाल डाइनैमिक तौर पर किया जा सकता है. साथ ही, इनमें एपीआई का स्टैंडर्ड सेट उपलब्ध होता है, जो इन पर काम करने वाले सभी डिवाइसों पर उपलब्ध होता है.
- VirtualizationService
Android की वह सेवा जो pVMs की लाइफ़साइकल मैनेज करती है.
आगे क्या करना है?
- अगर आपको एवीएफ़ की ज़रूरत को बेहतर तरीके से समझना है, तो एवीएफ़ क्यों? लेख पढ़ें.
- अलग-अलग कंपाइलेशन के लिए AVF का इस्तेमाल करने के तरीके के बारे में जानने के लिए, इस्तेमाल के उदाहरण देखें.
- अगर आपको AVF रेफ़रंस लागू करने के आर्किटेक्चर के बारे में ज़्यादा जानकारी चाहिए, तो AVF आर्किटेक्चर देखें.
- अगर आपको माइक्रोड्रॉइड के बारे में जानना है, तो माइक्रोड्रॉइड पढ़ें.
- अगर आपको यह जानना है कि AVF सुरक्षा को कैसे मैनेज करता है, तो सुरक्षा लेख पढ़ें.
- वर्चुअलाइज़ेशन सेवा की भूमिका को समझने के लिए, VirtualizationService देखें.
- एवीएफ़ के सोर्स कोड या अलग-अलग कॉम्पोनेंट के बारे में ज़्यादा जानकारी पाने के लिए, एओएसपी रिपॉज़िटरी देखें