TrustZone之安全虚拟化

        在Armv7-A首次引入虚拟化时,它仅在非安全状态中添加。在Armv8.3之前,Armv8也是如此,如下图所示:

        如前所述在切换安全状态时,EL3用于托管固件和安全监视器。安全EL0/1托管受信任的执行环境(TEE),由受信任的服务和内核组成。

        在安全状态下,没有对多个虚拟机的需求。这意味着不需要支持虚拟化。随着TrustZone应用的增加,出现了一些要求:

  • 一些受信任的服务与特定的受信任内核绑定。为了设备支持多个服务,可能需要运行多个受信任内核。
  • 遵循以最小权限运行的原则,需要将一些固件功能移出EL3。

        解决方案是在安全状态引入对EL2的支持,这是在Armv8.4-A中引入的,如下图所示:

        与完整的Hypervisor不同,S.EL2通常托管一个安全分区管理器(SPM)。SPM允许创建与其他分区的资源无法看到的隔离分区。系统可以包含多个包含受信任内核及其受信任服务的分区。

        还可以创建一个分区来存储平台固件,从而无需在EL3运行该代码。

  • 启用Secure EL2

        当支持S.EL2时,可以启用或禁用它。是否启用S.EL2由SCR_EL3.EEL2位控制:

相关推荐

  1. 虚拟成本

    2023-12-12 06:12:02       59 阅读
  2. TrustZone问答

    2023-12-12 06:12:02       59 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-12 06:12:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-12 06:12:02       100 阅读
  3. 在Django里面运行非项目文件

    2023-12-12 06:12:02       82 阅读
  4. Python语言-面向对象

    2023-12-12 06:12:02       91 阅读

热门阅读

  1. oracle中的PIVOT函数

    2023-12-12 06:12:02       65 阅读
  2. docker内更换python及pip到3.8

    2023-12-12 06:12:02       48 阅读
  3. SEO和PPC可以互相帮助的7种方式

    2023-12-12 06:12:02       54 阅读
  4. hive/spark用法记录

    2023-12-12 06:12:02       56 阅读
  5. What is MySQL Performance Schema?

    2023-12-12 06:12:02       62 阅读
  6. linux的磁盘管理

    2023-12-12 06:12:02       50 阅读
  7. 计算机网络中物理层介绍

    2023-12-12 06:12:02       57 阅读
  8. C++编程:使用boost::gil::channel_type的示例程序

    2023-12-12 06:12:02       62 阅读
  9. MATLAB中的Table数据使用

    2023-12-12 06:12:02       59 阅读
  10. 测试:接口参数测试

    2023-12-12 06:12:02       62 阅读