当前位置: 首页 > article >正文

TEE笔记

这个图展示了一个典型的**可信执行环境(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.kler.cn/a/537140.html

相关文章:

  • 将仓库A分支同步到仓库B分支,并且同步commit提交
  • 力扣 239.滑动窗口最大值
  • Linux TCP 编程详解与实例
  • 深度学习篇---深度学习相关知识点关键名词含义
  • nuxt3中使用useFetch请求刷新不返回数据或返回html结构问题解决-完整nuxt3useFetchtch请求封装
  • [paddle] 矩阵的分解
  • 基于SpringBoot和Leaflet的全国省会城市风景区分布分析实践
  • C++ Primer 成员访问运算符
  • 游戏引擎学习第91天
  • ubuntu下nfs使用笔记
  • vscode预览插件
  • 初识C语言、C语言的学习方向总述与入门
  • 华为OD最新机试真题-补种未活胡树-C++-OD统一考试(E卷)
  • 远程调用总结
  • 哪些网站和工具可以用于站点测速和性能分析
  • 深入理解 Java 泛型(Generics)
  • 零基础学习书生.浦语大模型--基础岛
  • Explain 是 SQL 查询优化中非常重要的工具,它用于分析 SQL 查询的执行计划
  • ubuntu20使用tigervnc远程桌面配置记录
  • react的antd组件中上传图片组件,点击预览却打开新页面,将其改为放大预览
  • centos虚拟机迁移没有ip的问题
  • 论文笔记:Rethinking Graph Neural Networks for Anomaly Detection
  • 第8章《VTK交互》
  • 计算机网络知识速记:HTTP与HTTPS
  • 前端知识自检
  • 模板的进阶