ภาพรวมของกรอบงานการจำลองเสมือนของ Android (AVF)

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

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

รูปที่ 1. สถาปัตยกรรม AVF

ต่อไปนี้เป็นคำจำกัดความสำหรับคำศัพท์ที่สำคัญที่สุดจากรูปที่ 1:

apexd และ zipfuse
ติดตั้ง APEX และ APK ที่นำเข้าจากโฮสต์อย่างปลอดภัย
การตรวจสอบสิทธิ์
ระบบไฟล์ฟิวส์สำหรับการแชร์ไฟล์หลายไฟล์อย่างปลอดภัยระหว่าง Android และ pVM (โฮสต์และแขก)
เครื่องผูก
วิธีหลักของการสื่อสารระหว่าง VM
ครอสวีม
มอนิเตอร์เครื่องเสมือนเขียนด้วยสนิม crosvm จัดสรรหน่วยความจำ VM สร้างเธรด CPU เสมือน และใช้แบ็คเอนด์ของอุปกรณ์เสมือน
เคอร์เนลอิมเมจทั่วไป (GKI)
อิมเมจสำหรับบูตที่ได้รับการรับรองโดย Google ซึ่งมีเคอร์เนล GKI ที่สร้างจากแผนผังต้นทางของ Android Common Kernel (ACK) และเหมาะที่จะแฟลชไปยังพาร์ติชันสำหรับบูตของอุปกรณ์ Android สำหรับข้อมูลเพิ่มเติม โปรดดู ภาพรวมเคอร์เนล
ไฮเปอร์ไวเซอร์
เทคโนโลยีการจำลองเสมือนที่ใช้โดย AVF หรือที่เรียกว่า pKVM ไฮเปอร์ไวเซอร์จะรักษาความสมบูรณ์ของโค้ดที่ดำเนินการและการรักษาความลับของทรัพย์สินของ pVM แม้ว่า Android หรือ pVM อื่นๆ จะถูกบุกรุกก็ตาม
จาวา API
VirtualizationService Java API ซึ่งมีเฉพาะบนอุปกรณ์ที่รองรับ AVF เท่านั้น API เหล่านี้เป็นทางเลือกและไม่ได้เป็นส่วนหนึ่งของ thebootclasspath
ไมโครดรอยด์
ระบบปฏิบัติการ mini-Android ที่ Google จัดหาให้ซึ่งทำงานใน pVM
ผู้จัดการไมโครดรอยด์
จัดการวงจรการใช้งาน pVM ภายใน pVM และดิสก์อินสแตนซ์
API ดั้งเดิม
ชุดย่อยของ Android Native Developers Kit (NDK)
เครื่องเสมือนที่ใช้เคอร์เนลที่ได้รับการป้องกัน (pKVM)
ดู ไฮเปอร์ไวเซอร์
เฟิร์มแวร์ pVM ( pvmfw )
โค้ดแรกที่รันบน pVM คือ pvmfw จะตรวจสอบเพย์โหลดและรับข้อมูลลับต่อ VM
เครื่องเสมือนที่ได้รับการป้องกัน (pVM)

สภาพแวดล้อมการดำเนินการแบบแยกที่ไม่น่าเชื่อถือร่วมกัน ("แขก") ที่ทำงานควบคู่ไปกับระบบปฏิบัติการ Android หลัก ("โฮสต์") pVM ได้รับการจัดการโดย pKVM

เมื่อเปรียบเทียบกับสภาพแวดล้อมการดำเนินการที่เชื่อถือได้ (TEE) ที่มีอยู่แล้ว pVM จะให้สภาพแวดล้อมที่สมบูรณ์ยิ่งขึ้น รวมถึงการเผยแพร่ mini-Android ที่เรียกว่า Microdroid pVM สามารถใช้งานได้แบบไดนามิกและจัดเตรียมชุด API มาตรฐานที่พร้อมใช้งานในทุกอุปกรณ์ที่รองรับ

บริการการจำลองเสมือน

บริการ Android ที่จัดการวงจรชีวิตของ pVM

อะไรต่อไป?

  • หากคุณต้องการเข้าใจถึงความจำเป็นของ AVF มากขึ้น โปรดดูที่ ทำไมต้อง AVF? -
  • หากต้องการอ่านเกี่ยวกับวิธีการใช้ AVF สำหรับการรวบรวมแบบแยก โปรดดู กรณีการใช้งาน
  • หากคุณต้องการคำอธิบายเชิงลึกเพิ่มเติมเกี่ยวกับสถาปัตยกรรมการใช้งานอ้างอิง AVF โปรดดูที่ สถาปัตยกรรม AVF
  • หากคุณต้องการเรียนรู้เกี่ยวกับ Microdroid โปรดดูที่ Microdroid
  • หากคุณสนใจว่า AVF จัดการกับความปลอดภัยอย่างไร โปรดดูที่ ความปลอดภัย
  • หากต้องการทำความเข้าใจบทบาทของบริการการจำลองเสมือน โปรดดูที่ VirtualizationService
  • สำหรับซอร์สโค้ดของ AVF หรือคำอธิบายเชิงลึกเกี่ยวกับส่วนประกอบแต่ละรายการ โปรดดูที่ พื้นที่เก็บข้อมูล AOSP
-

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

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

รูปที่ 1. สถาปัตยกรรม AVF

ต่อไปนี้เป็นคำจำกัดความสำหรับคำศัพท์ที่สำคัญที่สุดจากรูปที่ 1:

apexd และ zipfuse
ติดตั้ง APEX และ APK ที่นำเข้าจากโฮสต์อย่างปลอดภัย
การตรวจสอบสิทธิ์
ระบบไฟล์ฟิวส์สำหรับการแชร์ไฟล์หลายไฟล์อย่างปลอดภัยระหว่าง Android และ pVM (โฮสต์และแขก)
เครื่องผูก
วิธีหลักของการสื่อสารระหว่าง VM
ครอสวีม
มอนิเตอร์เครื่องเสมือนเขียนด้วยสนิม crosvm จัดสรรหน่วยความจำ VM สร้างเธรด CPU เสมือน และใช้แบ็คเอนด์ของอุปกรณ์เสมือน
เคอร์เนลอิมเมจทั่วไป (GKI)
อิมเมจสำหรับบูตที่ได้รับการรับรองโดย Google ซึ่งมีเคอร์เนล GKI ที่สร้างจากแผนผังต้นทางของ Android Common Kernel (ACK) และเหมาะที่จะแฟลชไปยังพาร์ติชันสำหรับบูตของอุปกรณ์ Android สำหรับข้อมูลเพิ่มเติม โปรดดู ภาพรวมเคอร์เนล
ไฮเปอร์ไวเซอร์
เทคโนโลยีการจำลองเสมือนที่ใช้โดย AVF หรือที่เรียกว่า pKVM ไฮเปอร์ไวเซอร์จะรักษาความสมบูรณ์ของโค้ดที่ดำเนินการและการรักษาความลับของทรัพย์สินของ pVM แม้ว่า Android หรือ pVM อื่นๆ จะถูกบุกรุกก็ตาม
จาวา API
VirtualizationService Java API ซึ่งมีเฉพาะบนอุปกรณ์ที่รองรับ AVF เท่านั้น API เหล่านี้เป็นทางเลือกและไม่ได้เป็นส่วนหนึ่งของ thebootclasspath
ไมโครดรอยด์
ระบบปฏิบัติการ mini-Android ที่ Google จัดหาให้ซึ่งทำงานใน pVM
ผู้จัดการไมโครดรอยด์
จัดการวงจรการใช้งาน pVM ภายใน pVM และดิสก์อินสแตนซ์
API ดั้งเดิม
ชุดย่อยของ Android Native Developers Kit (NDK)
เครื่องเสมือนที่ใช้เคอร์เนลที่ได้รับการป้องกัน (pKVM)
ดู ไฮเปอร์ไวเซอร์
เฟิร์มแวร์ pVM ( pvmfw )
โค้ดแรกที่รันบน pVM คือ pvmfw จะตรวจสอบเพย์โหลดและรับข้อมูลลับต่อ VM
เครื่องเสมือนที่ได้รับการป้องกัน (pVM)

สภาพแวดล้อมการดำเนินการแบบแยกที่ไม่น่าเชื่อถือร่วมกัน ("แขก") ที่ทำงานควบคู่ไปกับระบบปฏิบัติการ Android หลัก ("โฮสต์") pVM ได้รับการจัดการโดย pKVM

เมื่อเปรียบเทียบกับสภาพแวดล้อมการดำเนินการที่เชื่อถือได้ (TEE) ที่มีอยู่แล้ว pVM จะให้สภาพแวดล้อมที่สมบูรณ์ยิ่งขึ้น รวมถึงการเผยแพร่ mini-Android ที่เรียกว่า Microdroid pVM สามารถใช้งานได้แบบไดนามิกและจัดเตรียมชุด API มาตรฐานที่พร้อมใช้งานในทุกอุปกรณ์ที่รองรับ

บริการการจำลองเสมือน

บริการ Android ที่จัดการวงจรชีวิตของ pVM

อะไรต่อไป?

  • หากคุณต้องการเข้าใจถึงความจำเป็นของ AVF มากขึ้น โปรดดูที่ ทำไมต้อง AVF? -
  • หากต้องการอ่านเกี่ยวกับวิธีการใช้ AVF สำหรับการรวบรวมแบบแยก โปรดดู กรณีการใช้งาน
  • หากคุณต้องการคำอธิบายเชิงลึกเพิ่มเติมเกี่ยวกับสถาปัตยกรรมการใช้งานอ้างอิง AVF โปรดดูที่ สถาปัตยกรรม AVF
  • หากคุณต้องการเรียนรู้เกี่ยวกับ Microdroid โปรดดูที่ Microdroid
  • หากคุณสนใจว่า AVF จัดการกับความปลอดภัยอย่างไร โปรดดูที่ ความปลอดภัย
  • หากต้องการทำความเข้าใจบทบาทของบริการการจำลองเสมือน โปรดดูที่ VirtualizationService
  • สำหรับซอร์สโค้ดของ AVF หรือคำอธิบายเชิงลึกเกี่ยวกับส่วนประกอบแต่ละรายการ โปรดดูที่ พื้นที่เก็บข้อมูล AOSP