通過驗證的開機程序

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

除了確保裝置運行安全版本的 Android 之外,驗證啟動還會檢查具有回滾保護的正確 Android 版本。回滾保護可確保裝置僅更新至較新版本的 Android,有助於防止可能的漏洞持續存在。

除了驗證作業系統之外,驗證啟動還允許 Android 裝置向使用者傳達其完整性狀態。

背景

Android 4.4 新增了對驗證啟動和dm-verity核心功能的支援。這種驗證功能的組合稱為驗證啟動 1。

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

Android 8.0 及更高版本包含Android 驗證啟動(AVB),這是與 Project Treble 搭配使用的驗證啟動的參考實作。除了使用 Treble 之外,AVB 還標準化了分區頁腳格式並添加了回滾保護功能。