Configuring SGX in virtualization environment

SGX是Intel在X86体系结构上的扩展,添加了新的硬件和指令集(以微码的形式实现),这是需要cpu和bios设置支持的。这是一个很有用的安全功能,类似于ARM TrustZone,现在最新的处理器都已经提供了支持。在虚拟化环境下,包括主流的KVM/Xen都无法很好的支持sgx,即使可以提供补丁的形式,因此实验SGX最后在裸机上安装linux进行操作,当然windows也行。
虽然台式机安装了双系统,但平常还是喜欢在自己笔记本上开虚拟机实验,I7-7700HQ的笔记本,睿频到3.8GHz,跑到90摄氏度,冬天暖手特别嗨😄😄😄

安装

  • 安装SGX Driver
  • 安装SGX PSW
  • 安装SGX SDK

如下是官网的各平台环境搭建的软件及文档,文档很详细,都有安装过程。

修改


对于初步使用了解SGX,需要修改图示Enclave文件夹的Enclave.edl文件、Enclave.cpp文件、Enclave.h文件,App文件夹的App.cpp文件和图示的Makefile文件,具体过程在参考文献中,参考文献还列举一些其他相关的资料

虚拟化下

由于在虚拟机中安装的环境,无法读取到硬件处理器的SGX支持,所以需要配置

硬件需求仅当你安装sgx驱动和psw时需要,安装sgx sdk并不需要硬件支持。其实硬件不支持也无所谓,可以在模拟环境下编写测试SGX程序。如果你的硬件不支持,那么可以选择跳过驱动安装和PSW安装,编写makefile时,SGX_MODE=SIM,默认是SGX_MODE=HW

  • 修改Makefile

  • 修改ld.so.conf

  • 编译运行
    编译运行软件

参考文献:
https://01.org/intel-software-guard-extensions/downloads
https://blog.quarkslab.com/overview-of-intel-sgx-part-1-sgx-internals.html
https://blog.quarkslab.com/overview-of-intel-sgx-part-2-sgx-externals.html
https://blog.csdn.net/qiu_pengfei/article/details/78798644
https://blog.csdn.net/q2240441362/article/details/80343962


Pay
 Previous
V2ray time problem V2ray time problem
由于昨天调试给组里写的脚本,调整了一下笔记本的日期,后面日期忘记调整回来,导致笔记本的时间有问题😪然后,然后笔记本的v2ray就连不上了,所有的vmess协议的节点全上不去,更新服务端和客户端软件都不行,但是手机上却可以用,问题奇怪得怀
2019-11-20
Next 
Articles about cloud computing Articles about cloud computing
云计算/虚拟化相关网络文档 51CTO | 虚拟化频道 什么是存储虚拟化?它与软件定义存储有何区别? 存储虚拟化和服务器虚拟化紧密相关 VDI桌面虚拟化四大协议—虚拟化魔鬼象限 桌面虚拟化:集中还是分布? 了解用户才能选择正确的VDI用
2019-10-26
  TOC