TEE笔记

news/2025/2/8 1:37:03/

这个图展示了一个典型的**可信执行环境(Trusted Execution Environment, TEE)**与**常规执行环境(Rich Execution Environment, REE)**的架构关系,同时也涉及了**虚拟化环境**。以下是对图中各个部分的详细解释,包括中英文对应关系:

### **图的结构**
图中展示了不同执行环境和模式之间的层次关系,从上到下分为多个层级,每个层级有不同的执行模式和组件。

### **层级和组件解释**

#### **1. 用户模式(User Mode)**
- **App(应用层)**:
  - **REE**(Rich Execution Environment,常规执行环境):
    - 这是普通应用程序运行的环境,通常由操作系统(如Windows、Linux等)管理。
    - 用户模式的应用程序运行在这个环境中。
  - **TEE**(Trusted Execution Environment,可信执行环境):
    - 这是一个安全的执行环境,用于运行需要高安全性的应用程序(如加密操作、身份验证等)。
    - TEE环境与REE隔离,提供更高的安全性。
    - **TEEApp**(可信应用):运行在TEE中的应用程序。

#### **2. 内核模式(Kernel Mode)**
- **REE**:
  - **EL1**(Exception Level 1,异常级别1):
    - 这是操作系统内核运行的模式,负责管理用户模式的应用程序。
    - 在REE中,EL1是操作系统内核的执行模式。
- **TEE**:
  - **S-EL1**(Secure Exception Level 1,安全异常级别1):
    - 这是TEE内核的执行模式,负责管理TEE中的可信应用。
    - TEE内核与REE内核隔离,提供更高的安全性。

#### **3. 虚拟化模式(Hypervisor Mode)**
- **EL2**(Exception Level 2,异常级别2):
  - 这是虚拟化模式,通常用于运行虚拟机管理程序(如Hypervisor)。
  - 在虚拟化环境中,EL2是Hypervisor的执行模式。
  - **Hypervisor**:负责管理虚拟机(VM)的运行。

#### **4. 安全监控模式(Secure Monitor Mode)**
- **S-EL3**(Secure Exception Level 3,安全异常级别3):
  - 这是安全监控模式,用于管理从REE到TEE的切换。
  - 它是TEE和REE之间的桥梁,负责处理安全相关的异常和切换。
  - **S-ELO**(Secure EL3 Handler,安全EL3处理器):
    - 负责处理从REE到TEE的切换请求(如通过SMC指令)。
  - **ELO**(EL3 Handler,EL3处理器):
    - 负责处理从REE到TEE的切换请求,通常由操作系统或Hypervisor调用。

### **关键概念解释**
1. **异常级别(Exception Level)**:
   - 这是ARM架构中定义的执行模式,用于区分不同层次的执行权限。
   - **EL0**:用户模式(User Mode)。
   - **EL1**:内核模式(Kernel Mode)。
   - **EL2**:虚拟化模式(Hypervisor Mode)。
   - **EL3**:安全监控模式(Secure Monitor Mode)。

2. **SMC(Secure Monitor Call)**:
   - 这是一个指令,用于从REE切换到TEE。
   - 当应用程序需要执行安全相关的操作时,它会通过SMC指令请求切换到TEE。

3. **TEE(Trusted Execution Environment)**:
   - 这是一个安全的执行环境,用于运行需要高安全性的应用程序。
   - 它与REE隔离,提供更高的安全性。

4. **REE(Rich Execution Environment)**:
   - 这是普通应用程序运行的环境,通常由操作系统管理。
   - 它是TEE的“常规”对应物,用于运行大多数应用程序。

### **总结**
这个图展示了TEE和REE之间的层次关系以及它们在不同执行模式中的角色。通过这种架构,TEE提供了更高的安全性,而REE则用于运行普通应用程序。虚拟化环境(如Hypervisor)和安全监控模式(S-EL3)则用于管理和切换这些执行环境。


http://www.ppmy.cn/news/1570201.html

相关文章

【机器学习案列】糖尿病风险可视化及预测

🧑 博主简介:曾任某智慧城市类企业算法总监,目前在美国市场的物流公司从事高级算法工程师一职,深耕人工智能领域,精通python数据挖掘、可视化、机器学习等,发表过AI相关的专利并多次在AI类比赛中获奖。CSDN…

《VB.net之沉淀》

 vb.net视频是由曹祖圣和林煌章两位老师轮流讲解的,他们的普通话夹杂着台湾口音,整个项目学习起来蕴含一种别样的味道。每次的讲解都有条不紊,每次的议题都会首先做出简单介绍,这让整个项目学习起来变得有…

Linux 设备驱动分类(快速理解驱动架构)

Linux 设备驱动分类(快速理解驱动架构) 在 Linux 设备驱动开发中,最基础的概念就是 设备驱动的分类。 Linux 设备驱动主要分为 字符设备、块设备和网络设备,它们分别对应不同类型的硬件资源。 理解这些分类,不仅能帮助…

OpenAI新商标申请曝光:AI硬件、机器人、量子计算全线布局?

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

Rust 的内存管理机制

Rust 的内存管理机制是其最核心的创新之一,它通过 所有权系统(Ownership)、借用检查器(Borrow Checker) 和 生命周期(Lifetimes) 在编译期静态保障内存安全,无需垃圾回收(GC)且避免手动管理内存的错误。下面通过代码示例详细解析其机制和安全性原理: 1. 所有权系统(…

websocket自动重连封装

websocket自动重连封装 前端代码封装 import { ref, onUnmounted } from vue;interface WebSocketOptions {url: string;protocols?: string | string[];reconnectTimeout?: number; }class WebSocketService {private ws: WebSocket | null null;private callbacks: { [k…

从零开始部署Dify:后端与前端服务完整指南

从零开始部署Dify:后端与前端服务完整指南 一、环境准备1. 系统要求2. 项目结构 二、后端服务部署1. 中间件启动(Docker Compose)2. 后端环境配置3. 依赖安装与数据库迁移4. 服务启动 三、前端界面搭建1. 环境配置2. 服务启动 四、常见问题排…

因果推断与机器学习—可解释性、公平性和因果机器学习

随着人工智能技术的飞速发展,如人脸识别、自动驾驶、智能音箱和手术机器人等在社会各领域广泛应用,人工智能已成为科技革命和产业变革的核心驱动力。然而,在带来便利的同时,也引发了一系列问题: 数据统计:2016 年,基于美国食品和药物管理局(U.S. Food and Drug Adminis…