您的位置:首页 > 运维架构 > 网站架构

Intel芯片架构中TEE的实现技术之SGX开发环境简介及搭建

2017-10-24 11:13 1046 查看
前述内容请参照:

Intel芯片架构中TEE的实现技术之SGX初探(二)

Intel芯片架构中TEE的实现技术之SGX初探

 

SGX技术是Intel于2013年在ISCA会议中提出的,直到2015年10月支持SGX技术的CPU才问世。目前SGX技术两种应用,分别有微软HavenVisual
studio
。微软Haven系统是第一个实现保护云端信息的系统。我们觉得Intel推出的SGX技术对云计算安全保护有重要意义。

SGX的保护是针对应用程序的地址空间的。SGX利用处理器提供的指令,在内存中划分处一部分区域(EPC),并将应用程序地址空间中的Enclave映射到这部分内存区域。这部分内存区域是加密的,通过CPU中的内存控制单元进行加密和地址转化。

当处理器访问Enclave中数据时,CPU自动切换到一个新的CPU模式,叫做enclave模式。enclave模式会强制对每一个内存访问进行额外的硬件检查。由于数据是放在EPC中,为了防止已知的内存攻击,EPC中的内存内容会被内存加密引擎(MEE)加密的。EPC中的内存内容只有当进入CPU package时,才会解密;返回EPC内存中会被加密。

Enclave Page Cache (EPC)是指一个保留加密的内存区域。Enclave中的数据代码必需在其中执行。为了在EPC中执行一个二进制程序,SGX指令允许将普通的页复制到EPC页中。 

SDK应用开发环境简介

英特尔软件防护扩展SGX SDK 是API、函数库、文档、样本源代码和工具的集合,允许软件开发人员用 C/C++ 创建和调试启用英特尔软件防护扩展的应用程序。SGX SDK同时提供Microsoft Visual Studio插件,可用标准开发工具开发enclave。

第一步: 确认安装运行SGX SDK的所需的软硬件需求

硬件最小需求:
   第 6代英特尔® 酷睿™ 处理器平台,同时需要支持SGX相关配置的BIOS版本

操作系统:

· Microsoft Windows* 7, 64-bit

· Microsoft Windows* 8.1, 64-bit

· Microsoft Windows® 10, 64-bit

· Microsoft Windows® 10 Threshold 2, 64-bit

第二步: 安装SGX SDK 集成开发环境所需的Microsoft Visual Studio开发工具

目前最新SGX SDK版本为1.7,支持

Microsoft Visual Studio* 2012 专业版----2015 专业版

第三步: 下载安装SGX SDK

SGX SDK安装包可以从https://software.intel.com/sgx-sdk免费下载。SGX
SDK下载页面一共包含2个部分(图 1), Intel SGX SDK for Windows是SGX SDK的主体;Intel SGX Platform Software for Windows(PSW)包含的是SGX相关的硬件驱动部分。

 


图1 英特尔 SGX SDK下载页面
注意1:如果电脑硬件不支持SGX功能, 则不需要安装PSW软件。开发工作只能通过SGX SDK里面内置的模拟器来运行调试enclave程序。
注意2:SGX有些相关的安全功能需要Intel Management Engine(ME)提供(单向计数器monotonic counter和实时时钟RTC)以及互联网连接,所以建议安装SGX SDK及PSW时保持互联网连接,并且安装完全版的Intel ME软件包(版本大于11.5.0.1000)(图2)。

 


图2完整版的ME安装程序名为SetupME.exe
SGX SDK安装包为一个自解压包,自解压缩到指定目录后,可以看到所有SDK相关文档在目录里(图
3)。进入SDK目录,双击Intel(R)_SGX_Windows_x64_SDK_1.6.101.33581.exe进行安装,安装过程里安装包会自动安装并配置Microsoft Visual Studio插件。

 


图3相关开发参考文档在SDK解压缩目录的根目录下
到这里,在windows上的SGX应用的开发环境搭建就完成了,现在用Visual Studio的FileàNewà Project...新建一个项目的时候,就会看到建立Intel SGX Enclave Project项目的选项(图4)了。

 


图4Visual Studio新建项目里出现Intel SGX Enclave Project的选项
至此, 我们已经完成了Windows下SGX应用开发环境的搭建。在下一个部分,我们将从Hello World程序开始学习 SGX enclave程序的开发。

欢迎关注原创公众号!



 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: