Android Virtualization Framework (AVF) ให้สภาพแวดล้อมการดำเนินการที่ปลอดภัยและเป็นส่วนตัวสำหรับการรันโค้ด AVF เหมาะอย่างยิ่งสำหรับกรณีการใช้งานที่มุ่งเน้นการรักษาความปลอดภัยซึ่งต้องการการรับประกันแยกที่รัดกุมยิ่งขึ้น แม้จะผ่านการตรวจสอบอย่างเป็นทางการ Android ให้การใช้งานอ้างอิงขององค์ประกอบทั้งหมดที่จำเป็นในการติดตั้ง AVF ปัจจุบัน AVF รองรับเฉพาะในอุปกรณ์ ARM64 เท่านั้น รูปที่ 1 แสดงสถาปัตยกรรมของ AVF:
นี่คือคำจำกัดความของคำศัพท์ที่สำคัญที่สุดจากรูปที่ 1:
- เอเพ็กซ์และซิปฟิวส์
- ติดตั้ง APEXes และ APK ที่นำเข้าจากโฮสต์อย่างปลอดภัย
- รับรองความถูกต้อง
- ระบบไฟล์ฟิวส์เพื่อความปลอดภัยในการแชร์ไฟล์หลายไฟล์ระหว่าง Android และ pVM (โฮสต์และแขก)
- เครื่องผูก
- วิธีการหลักในการสื่อสารระหว่าง VM
- ข้าม
- จอภาพเครื่องเสมือนเขียนด้วยสนิม crosvm จัดสรรหน่วยความจำ VM สร้างเธรด CPU เสมือน และนำส่วนหลังของอุปกรณ์เสมือนไปใช้
- ภาพเคอร์เนลทั่วไป (GKI)
- อิมเมจสำหรับบูตที่รับรองโดย Google ซึ่งมีเคอร์เนล GKI ที่สร้างจากแผนผังต้นทางของ Android Common Kernel (ACK) และเหมาะที่จะแฟลชไปยังพาร์ติชันสำหรับเริ่มระบบของอุปกรณ์ Android สำหรับข้อมูลเพิ่มเติม โปรดดู ภาพรวมของเคอร์เนล
- ไฮเปอร์ไวเซอร์
- เทคโนโลยีการจำลองเสมือนที่ใช้โดย AVF หรือที่เรียกว่า pKVM ไฮเปอร์ไวเซอร์จะรักษาความสมบูรณ์ของรหัสที่ดำเนินการและการรักษาความลับของทรัพย์สินของ pVM แม้ว่า Android หรือ pVM อื่นๆ จะถูกบุกรุกก็ตาม
- Java API
- VirtualizationService Java API ซึ่งมีอยู่ในอุปกรณ์ที่รองรับ AVF เท่านั้น API เหล่านี้เป็นทางเลือกและไม่ได้เป็นส่วนหนึ่งของ
thebootclasspath
- ไมโครดรอยด์
- ระบบปฏิบัติการ Android ขนาดเล็กที่ Google จัดหาให้ซึ่งทำงานใน pVM
- ผู้จัดการไมโครดรอยด์
- จัดการวงจรชีวิต pVM ภายใน pVM และดิสก์อินสแตนซ์
- API เนทีฟ
- ชุดย่อยของ Android Native Developers Kit (NDK)
- เครื่องเสมือนที่ใช้เคอร์เนลที่ได้รับการป้องกัน (pKVM)
- ดู ไฮเปอร์ไวเซอร์
- เฟิร์มแวร์ pVM (
pvmfw
) - รหัสแรกที่ทำงานบน pVM,
pvmfw
ตรวจสอบเพย์โหลดและรับข้อมูลลับต่อ VM - เครื่องเสมือนที่ได้รับการป้องกัน (pVM)
สภาพแวดล้อมการดำเนินการแบบแยกส่วนที่ไม่น่าเชื่อถือร่วมกัน ("แขก") ซึ่งทำงานควบคู่ไปกับระบบปฏิบัติการ Android หลัก ("โฮสต์") pVM ได้รับการจัดการโดย pKVM
เมื่อเปรียบเทียบกับสภาพแวดล้อมการดำเนินการที่เชื่อถือได้ (TEE) pVM จะให้สภาพแวดล้อมที่สมบูรณ์ยิ่งขึ้น รวมถึงการกระจาย Android ขนาดเล็กที่เรียกว่า Microdroid สามารถใช้ pVM แบบไดนามิกและจัดเตรียมชุดมาตรฐานของ API ที่มีอยู่ในอุปกรณ์ทั้งหมดที่รองรับ
- Virutalizationบริการ
บริการ Android ที่จัดการวงจรชีวิตของ pVM
อะไรต่อไป?
- หากคุณต้องการเข้าใจความต้องการ AVF ให้ดียิ่งขึ้น โปรดดูที่ Why AVF? .
- หากต้องการอ่านเกี่ยวกับวิธีใช้ AVF สำหรับการคอมไพล์แบบแยก โปรดดูที่ กรณีการใช้งาน
- หากคุณต้องการคำอธิบายเชิงลึกเพิ่มเติมเกี่ยวกับสถาปัตยกรรมของการนำ AVF ไปใช้ โปรดอ้างอิง สถาปัตยกรรม AVF
- หากคุณต้องการเรียนรู้เกี่ยวกับ Microdroid โปรดดูที่ Microdroid
- หากคุณสนใจว่า AVF จัดการกับความปลอดภัยอย่างไร โปรดดูที่ ความปลอดภัย
- เพื่อทำความเข้าใจบทบาทของบริการเวอร์ชวลไลเซชัน โปรดดูที่ VirtualizationService