Intel SGX
来源:互联网 发布:h5排行榜页面源码 编辑:程序博客网 时间:2024/06/05 07:26
最近Intel推出的SGX技术对云计算安全保护有重要意义,SGX技术是Intel于2013年在ISCA会议的Workshop HASP中提出的,但只是提出了这一概念和原理,2015年10月第一代支持SGX技术的CPU问世。在这两年间,微软基于SGX模拟器提出了SGX技术两种应用,分别是Haven(USENIX 2014)和VC3(SP 2015)。本次主要学习SGX的原理。
0x01. SGX介绍
Intel SGX是Intel Software Guard Extension的缩写。SGX是Intel指令集架构(ISA)的扩展,主要提供了一些指令用于创建一个可信执行环境(TEE)Enclave。用户态应用程序可以在Enclave中安全执行,而不被恶意的OS、hypervisor(VMM)所攻击。
0x02. SGX原理
SGX的保护是针对应用程序的地址空间的。SGX利用处理器提供的指令,在内存中划分处一部分区域(叫做EPC),并将应用程序地址空间中的Enclave映射到这部分内存区域。这部分内存区域是加密的,通过CPU中的内存控制单元进行加密和地址转化。
SGX内存保护原理:当处理器访问Enclave中数据时,CPU自动切换到一个新的CPU模式,叫做enclave模式。enclave模式会强制对每一个内存访问进行额外的硬件检查。由于数据是放在EPC中,为了防止已知的内存攻击(如,内存嗅探),EPC中的内存内容会被内存加密引擎(MEE)加密的。EPC中的内存内容只有当进入CPU package时,才会解密;返回EPC内存中会被加密。
SGX中的一些术语:
(1). Enclave Page Cache (EPC): 一个保留加密的内存区域。Enclave中的数据代码必需在其中执行。为了在EPC中执行一个二进制程序,SGX指令允许将普通的页复制到EPC页中。
(2). Enclave Page Cahce Map (EPCM):为了对每个EPC页进行访问控制,会在CPU指定的数据结构中维持访问权限和EPC页所属的enclave。
(3). State Save Area (SSA ):当Enclave内部涉及到一个系统调用时,会发生上下文切换,保存Enclave的上下文到EPC中保留区域,这部分区域叫做状态保留区域。
- Intel SGX
- Intel SGX
- Intel SGX
- Intel SGX Application
- Intel SGX设计目标
- Intel SGX 技术初探
- linux intel SGX 安装
- Intel SGX技术学习了解
- Arm Trust-Zone和Intel SGX
- SGX——intel对抗Trustzone的安全解决方案
- sgx 中intel ipp 加密库的使用
- Intel芯片架构中TEE的实现技术之SGX初探
- Intel芯片架构中TEE的实现技术之SGX开发环境简介及搭建
- Ubuntu 16.04下Intel SGX驱动、平台软件和SDK安装
- Ubuntu 16.04下Intel SGX应用程序程序开发——打印Hello World!
- Ubuntu 16.04下Intel SGX应用程序程序开发——参数字符串拷贝
- Ubuntu 16.04下Intel SGX应用程序程序开发——获得Enclave函数返回值!
- Ubuntu 16.04下Intel SGX应用程序程序开发——OCALL调用打印Hello World!
- java中Date与String的相互转化
- 蛇形矩阵
- Tomcat7-maven-plugin 使用问题
- EasyPusher手机直播图像旋转90度后画面重复的问题
- Java冒泡排序法
- Intel SGX
- 【转】能让win7支持DHCP Server服务的软件使用方法
- BOM字符(​)转textNode对象
- ios 定时器不同的工作模式
- android--实现textView的渲染加载效果
- iOS开发中有关图片裁切的问题
- 一些传感器相关的文章
- C++/C源码分析
- 搜素算法——二分搜索-1003