Android 虛擬化架構 (AVF) 總覽

Android 虛擬化架構 (AVF) 提供安全的私人執行環境,可執行程式碼。AVF 非常適合安全導向的用途,因為這些用途需要比 Android 應用程式沙箱提供的隔離機制更強大,甚至是經過正式驗證的隔離機制。Android 提供實作參考資料,其中包含實作 AVF 所需的所有元件。目前只有 ARM64 裝置支援 AVF。圖 1 顯示 AVF 的架構:

AVF 架構

圖 1. AVF 架構

以下是圖 1 中重要詞彙的定義:

apexd 和 zipfuse
安全地掛載從主機匯入的 APEX 和 APK。
authfs
Fuse 檔案系統,可在 Android 和 pVM (主機和來賓) 之間安全地共用多個檔案。
binder
VM 間通訊的主要方式。
crosvm
以 rust 編寫的虛擬機器監視器。crosvm 會分配 VM 記憶體、建立虛擬 CPU 執行緒,並實作虛擬裝置的後端。
通用核心映像檔 (GKI)
這是 Google 認證的開機映像檔,其中包含以 Android 通用核心 (ACK) 來源樹狀結構建構的 GKI 核心,適合用於刷新至 Android 裝置的啟動分區。詳情請參閱「核心總覽」一文。
hypervisor
AVF 使用的虛擬化技術,也稱為 pKVM。即使主機 Android 或任何其他 pVM 遭到入侵,輔助執行緒仍可維持執行程式碼的完整性,以及 pVM 資產的機密性。
Java API
VirtualizationService Java API,僅適用於支援 AVF 的裝置。這些 API 為選用項目,並非 thebootclasspath 的一部分。
Microdroid
Google 提供的 mini-Android OS,可在 pVM 中執行。
Microdroid Manager
管理 pVM 內部和執行個體磁碟的 pVM 生命週期。
原生 API
Android Native Development Kit (NDK) 的子集。
以核心為基礎的受保護虛擬機器 (pKVM)
請參閱「Hyper-V 虛擬機器」。
pVM 韌體 (pvmfw)
在 pVM 上執行的第一個程式碼,pvmfw 會驗證酬載並產生每個 VM 的密鑰。
受保護的虛擬機器 (pVM)

相互不信任的隔離執行環境 (「訪客」),可與主要 Android 作業系統 (「主機」) 一同執行。pVM 由 pKVM 管理。

與現有的受信任的執行環境 (TEE) 相比,pVM 提供更豐富的環境,包括名為 Microdroid 的迷你 Android 發行版。pVM 可動態使用,並在支援的所有裝置上提供一組標準 API。

VirtualizationService

管理 pVM 生命週期的 Android 服務。

後續步驟