確認付きブートは、攻撃者が作成したコードや破損したコードではなく、信頼できる提供元(通常はデバイスの OEM)のコードを確実に実行するための機能です。これにより、ハードウェアで保護されたルート オブ トラストから、ブートローダー、ブート パーティション、system
、vendor
、必要に応じて oem
パーティションを含む、その他の検証済みパーティションまでの完全な信頼チェーンを確立します。デバイスの起動中、各ステージでは、実行を引き渡す前に次のステージの整合性と信頼性を検証します。
確認付きブートでは、デバイスが Android の安全なバージョンを実行していることだけでなく、それがロールバック保護付きの Android の正しいバージョンであることも確認します。ロールバック保護では、デバイスを Android の新しいバージョンのみにアップデートすることで、悪用の可能性を防ぎます。
確認付きブートでは、OS の確認だけでなく、Android デバイスがユーザーに整合性の状態を伝えることもできます。
背景
Android 4.4 では、確認付きブートと dm-verity カーネル機能のサポートが追加されました。この確認機能の組み合わせは、確認付きブート 1 として提供されました。
以前のバージョンの Android では、デバイスの破損についてユーザーに警告していましたが、デバイスの起動は許可されていました。Android 7.0 からは確認付きブートが厳格に適用され、不正侵入されたデバイスが起動できなくなりました。Android 7.0 では、前方誤り訂正のサポートが追加され、悪意のないデータの破損に対する信頼性が向上しています。
Android 8.0 以降では、プロジェクト Treble と連携する確認付きブートのリファレンス実装である Android の確認付きブート(AVB)が含まれています。Treble との連携に加えて、AVB ではパーティションのフッター形式を標準化し、ロールバック保護機能を追加しました。