前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Intel芯片架构中TEE的实现技术之SGX(三)开发环境简介及搭建

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

作者头像
安智客
发布2018-02-24 10:23:32
3.3K0
发布2018-02-24 10:23:32
举报
文章被收录于专栏:安智客安智客

前述内容请参照

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页中。

其中Linux SGX实现系统包括SGX平台软件、SGX驱动程序和SGX软件开发工具包(SDK)。我们已经能够在GitHub上找到英特尔的SGX页面。下面我们来看看window下面的SGX。

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程序的开发。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-10-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 安智客 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • SDK应用开发环境
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档