驗證啟動

Verified Boot 努力確保所有執行的代碼都來自受信任的來源(通常是設備 OEM),而不是來自攻擊者或損壞。它建立了一個完整的信任鏈,從受硬件保護的信任根到引導加載程序,到引導分區和其他經過驗證的分區,包括systemvendor和可選的oem分區。在設備啟動期間,每個階段都會在移交執行之前驗證下一個階段的完整性和真實性。

除了確保設備運行的是安全版本的 Android 之外,驗證啟動還會檢查具有回滾保護的 Android 版本是否正確。回滾保護通過確保設備僅更新到較新版本的 Android 來幫助防止可能的漏洞持續存在。

除了驗證操作系統之外,驗證啟動還允許 Android 設備將其完整性狀態傳達給用戶。

背景

Android 4.4 添加了對 Verified Boot 和dm-verity內核功能的支持。這種驗證功能的組合用作驗證啟動 1。

以前的 Android 版本警告用戶設備損壞,但仍允許他們啟動設備,而 Android 7.0 開始嚴格執行驗證啟動,以防止受損設備啟動。 Android 7.0 還增加了對前向糾錯的支持,以提高針對非惡意數據損壞的可靠性。

Android 8.0 及更高版本包括Android Verified Boot (AVB),這是與 Project Treble 一起使用的 Verified Boot 的參考實現。除了使用 Treble,AVB 還標準化了分區頁腳格式並添加了回滾保護功能。