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

article/2025/10/25 1:05:34

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

1、AVB是什么?

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

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

这里需要讲一下android与linux的关系。详细内容看一下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的具体工作流程。


http://chatgpt.dhexx.cn/article/2tMwD1XO.shtml

相关文章

Android学习之路

学习路线图 一张图搞定,非常全面 扩展资料 Android 开发书籍推荐 & 学习路线图 & 资料汇整

【Kotlin -- 知识点】学习资料

| Кotlin 是一种在 Java 虚拟机上运行的现代编程语言。它具有优雅的语法,并且可以与所有现有的 Java 库进行互操作。在 2017 年的 Google I/O 上,Android 团队宣布 Kotlin 将成为 Android 平台的官方编程语言。这使 Kotlin 有望成为未来的顶级编程语言…

Android OpenGL ES 学习(二) -- 图形渲染管线和GLSL

OpenGL 学习教程 Android OpenGL ES 学习(一) – 基本概念 Android OpenGL ES 学习(二) – 图形渲染管线和GLSL Android OpenGL ES 学习(三) – 绘制平面图形 Android OpenGL ES 学习(四) – 正交投屏 Android OpenGL ES 学习(五) – 渐变色 Android OpenGL ES 学习(六) – 使用…

Android开发的经典入门教材和学习路线

---------------------------------------------------------------------------------------------------------------------- Android开发书籍推荐:从入门到精通系列学习路线书籍介绍 (https://www.diycode.cc/wiki/androidbook) 很多时候我们都会不断收到新手…

2022 Android 进阶学习RoadMap

看到一篇文章中提到“最近几年国内的初级Android程序员已经很多了,但是中高级的Android技术人才仍然稀缺“;这的确不假,今年已经是2022年了,距离Android巅峰时期那会已经过去七八年了,现在想找一个适合的中高级Android工程师的确不…

Android入门基础教程

第1章 Android Studio运行第一个程序 1.1 Android Studio下载: 1.1.1 Android开发者官网: https://developer.android.google.cn ​ 1.1.2 下载Android Studio开发者工具: 进入Android开发者官网;找到Android Studio工具下载页…

学习Android逆向

工具 抓包:httpcanary高级版-Android文档类资源-CSDN下载安卓手机抓包工具httpcanary高级版.apk更多下载资源、学习资料请访问CSDN下载频道.https://download.csdn.net/download/XJ74110/85031291 反编译:AndroidKiller_v1.3.1-Android文档类资源-CSDN下…

Android 学习路线

Java基础 Java Object类方法 HashMap原理,Hash冲突,并发集合,线程安全集合及实现原理 HashMap 和 HashTable 区别 HashCode 作用,如何重载hashCode方法 ArrayList与LinkList区别与联系 GC机制 Java反射机制,Java…

【Android -- 学习】学习资料汇总

文章目录 一、前言二、书籍1. Java 书籍2. 算法与数据结构3. 操作系统4. 网络5. Android 书籍6. 软件工程7. 敏捷开发8. 其它 三、学习网站1. 大学资源网2. 北京大学公开课3. 大学自学网4. 偶书5. 哔哩哔哩6. 简单教程7. Stack Overflow8. YouTube9. 牛客网10. CSDN 四、博客五…

Android八大模块进阶学习笔记(性能优化、百大框架、高级UI、Flutter、Kotlin...)

今年来,Android开发行业的就业形势愈加严峻,无论刚刚入门Android学习没有头绪的、还是开发多年想要突破薪资范畴的,都需要跳出编码和业务的局限,学会选型、扩展, 提升编程思维,建立良好的职业规划&#xff…

Android学习笔记(一):Android基础

1 Android发展和历史 Android是由Android公司创造的手机操作系统,公司创始人是Andy Rubin,后来被Google收购,Google于2007年11月发布了Android 1.0手机操作系统,在2009年发布了Android 1.5,此后Android发展迅速。目前…

dspic c语言教程,轻松学PIC之数码管篇 PIC单片机学习系列教程

轻松学PIC之数码管篇 PIC单片机学习系列教程 大家好,通过前一期的学习,我们已经对ICD2仿真烧写器和增强型PIC实验板的使用方法及学习方式有所了解与熟悉,学会了如何用单片机来控制发光管、继电器、蜂鸣器、按键等资源,体会到了学习…

PIC单片机之I/O控制

I/O控制对于单片机而言是最基础最核心的东西,其实单片机除了AD DA 转换之外的事情。其他大部分的事情I/O口都能做的到。I/O控制简单却能千变万化。 单片机在大部分应用中做的事情,莫过于 输入高低电平 ,输出高低电平。就是通过这简单的控制电…

PIC单片机入门_中断系统详解

1.中断的基本概念 当单片机正在执行程序时,出现了某些特殊状况,例如定时时间到、有键盘信号输入等,此时CPU须要暂时停止当前的程序,而转去执行处理这些事件的程序,待执行完这些特定的程序之后,再返回到原先…

PIC单片机学习笔记

视频内容来自哔哩哔哩-【单片机】PIC单片机F877A视频教程(郭天祥) 1、简介 本视频使用的单片机是PIC16F877A (公司用的的dsPIC33FJ128GP306) dsPIC33——16位单片机 中档产品仅有35条汇编语言——意外之喜 哈佛总线结构、RI…

PIC单片机学习—USART串口

PIC单片机学习—USART串口 最近做了几个项目都用到了PIC单片机,在这几个项目之前我只用到了51单片机和STM32来做控制类的项目,用PIC单片机的时候发现使用的时候和51单片机还是有所区别,有许多小坑需要注意,所以决定写几篇针对新手…

PIC单片机应用开发实践教程(四): MPLAB X IDE Debug

源码基于 PIC16F15355开发板,想了解详情,请点 PIC16F15355开发板 当程序写好后,我们就可以使用在线调试功能,验证代码的正确性。 1、打开工程 File - Open Project ,打开我们要调试的工程 2、打开工程属性&#xf…

PIC单片机

PIC芯片所用编译器是MPLAB X IDE,刚开始接触PIC单片机,也是一脸茫然,然后查阅资料逐渐了解、运用编译器,这里我就不说编译器怎么使用了,下面我将以PIC12LF1822芯片为例,简单来说说我见解,分别说…

PIC单片机应用开发实践教程(六): 代码配置器(MCC)

源码基于 PIC16F15355开发板,想了解详情,请点 PIC16F15355开发板 1、简介 MPLAB 代码配置器(MPLAB Code Configurator,MCC)通过图形用户界面(Graphical User Interface,GUI)生成驱…

【PIC】单片机基本概述

1. 公司 PIC 单片机是 Microchip(微芯) 公司的产品,始于1989年。 2. 精简指令集技术 传统的单片机采用复杂指令集(Complex Instruction Set Computer, CISC)结构,通常有50~110条。而 PIC 采用精简指令集&…