保證安卓設備啟動安全的AVB

一、什麼是AVB

Android Verified Boot (AVB) 是 Google Android 系統固有的一種引導程序驗證機制,旨在保障 Android 設備在啟動過程中不受攻擊和威脅。AVB 機制尤其適用於 Android 操作系統從 7.0 開始,如果設備上的引導程序檢測到系統映像和引導程序有違背驗證規則的可能性,將會阻止系統繼續啟動,提高系統的安全性。

AVB 基於內核秘鑰和保留數據分區來實現引導驗證。硬件廠商和設備製造商必須在生產過程中安全地生成這些秘鑰,並將其保存在設備上。引導程序完成啟動前驗證,如果沒有找到有效的驗證結果,則引導程序不會繼續啟動系統映像。

二、AVB 如何保障設備啟動安全

AVB 保證 Android 設備安全啟動的過程主要包括以下方面:

1. 關於映像

AVB 對 Android 設備上的系統映像進行簽名和驗證,使得無法在設備上下載、量產的映像篡改。如果設備上的引導程序遇到無法驗證的映像,設備就提醒用戶該設備軟件存在風險並拒絕啟動。

2. 關於引導程序

AVB 在啟動的時候會校驗設備的引導程序和引導配置,如果被篡改時,設備將不會繼續啟動。

3. 引導程序與應用程序分離

引導程序通常都是已知和可驗證的,它們非常小巧、高效、統一。AVB 強制要求引導程序與應用程序完全分離。因此,對於已經通過驗證的引導程序,需要接管它們的信息來啟動系統。

三、如何實現 AVB

我們可以通過以下方式來實現AVB的設計:

1. 生成硬件級別密鑰

AVB 的正確實現需要硬件實現安全。設備製造商必須使用提前生產的硬件級別密鑰來驗證它們而不是使用軟件級別密鑰,從而確保本身是安全的。硬件級別密鑰的生成應該是隨機的,儘可能安全和難以預計,這是通常由 FIPS 標準的實現要求的。

2. 實現固件簽名

硬件生成的密鑰使用強密碼學算法來生成設備的 AVB 簽名。使用固件簽名工具將簽名附加到 Android 映像鏡像上。能夠驗證固件簽名使用工具和映像的目標設備。

    tools/avbtool add_hash_footer --image vbmeta.img --partition_size 4096 --partition_name boot

3. 保證整個系統的安全

設備製造商必須使用保留數據分區模式來保證該參數不受“刷入攻擊”的影響。在日常操作中,如果用戶無法自己管理這些參數或驗證其完整性,則默認為 Android 驗證引導程序先查找驗證參數的位置。如果驗證失敗 AVB 阻止系統啟動。

四、總結

AVB 可以從多個方面為 Android 設備提供更高的安全防護,簽名驗證和引導程序驗證都是 AVB 機制的一部分。引導程序與應用程序分離是硬件設計水平的提高,一些高端 Android 設備可能今後會成為自欺行業的必要選擇。AVB 的正確實現需要硬件級別安全的保證,以便預防惡意軟件的攻擊。有了 AVB 機制,Android 設備的安全性得到了極大地提升。

原創文章,作者:VDFS,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/138414.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
VDFS的頭像VDFS
上一篇 2024-10-04 00:19
下一篇 2024-10-04 00:20

相關推薦

發表回復

登錄後才能評論