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

TEE-可信执行环境

基本概念

TEE主要是提供了一个安全的环境,用来保护那些需要进行敏感数据处理或者关键操作的应用程序,避免受到未经授权的访问和修改

其基本思想是:在硬件中为敏感数据单独分配一块隔离的内存,所有敏感数据的计算均在这块内存中进行,并且除了经过授权的接口外,硬件中的其他部分不能访问这块隔离的内存中的信息。以此来实现敏感数据的隐私计算。

富执行环境(Rich Execution Environment,REE),指的是操作系统运行时的环境中,可以运行如 Android、IOS 等通用的 OS(Opreating System)。REE 是一个容易受到攻击的开放环境,如敏感数据的窃取、移动支付盗用等等

基本特性:

1.数据隔离

指的是可信应用使用的数据不会被其他应用所修改和访问

2.计算隔离

指的是可信应用的计算和资源不能被其他应用观测(例如侧信道攻击等)和拦截

3.通信控制

指的是可信应用与其他应用(可信or不可信)之间的会话或数据交互不能破坏隔离性

4.错误隔离

非可信区域的安全漏洞(病毒)等不能扩散到可信应用中

TEE的硬件安全性根本保证

一般来说,大部分硬件安全设备,最核心的部分都是一个加密处理器(SP, secure processor)和一个防破坏的非易失性存储器(tamper-proof NVRAM)。SP提供密钥生成、密钥派生、加解密等计算功能,NVRAM提供持久化存储功能。而且这个 NVRAM 是具有防御物理攻击的能力的,比如能够检测到外部的物理攻击,或者在物理攻击发生后,能够自动擦除数据。

TEE的硬件芯片也是这样,无论是 Intel还是AMD的CPU,出厂前都会在CPU的NVRAM里生成一个硬件私钥,然后设备制造商给这个私钥签发一个证书,这个证书就是设备的唯一标识。而且这个证书就将CPU日后签发的证书和设备制造商的RootCA关联起来【形成一个证书链】,日后可以用设备制造商的RootCA来校验CPU签发的证书的合法性。

TEE起源和发展

2010 年 7 月,Global Platform(以下简称 GP)正式提出了 TEE 的概念,并从 2011 年开始起草制定相关的 TEE 规范标准,针对 TEE 系统设计了一系列规范,对应用接口,应用流程,安全存储,身份认证等功能进行了规范化。

开放移动终端平台(Open Mobile Terminal Platform ,以下简称 OMTP))率先提出一个针对移动终端的双系统安全解决方案,即在同一个终端系统下同时部署两个操作系统,其中一个是常规的操作系统,另一个是隔离的安全操作系统。其中,安全操作系统运行在隔离的硬件环境中,专门处理敏感信息以保障其安全性。

在 OMTP 方案的基础上,ARM 公司提出了一种硬件虚拟化技术 TrustZone 及其相关的硬件实现方案,并于 2008 年第一次发布了 Trustzone 技术白皮书。

Intel 公司推出 SGX(Software Guard Extensions)。

主流 TEE 方案对比

隐私计算之TEE-CSDN博客

维度ARM TrustZoneIntel SGXAMD SEVRISC-V TEE(Keystone)海光 CSV
架构支持ARMx86x86RISC-Vx86
隔离粒度安全世界(系统级隔离)用户态 Enclave(进程内隔离)虚拟机(VM 级隔离)用户态 Enclave(进程内隔离)虚拟机(VM 级隔离)
保护范围安全世界的代码 / 数据,防普通 OSEnclave 内代码 / 数据,防 OS、VMM、物理攻击VM 内存,防 HypervisorEnclave 内代码 / 数据,防 OS、物理攻击(可选)VM 内存及与 DCU 交互数据,防主机及外部非授权访问
安全性中(依赖安全世界代码可靠性)高(内存加密 + 硬件验证)中高(VM 内存加密,SEV-SNP 增强)可定制(开源灵活,依赖硬件扩展)高(基于硬件虚拟化与加密,保护 VM 和 DCU 数据)
性能开销低(世界切换开销小)中(Enclave 进出开销 + 内存加密)中(内存加密,对 VM 内操作影响小)低(开源优化空间大)中(涉及 VM 隔离与 DCU 数据传输加密)
核心应用场景移动设备(支付、指纹识别)、嵌入式云隐私计算(联邦学习)、PC 安全(数字版权)云计算(多租户隔离、安全虚拟机)边缘计算、嵌入式(定制化安全需求)隐私计算中大规模数据训练推理、机器学习等高性能业务场景
生态成熟度高(移动生态完善,如 Android 支持)高(服务器生态,云厂商广泛采用)中(云计算生态,AMD 服务器支持)成长中(开源社区推动,适配边缘设备)成长中(国产化趋势推动,适配国内相关业务)
远程证明支持(如 PSA 认证、TrustZone 远程证明)支持(Intel Attestation Service)支持(AMD Secure Nested Paging 证明)支持(开源组件,如 Veraison)支持

SGX的工作方式是将应用程序划分为一个由飞地安全保护的可信部分和一个正常运行的不可信部分。这降低了开发体验,因为开发人员需要了解安全模型并相应地拆分应用程序,而保护VM不需要调整应用程序代码

http://www.xdnf.cn/news/1358407.html

相关文章:

  • 程序里的依赖和中间件的依赖冲突,怎么解决
  • C++20: std::span
  • 多线程下单例如何保证
  • elasticsearch 7.x elasticsearch是查询的数据量大于10000分页有问题还是es的库总量大于10000分页有?
  • 【软件安全】ARM64、x86、32 位与 64 位架构的区别、定义、应用背景
  • 安装gitlab
  • Dify 从入门到精通(第 53/100 篇):Dify 的分布式架构(进阶篇)
  • 线程整理文档
  • git学习
  • Wagtail CRX 的 Latest Pages Block 高级设置 模版v3.0 以后被阉割了
  • Vue vs React:前端框架的差异与选择
  • 【SpringBoot集成篇】SpringBoot 深度集成 Elasticsearch 搜索引擎指南
  • 代码性能测试——benchmark库
  • 基于Spring Boot与Redis的电商场景面试问答解析
  • Python训练营打卡 DAY 46 通道注意力(SE注意力)
  • 【数据结构】排序算法全解析
  • Linux服务实验
  • [论文阅读] 软件工程 | GPS算法:用“路径摘要”当向导,软件模型检测从此告别“瞎找bug”
  • Kaggle项目:一次 Uber 出行数据分析的完整思路
  • 【机器学习】 11 Mixture models and the EM algorithm
  • 如何捕获组件的异常情况
  • Node.js依赖管理与install及run命令详解
  • Redis实战-缓存的解决方案(一)
  • Flink直接缓冲存储器异常解析与解决方案
  • comfyUI背后的一些技术——CLIP
  • 暗影哨兵:安全运维的隐秘防线
  • 高并发AI服务部署方案:vLLM、TGI、FastChat性能压测报告
  • 使用 Fargate 在 AWS ECS 上运行 Spring Boot 应用程序
  • QML Charts组件之坐标轴示例
  • maven私服架构