[ATF]ARMv8 arm trust firmware信任的固件----安全相关
来源:互联网 发布:暗影格斗2mac破解版 编辑:程序博客网 时间:2024/04/29 03:05
http://blog.csdn.net/big2chris/article/details/53057505
ARM 全Trustzone解决方案,软件架构有ARM TBBR规范,在构建运行TEE环境时,ATF与TrustOS构成基本TEE执行环境。
本文主要介绍arm trust firmware组件。
定义与缩略语:
REE: Rich Execution Environment
TEE: Trusted Execution Environment
OP-TEE :Open Portable Trusted Execution Environment
TA:Trusted Applicationsml:Secure monitor layer
tos:Trust os
ATF:Arm-trusted-firmware
ARMv8 TrustZone整体框架图:
AArch64 环境介绍:
- APP 运行在NS/S EL0
- Kernel 运行在 EL1
- Trusted OS 运行在Secure EL1
- ATF(SML)运行在EL3 EL2 hypervisor据ARM介绍在服务器上可能会用到。
ATF框架:
ATF 主要的三个方面的功能
Trust Boot
ATF满足安全启动的规范(TBBR),在初次启动时,平台上电后,cpu处于el3模式,从romcode到spl-sml-uboot-kernel,在进入kernel前,cpu处于安全模式,spl/sml/uboot都可以带上安全签名,保证软件与硬件都是安全的。后续suspend or reset 启动的时候,cpu处于el3及secure word, sml code 开始运行,而后切到kernel
normal word,注意reset与suspend回到kernel的地址是不一样的。
Power State Coordination Interface (PSCI)
ATF另外一个主要的功能,提供芯片相关的电压管理接口,将cpu相关的底层操作抽象出来给kernel调用,主要包括cpu idle/cpu boot/cpu off/system off/system rest以及预留的cpu migrate相关的接口。kernel通过smc来调用sml api。
Manage Interrupts
ARM可信固件实现了一个用于配置和管理的框架在任一安全状态下产生的中断。
- [ATF]ARMv8 arm trust firmware信任的固件----安全相关
- [ATF]ARMv8 arm trust firmware
- 1. arm-trusted-firmware (ATF介绍)
- 4. ATF(ARM Trusted firmware)启动---bl2到bl31的跳转
- 1. ATF(ARM Trusted firmware)完成启动流程
- 2. ATF(ARM Trusted firmware)启动---bl1
- 3. ATF(ARM Trusted firmware)启动---bl2
- 5. ATF(ARM Trusted firmware)启动---bl31
- [ATF]ARMv8 cpu cold boot
- 6. ATF(ARM Trusted firmware)启动---bl32(OP-TEE)
- 信任 The Trust (2016)
- request_firmware 的用法,struct firmware,内核,固件,usb
- Linux 设备驱动的固件firmware加载
- [ATF]ARMv8 cpu warm boot (hotplug on)
- [ATF]ARMv8 psci cpu suspend api
- [ATF]ARMv8 psci cpu off api
- [ATF]ARMv8 psci bootup target cpu api
- ARM架构简介&ARMv8架构的未来
- java java.sql.SQLException: Cannot convert value '0000-00-00 00:00:00' from column 5 to TIMESTAMP.
- java 二进制和十六进制的互转
- python2和python3的区别
- Lucene之SolrJ的相关操作(十一)
- 【Java】匿名内部类
- [ATF]ARMv8 arm trust firmware信任的固件----安全相关
- 一个奇葩的上传乱码问题。当上传路径汉字个数为奇数会时,最后一个字符乱码
- linux中的进程控制
- 1005. Spell It Right (20)
- 搭建配置ELK stack分布式版环境
- 《深入理解Java虚拟机——JVM高级特性与最佳实践》学习笔记——晚期(运行期)优化
- jdk与jre的区别
- Android 7.1.1 系统时区,语言,地区,铃声配置
- Apache的DBUtils框架学习