Software Guard Extensions软件保护扩展(一)

文章目录

  • 简介
  • 安装
    • 安装Intel sgx driver
    • 安装intel sgx psw
    • 安装intel sgx sdk
  • 如何在windows中的vision studio中使用

简介

  • 全称:用于Linux * OS的英特尔(R)软件保护扩展
  • 英特尔(R)软件保护扩展(英特尔(R)SGX)是一项针对应用程序开发人员的英特尔技术,旨在保护选择的代码和数据不被泄露或修改。
  • 组成:英特尔(R)SGX驱动程序,英特尔(R)SGX SDK和英特尔(R)SGX平台软件(PSW)英特尔(R)SGX SDK和英特尔(R)SGX PSW托管在linux-sgx项目中。

参考网页
https://software.intel.com/zh-cn/sgx

英特尔® Software Guard Extensions是一项面向应用程序开发人员的英特尔技术,这些开发人员力图保护选定的代码和数据免于被披露或被修改。 英特尔Software Guard Extensions 通过使用围圈(enclave),即内存中受保护的执行区域,使这种保护成为可能。 使用特殊指令和软件可将应用程序代码放入围圈中,这些特殊指令和软件经由英特尔® Software Guard Extensions SDK 提供给开发人员使用。英特尔 Software Guard Extensions SDK 是 API、函数库、文档、样本源代码和工具的集合,允许软件开发人员用C/C++ 创建和调试启用英特尔Software Guard Extensions 的应用程序。

安装

安装Intel sgx driver

  1. 参考网址:https://github.com/intel/linux-sgx-driver

注意点:确保您具有以下必需硬件:第六代英特尔(R)酷睿(TM)处理器或更新版本
在不支持这个版本的驱动中,下载也无法使用。

安装intel sgx psw

参考文档:https://github.com/intel/linux-sgx

安装英特尔(R)SGX PSW
确保您的系统具有以下必需硬件:
第六代英特尔(R)酷睿(TM)处理器或更新版本

安装intel sgx sdk

注释:intel sgx SDK 可以在模拟模式下运行!即不需要硬件的支持也可。

sudo apt-get install build-essential
安装了该软件包,编译c/c++所需要的软件包也都会被安装。因此如果想在Ubuntu中编译c/c++程序,只需要安装该软件包就可以了。
gcc and g++分别是: GNU的c & c++编译器

步骤一:下载所需要要文件:https://download.01.org/intel-sgx/linux-2.5/ubuntu16.04-server/
选择最后一个文件下载
Software Guard Extensions软件保护扩展(一)_第1张图片
下载后,打开termial执行
注意:给文件赋予权限后执行

chmod 777 sgx_linux_x64_sdk_2.5.100.49891.bin 
sudo ./sgx_linux_x64_sdk_2.5.100.49891.bin 

设置环境变量,然后结束即可。

测试SGX SDK是否安装成功:

5.1 将/home/SGXSDK/sgxsdk/SampleCode下的SampleEnclave文件夹拷贝到自己的目录中
5.2 进入到拷贝出的SampleEnclave文件夹中
5.3 打开Makefile文件,修改SGX_SDK ?= /opt/intel/sgxsdk中的“=”后面的内容为我们的SGX SDK目录,在我这里是:SGX_SDK ?= /home/SGXSDK/sgxsdk。SGX应用程序编译时,需要使用SDK里面的库,默认SDK目录是/opt/intel/sgxsdk,我们要把它改成我们自己的目录
5.3 编译程序:make(使用模拟模式编译运行项目的方式 make SGX_MODE=SIM)
5.4 执行程序:./app,成功的话,说明我们的SDK安装是正确的。

补充问题:

Permission denied
解决的办法:
$ sudo chmod -R 777 某一目录
其中
-R 是指级联应用到目录里的所有子目录和文件
777 是所有用户都拥有最高权限

问题补充:

touch: cannot touch ‘.config_SIM_DEBUG_x64_0’: Permission denied
触摸:无法触摸“.config_sim_debug_x64_0”:权限被拒绝
touch是新建文件夹命令,touch无法新建文件这个文件夹
解决方法: sudo chmod 777 -R ./LocalAttestation/(给当前文件夹赋予权限)

问题:
ubuntu中vi在编辑状态下方向键不能用,还有回格键不能删除等我们平时习惯的一些键都不能使用。
ubuntu预装的是vim tiny版本,而需要的是vim full版本
执行下面的语句安装vim full版本:
$sudo apt-get remove vim-common
$sudo apt-get install vim
这样就行了,vim是一款优秀的软件,可以在运用中体会到。

问题linux
如何查找显示文件所在路径
locate 文件名
在这里插入图片描述

错误:
libsgx_urts_sim.so: cannot open shared object file: No such file or directory

  • 解决方式一
    将库文件所在路径加入到里面即可
    具体操作
    如何将路径文件加入到
    命令行下输入:sudo vim /etc/ld.so.conf进入编辑模式。
    按i键进入编辑模式
    修改文本
    在这里插入图片描述
    按esc。
    输入:wq保存退出
    命令:sudo ldconfig
    解析:ldconfig命令的大概作用是读取指定文件夹里的所有库文件,并根据库文件中包含的库文件名为其创建软链接文件。
  • 方法二运行环境变量
    source /home/SGXSDK/sgxsdk/environment
    参考:https://software.intel.com/zh-cn/forums/intel-software-guard-extensions-intel-sgx/topic/753950

如何在windows中的vision studio中使用

在安装英特尔SGX SDK之前,必须先安装Microsoft Visual Studio 。如果在安装Visual Studio之前安装了英特尔SGX SDK,则英特尔SGX SDK Visual Studio软件向导和英特尔(R)SGX调试器将无法正确嵌入到Visual Studio中。如果发生这种情况,您在构建启用了英特尔SGX的应用程序时将遇到错误,并且无法创建安全区。
参考网页:适用于Microsoft * Windows *操作系统的英特尔®软件保护扩展SDK入门

你可能感兴趣的:(intel,sgx,intel,sgx)