Android安全启动学习(一):AVB校验是什么?

简介: Android安全启动学习(一):AVB校验是什么?

最近老师让学习一下AVB,这玩意很难找到资料。只有网上搜索一些零碎的资料和博客。最多的资料就是官网的。这里来整理学习一下AVB的相关资料。

1、AVB是什么?

如果你知道安全启动ATF,那么到这里肯定是能接上的,如果没有那也不影响。

我们的ATF在安全启动流程的时候走到了BL33,BL33一般就是bootloder(u-boot、BLOB、Redboot等)。到下一步就是要通过BL33去加载kernel。

这里需要讲一下android与linux的关系。

(盗图来自前面的链接)Android的kernel采用的还是Linux kernel,但很明显Android加入了自己的东西,对Linux进行了一些修改。

所以回到主题就是加载android镜像就是加载linux kernel。所以难怪有很多的android启动流程有这个图:

但是你说前面安全启动整了那么长一套,这里就松懈了肯定不行。所以我把AVB看做是ATF安全启动的延续。

所以AVB本质上还是从bootloader开始,去实现加载完整正确的系统镜像。

2、小结

上面讲诉的有点乱,小结一下。

启动时验证会尽力确保所有已执行代码均来自可信来源(通常是设备的原始设备制造商 [OEM]),以防受到攻击或损坏。它可建立一条从受硬件保护的信任根到引导加载程序再到 boot 分区和其他已验证分区(包括 system、vendor 和可选的 oem 分区)的完整信任链。

在设备启动过程中,无论是在哪个阶段,都会在进入下一个阶段之前先验证下一个阶段的完整性和真实性。

这个是不是就是牵扯到COT,前面从受硬件保护的信任根到引导加载程序这个部分就是ATF或者android官网的trusty TEE。了解一下。

AVB的关键在于第二个部分 boot 分区和其他已验证分区。

对于要启动的 Android 版本中包含的所有可执行代码和数据,启动时验证均要求在使用前以加密形式对其进行验证,其中包括内核(从 boot 分区加载)设备树(从 dtbo 分区加载)system 分区vendor 分区等

下一篇先来看看android镜像到底有什么,再来看看AVB的具体工作流程。

目录
相关文章
|
1月前
|
XML 缓存 Android开发
Android开发,使用kotlin学习多媒体功能(详细)
Android开发,使用kotlin学习多媒体功能(详细)
90 0
|
3月前
|
安全 Linux Android开发
Android 安全功能
Android 安全功能
37 0
|
3月前
|
存储 安全 Linux
Android安全启动学习(四):device-mapper-verity (dm-verity)和哈希树
Android安全启动学习(四):device-mapper-verity (dm-verity)和哈希树
116 0
|
3月前
|
开发框架 物联网 数据库
89个android学习样例源码
89个android学习样例源码
75 0
|
3月前
|
Java Android开发 C++
2023安卓逆向 -- JNI学习(从开发到反编译)
2023安卓逆向 -- JNI学习(从开发到反编译)
19 0
|
3月前
|
Android开发
Android P中的AVB校验(二)
Android P中的AVB校验(二)
72 0
|
3月前
|
Android开发
Android P中的AVB校验(一)
Android P中的AVB校验(一)
60 0
|
3月前
|
安全 Android开发
Android AVB的校验宏观的两个阶段
Android AVB的校验宏观的两个阶段
59 0
|
3月前
|
Android开发
Android源码学习(五):AVB2.0-libavb库介绍2
Android源码学习(五):AVB2.0-libavb库介绍2
101 0
|
3月前
|
安全 算法 Android开发
Android安全启动学习(五):Android Verified Boot 2.0
Android安全启动学习(五):Android Verified Boot 2.0
205 0