驗證開機程序會盡力確保所有執行程式碼都來自可信任的來源 (通常是裝置原始設備製造商),而非來自攻擊者或已損毀。它會建立完整的信任鏈結,從硬體保護的信任根開始,再到系統啟動載入程式、啟動分區和其他已驗證的分區,包括 system
、vendor
和選用的 oem
分區。在裝置啟動期間,每個階段會在移交執行作業前,驗證下一個階段的完整性和真實性。
除了確保裝置執行安全的 Android 版本,驗證開機程序還會透過回溯保護機制檢查正確的 Android 版本。復原保護機制可確保裝置只更新至較新的 Android 版本,進而避免潛在的漏洞持續存在。
除了驗證作業系統外,Verified Boot 還可讓 Android 裝置向使用者傳達完整性狀態。
背景
Android 4.4 新增了對 Verified Boot 和 dm-verity 核心功能的支援。這項驗證功能組合可做為驗證開機程序 1 的功能。
先前版本的 Android 會警告使用者裝置毀損,但仍允許他們啟動裝置,而 Android 7.0 開始嚴格執行「驗證啟動」機制,以防受損裝置啟動。Android 7.0 也新增了對前向錯誤修正功能的支援,可提高在非惡意資料毀損情況下的可靠性。
Android 8.0 以上版本包含 Android 驗證開機程序 (AVB),這是與 Treble 計畫相容的驗證開機程序參考實作項目。除了與 Treble 搭配使用之外,AVB 也將分割區尾端格式標準化,並新增了回溯保護功能。