【ARM】Trustzone和安全架构

news/2024/9/19 21:38:36 标签: arm开发, 安全架构, 安全

Trustzone的基本概念&背景和历史

什么是Trustzone? 什么是TEE?

Trustzone是一个技术,是一个技术的设计,一个安全架构>安全架构,既不是软件也不是硬件。
TEE (Trusted Execution Environment) 可信执行环境。就是依托Trustzone所实现的一个安全操作系统。
图1
TZC400,内存过滤单元,要不要挡住,不允许访问。
TAPC,配置controler的安全属性
在这里插入图片描述
在这里插入图片描述
2013 年 Apple 推出了第一款搭载指纹解锁的 iPhone:iPhone 5s,用以保证指纹信息安全的Secure Enclave 技术据分析深度定制了 ARM trustzone 架构,印象中这大概是 Trustzone 技术第一次走进大众视线
在这里插入图片描述
一个大系统中有很多操作系统。从图中可以看出有四个安全状态,Realm state、Non-secure state、Secure state、Root state。还有四个特权等级,每个志状态都可以跑多个虚拟机。

Runtime模型

任意时刻cpu都可能会跳过来进行工作叫做runtime
在这里插入图片描述

交互接口

在这里插入图片描述
从用户交互层到核心业务层的交互,从APPs调用GP Client API,该API是在llbteec.so中实现的。llbteec.so调用在KernelSpace中的tee_driver,KernelSpace中的tee_driver调用ATF中的opteed,opteed把消息转给optee_os,optee_os再把消息转给TA,TA再调用GP Internal Core API使用optee_os上的各种资源。

Processor (v8)

和core、cpu是一个概念
在这里插入图片描述NS=1表示是非安全的processor,程序跑在EL3时可以是安全也可以是非安全。SCR寄存器只有一个,只有SCR_EL3,只有EL3可以操作。

Processor (v9)

在这里插入图片描述
到了v9多了一个NSE比特位,有四种安全状态。后面也主要讨论v8。

安全和非安全状态的切换

在这里插入图片描述
从non-secure切到secure就是切cpu context,切换一堆系统寄存器。
所以只要经过ATF切换cpu context,就能达到SCR寄存器中NS比特位从0到1或从1到0的切换。

Secure Boot

业务安全<—APP安全<—操作系统安全<—SecureBoot<—efuse和签名私钥
<— 依赖关系,业务安全依赖APP安全

efuse

efuse每个比特只能下一次,从0到1

Boot模型

启动模型
在这里插入图片描述
BootROM(BL1)就相当于开机程序,只跑一次。BL1、BL2、BL31统称ATF。

编译和生产流程

在这里插入图片描述
首先对preloade签名,签名后变为preloade,img,sig,签名时首先把preloade,img放到xxxx,img,拿私钥对preloade.img进行签名,签名后生成一个证书cert1,证书中包含公钥。再拿root_priv.pem
密钥对cert1进行签名,签完名生成cert2证书。
私钥签名,公钥验签;


http://www.niftyadmin.cn/n/5666181.html

相关文章

医院用餐人次查询表——智慧大屏幕————未来之窗行业应用跨平台架构

一、医院用餐人次查询表在大屏幕展示具有以下好处 &#xff1a; 1. 实时信息公开 - 让医院内的人员能够实时了解用餐人次的动态变化&#xff0c;增加信息透明度。 2. 资源规划优化 - 管理人员可以直观地根据用餐人次数据&#xff0c;合理调整食材采购量、安排人力&a…

华为OD机试 - 免单统计(Python/JS/C/C++ 2024 E卷 100分)

华为OD机试 2024E卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试真题&#xff08;Python/JS/C/C&#xff09;》。 刷的越多&#xff0c;抽中的概率越大&#xff0c;私信哪吒&#xff0c;备注华为OD&#xff0c;加入华为OD刷题交流群&#xff0c;…

ROS 设置dhcp option 6 多个地址格式

ROS routeOS 手工设置 dhcp 服务 option 6 多个dns 地址格式。字符串方式

WPF数据绑定详细案例

代码已经上传到GitHub&#xff0c;附上链接DataBindingDemo&#xff0c;代码环境&#xff1a;Win10 VS2022。 在 WPF 中&#xff0c;数据绑定 是将 UI 控件与后台数据源进行关联的一种机制&#xff0c;使得数据与 UI 自动同步更新。WPF 的数据绑定功能强大&#xff0c;可以绑…

Python 的集合类型

引言 在前面的课程中&#xff0c;我们已经学习了 Python 的基本输入输出、数据类型及其转换、顺序结构、分支结构、循环结构、循环控制语句、字符串类型、列表类型、元组类型以及字典类型。本课时将介绍 Python 中的集合类型&#xff0c;包括集合的创建与操作、集合的常用操作&…

使用SpringCloud构建可伸缩的微服务架构

Spring Cloud是一个用于构建分布式系统的开源框架。它基于Spring Boot构建&#xff0c;并提供了一系列的工具和组件&#xff0c;用于简化开发分布式系统的难度。Spring Cloud可以帮助开发人员快速构建可伸缩的微服务架构。 要使用Spring Cloud构建可伸缩的微服务架构&#xff0…

云端启航,探索微生物奥秘——美格基因云组学分析全新升级!

在这个信息爆炸的时代&#xff0c;我们深知高效的数据处理对于科研的重要性。为了帮助您更好地挖掘微生物世界的无限可能&#xff0c;美格基因凭借在弹性云计算领域的深厚积累&#xff0c;构建了一个强大的云生态系统。这一系统不仅整合了云组学、云工具、云数据库、前沿工具等…

黑鲨机型“工程固件” 清除nv资源预览 写入以及修复基带解析

黑鲨手机是专门为中国玩家制作是游戏科技手机。液冷散热技术被第一次运用在手机上,为手机散热领域竖立了新的标杆,同时通过“X元素”,运用跑车流线型设计,打造属于黑鲨的设计语言。超旗舰的硬件配置,辨识度极高的外观设计,让黑鲨手机成为了硬核玩家的标配。 黑鲨机型从1…