blob: 96fc6acf94592f11bc8a09fb9abe20890dfc90b1 [file] [log] [blame]
<html devsite><head>
<title>验证启动</title>
<meta name="project_path" value="/_project.yaml"/>
<meta name="book_path" value="/_book.yaml"/>
</head>
<body>
<!--
Copyright 2017 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<p>
验证启动会尽力确保所有已执行代码均来自可信来源(通常是设备的原始设备制造商 [OEM]),以防受到攻击或损坏。它可建立一条从受硬件保护的信任根到引导加载程序,再到启动分区和其他已验证分区(包括 <code>system</code><code>vendor</code> 和可选的 <code>oem</code> 分区)的完整信任链。在设备启动过程中,无论是在哪个阶段,都会在进入下一个阶段之前先验证下一个阶段的完整性和真实性。
</p>
<p>
除了确保设备运行的是安全的 Android 版本外,验证启动还会检查是否存在内置了<a href="/security/verifiedboot/verified-boot#rollback-protection">回滚保护</a>的正确 Android 版本。回滚保护可确保设备只会更新到更高的 Android 版本,从而帮助避免可能的漏洞持续存在。
</p>
<p>
除了验证操作系统外,验证启动还允许 Android 设备将其完整性状态传达给用户。
</p>
<h2 id="background">背景</h2>
<p>
Android 4.4 增加了对验证启动和 <a href="/security/verifiedboot/dm-verity">dm-verity</a> 内核功能的支持。这种验证功能组合就是验证启动 1。
</p>
<p>
以前的 Android 版本会在发现设备损坏时向用户发出警告,但仍然允许他们启动设备;从 Android 7.0 开始,系统会严格强制执行验证启动,从而使遭到入侵的设备无法启动。Android 7.0 还增加了对前向纠错功能的支持,有助于更可靠地防范非恶意数据损坏。
</p>
<p>
Android 8.0 及更高版本包含 <a href="/security/verifiedboot/avb">Android 验证启动</a> (AVB),AVB 是验证启动的一个参考实现,可与 Project Treble 配合使用。除了与 Treble 配合使用外,AVB 还对分区脚本格式进行了标准化并增添了回滚保护功能。
</p>
</body></html>