ภาพรวม Android Virtualization Framework (AVF)

Android Virtualization Framework (AVF) ให้สภาพแวดล้อมการดำเนินการที่ปลอดภัยและเป็นส่วนตัวสำหรับการรันโค้ด AVF เหมาะอย่างยิ่งสำหรับกรณีการใช้งานที่มุ่งเน้นการรักษาความปลอดภัยซึ่งต้องการการรับประกันแยกที่รัดกุมยิ่งขึ้น แม้จะผ่านการตรวจสอบอย่างเป็นทางการ Android ให้การใช้งานอ้างอิงขององค์ประกอบทั้งหมดที่จำเป็นในการติดตั้ง AVF ปัจจุบัน AVF รองรับเฉพาะในอุปกรณ์ ARM64 เท่านั้น รูปที่ 1 แสดงสถาปัตยกรรมของ AVF:

สถาปัตยกรรม AVF

รูปที่ 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