Android手机启动流程与TEE OS

本文详细解析了移植了TEEOS的Android手机系统启动流程,包括从系统上电到加载Modem的全过程,以及各阶段组件如BOOTROM、preloader、ATF、TEE、LK和Android Kernel的作用。同时,阐述了Google对于验证启动功能的要求,强调其在保障设备软件完整性和安全性方面的重要性。
摘要由CSDN通过智能技术生成

 

转载:https://cloud.tencent.com/developer/article/1043659

个移植了TEEOS的Android手机系统启动流程如下:

系统启动流程如图所示,具体为:

①系统上电,PC指针指向芯片内部BOOT ROM地址并执行。

②BOOT ROM从外部存储设备加载、验证preloader并跳转执行。

③preloader从外部存储加载(验证) ATF(ARM可信固件)、TEE OS、LK,并跳转到ATF执行。

④ATF跳转到TEE OS执行初始化,再返回ATF。

⑤ATF跳转到LK执行。

⑥LK加载运行Android linux kernel。

⑦系统加载Modem。

BOOT ROM:固化在CPU芯片内部ROM中,上电cpu pc就指向这段地址并开始运行。

Preloader: 手机出厂前由手机厂商烧写至cpu芯片外部存储器(如emmc)中,并由BOOT ROM加载至内存中执行。

Lk: 可看作一个第二阶段的bootloader,支持多种启动模式(fastboot meta normal等等),并加载bootimage执行。

TEE: 包含ATF和TEE OS两部分,共同构建安全执行环境。

Boot: Android Kernel。

只有理解了上述启动流程,我们可以更好的进行安全启动设计!

Google有如下要求:

验证启动功能旨在保证设备软件(从硬件信任根直到系统分区)的完整 性。在启动过程中,无论是在每个阶段,都会在进入下一个阶段之前先验证下一个阶段的完整性和真实性。 当用户对软件进行了不应进行的更改时,可以使用该功能向他们发出警告,比如当用户获得一台二手设备后告知他们软件经受了不应进行的更改。此外,该功能还可以提供进行远程认证时使用的其他设备完整性信号。该功能再加上加密功能以及可信执行环境 (TEE) 信任根绑定功能,三者共同为用户数据添加了另一道防范恶意系统软件的保护屏障。如果在任意阶段验证失败,用户都会收到醒目的通知。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值