Ubuntu 16.04下Intel SGX SDK环境搭建(硬件不支持情况)

linux intel SGX SGX简介:https://software.intel.com/zh-cn/sgx 英特尔® Software Guard Extensions 是一项面向应用程序开发人员的英特尔技术,这些开发人员力图保护选定的代码和数据免于被披露或被修改。 英特尔 Software Guard Extensions 通过使用围圈(enclave),即内存中受保护的执行区域,使这种保护成为可能。 使用特殊 阅读详情


本文介绍了在Ubuntu 16.04下安装Intel SGX SDK的步骤。硬件支持的完整安装还需要安装SGX驱动、平台软件(PSW),由于本人电脑CPU不支持,所以仅安装了SDK。

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

Reference:

官方文档:https://download.01.org/intel-sgx/linux-1.8/docs/Intel_SGX_SDK_Installation_Guide_Linux_1.8_Open_Source.pdf
Ubuntu16.04——Intel sgx安装 https://blog.csdn.net/q2240441362/article/details/80343962

1.下载安装包

Intel® SGX SDK: sgx_linux_x64_sdk_.bin

地址:https://01.org/zh/intel-software-guard-extensions/downloads?langredirect=1
选择Intel SGX Linux 2.0 Release下的Intel® SGX SDK for Ubuntu* 16.04.1、进行下载

2.安装必要的工具

2.1 On Ubuntu* 16.04:

$ sudo apt-get installbuild-essential

2.2 安装alien:

sudo apt-get install alien

2.3 下载并安装Intel® Capability Licensing Service(iclsClient):

2.3.1 在 https://registrationcenter.intel.com/en/forms/?productid=2859 进行注册,注册后自动下载。

2.3.2 进入下载文件夹,编译 iclsClient:

sudo alien --scripts iclsClient-1.45.449.12-1.x86_64.rpm

会在文件夹中生成同名的deb文件。

2.3.3 安装iclsClient:

sudo dpkg -i iclsclient_1.45.449.12-2_amd64.deb

2.4 安装JHI服务:

2.4.1 下载dynamic-application-loader-host-interface源码:https://github.com/intel/dynamic-application-loader-host-interface

2.4.2 解压下载得到的源码并进入到文件夹中

unzip Filename.zip

2.4.3 安装必要的工具:

sudo apt-get install uuid-dev libxml2-dev cmake libsystemd-dev

2.4.4 进入到解压后的文件夹,编译并安装JHI服务:

cd dynamic-application-loader-host-interface-master
cmake .;make;sudo make install;sudo systemctl enable jhi

在这里插入图片描述

3.安装SGX SDK

(不切换到root权限,但在终端的~/下载目录下执行chmod 777命令然后sudo(因为SDK下载到了~/下载目录下,要在这里执行chmod 777,否则提示没有那个文件或目录)

进入到~/下载目录:

cd ~/下载

为下载得到的SDK文件添加可执行权限:

chmod 777 sgx_linux_ubuntu16.04.1_x64_sdk_2.0.100.40950.bin

安装SGX SDK:

sudo ./sgx_linux_ubuntu16.04.1_x64_sdk_2.0.100.40950.bin

安装过程中需要选择安装的文件夹,可以输入yes安装到当前文件夹,也可以输入no选择自己想安装到的文件夹。我选择了yes,因为选择no没有成功安装到别的文件夹。所以我的sdk安装到了~/下载目录。SGX SDK软件会在~/下载路径下建立一个sgxsdk文件夹,并将SDK安装到该文件夹中。

将SGX SDK设置到环境变量中(每次打开命令行都要设置):

source ~/下载/sgxsdk/environment

SGX SDK会在~/下载/sgxsdk目录下生成uninstall.sh脚本,用户可以使用该脚本卸载SGX SDK。

~/下载/sgxsdk/SampleCode目录下包括一些SGX例子代码,用户可以参考例子代码编写自己的程序。

4.测试SDK是否安装成功

4.1 值修改

安装到~/下载目录下的sgxsdk文件夹不可更改,因此我把整个sgxsdk文件夹复制到了另一个文件夹中(我复制到了/home/SGXSDK)。

/home/SGXSDK/sgxsdk/SampleCode/SampleEnclave 中修改Makefile文件两个值:

(1)修改SGX_SDK ?= /opt/intel/sgxsdk中的“=”后面的内容为我们的SGX SDK安装目录,在我这里是:SGX_SDK ?= ~/下载/sgxsdk。SGX应用程序编译时,需要使用SDK里面的库,默认SDK目录是/opt/intel/sgxsdk,我们要把它改成我们自己的目录。
(2)修改SGX_MODE ?= SIM,硬件不支持,进行模拟运行。

4.2 进行测试

终端进入到~/SGXSDK/sgxsdk/SampleEnclave目录下(cd或在文件夹中右键在终端打开,进行环境变量设置:

source ~/下载/sgxsdk/environment

执行测试:

make

结果:

sgx模拟执行,不需要sgx硬件---sgx executed in simulation,No need to support hardware for SGX 环境不支持sgx,没有硬件存在(mac也可以按照本教程来完成工作)前置工作:下载上面提到的项目(不需要driver驱动,在模拟环境下,不需要驱动!!!困扰了我很久)下载项目:# 我使用了2.14这个版本,防止项目太庞大,因为我只是想模拟一下git taggit check sgx_2.14 # 貌似是这个名字git status #提示切换分支成功下面我是使用docker来完成的这个工作,不想使用docker的也可以,看最后有提到,原理相同。 阅读详情

相关推荐

Intel SGX开发环境配置 linux 16.04

以下是针对不支持sgx开发所需硬件的开发环境配置,楼主就是BIOS不支持,所以psw(平台环境)安不了,只能在SDK模拟环境下开发,因为Windows下真机环境无法模拟运行,上一篇博文就是楼主走的坑,这次在linux 16.04 lts下开发sgx,但愿成功。 安SDK之前配置命令:再次之前我希望你更换一下国内下载源,这样会快多了。具体更换请看我之前的博文。 sudo apt-get ...

Justdoforever的博客 1882

dynamic-application-loader-host-interface

动态应用程序加载器(DAL)主机接口(又名JHI) 描述 一个守护程序和库,它们允许用户空间应用程序在DAL FW上安Java applet并与其进行通信。 特征 允许多个客户端应用程序同时与Intel DAL固件进行通信。 自动检测DAL固件类型并相应地格式化消息。 缓存先前安的小程序,以方便重用。 依存关系 cmake pkg-config uuid-dev libxml2-dev libsystemd-dev 如何建造 cmake . make 输出目录是bin_linux 。 构建选项 发布版本: cmake . -DCMAKE_BUILD_TYPE=Release 更改安位置: cmake . -DCMAKE_INSTALL_PREFIX=/user 使用SysVinit代替systemd: cmake . -DINIT_SYSTEM=SysVinit

基于TEE与联邦推理的边缘AI安全架构:从原理到实战

在边缘计算与人工智能深度融合的背景下,数据与模型的安全已成为核心挑战。传统的软件防护方案难以抵御拥有系统权限的攻击者,导致敏感信息在内存和存储中‘裸奔’。可信执行环境(TEE)作为一种硬件级安全技术,通过在CPU内部创建隔离的‘安全飞地’,为代码和数据提供了机密性与完整性保障,即使操作系统或虚拟机监控器被攻陷也能确保安全。其技术价值在于将安全信任根建立在硬件层面,从根本上缩小了软件攻击面。结合联邦学习在推理阶段的延伸——联邦推理,可以实现敏感计算任务的拆分与隔离,让核心模型权重与用户数据无需集中即可协同工作

cuibinmo3519的博客 401

Ubuntu16.04/20.04】上搭建intel SGX环境

当用U盘启动盘刷了Ubuntu的机子后,可以配置一下:(请忽略) 1. 更新 sudo apt update #update the list sudo apt upgrade #update contents of the list 2. 切换代理 sudo mv /etc/apt/sources.list /etc/apt/sources.list.bak sudo vim /etc/apt/sources.list #https://developer.aliyun.com/mirror.

weixin_44946961的博客 1814

Windows 10搭建Intel SGX环境教程

文章目录一、初始环境二、资源下载三、安四、检查五、参考 一、初始环境 Windows10 CPU:i5第八代 支持SGX 判断CPU是否支持Intel SGX 如果如果你的版本不支持sgx,可以使用模拟模式。 手动 BIOS 配置:我的电脑是dell 开机-连续按F2-进入bios-security-SGX 设置为: Sgx:enabled Enclave memeory size:128M 二、资源下载 ME链接 Visual Studio 2017专业版链接 SGX SDK和PSW链接,不支持SGX

awbzda博客 5738

检测服务器或者PC是否支持IntelSGX的原理和方式

原理和规则 英特尔® Software Guard 扩展平台支持包括三个方面 BIOS是否支持 CPU是否支持 是否安了PSW,平台软件包。 不支持情况分为以下三种 CPU 不支持英特尔 SGX BIOS 不支持英特尔 SGX BIOS 和 CPU 支持英特尔 SGX,但 BIOS 明确禁用英特尔 SGX 支持sgx cpu型号列表 Intel® Core i7-6700K S...

kouryoushine的博客 1万+

Ubuntu16.04——Intel sgx

以下的安步骤是我自己亲身操作后写的,每个人情况不同,可能会遇到我没有的问题,但总的步骤类似,本文主要目的是为其他人提供参考。官方安文档给出了更加详细的说明和步骤,文档在:https://download.01.org/intel-sgx/linux-1.8/docs/Intel_SGX_SDK_Installation_Guide_Linux_1.8_Open_Source.pdf安一共三部...

yan_l博客 6684

Ubuntu 18.04Intel SGX 2.3.1

文章目录1.下载安包2.必要的工具2.1 On Ubuntu* 16.04:2.2 安alien:2.3 下载并安Intel® Capability Licensing Service(iclsClient):2.4 安JHI服务:3.SGX3.1 安SGX驱动3.2 安SGX enclave common3.3 安SGX SDK4.测试SDK是否安成功4.1 值修改4.2...

cyLee_的博客 3972

Anthropic Layer Zero:AI客户端协议栈瘦身与延迟归零实践

在大模型API调用中,'层(Layer)'泛指请求链路中非业务逻辑的中间组件,如协议转换、安全校验、路由决策等;其本质是运行时开销的聚合体。随着Rust、WASM和可信执行环境(TEE)成熟,工程界正将这类动态决策前移至编译期与客户端,实现‘逻辑归零’——即平均处理耗时≤1μs、P999≤10μs,资源消耗可被系统噪声掩盖。该范式显著降低端到端延迟抖动、消除中间件运维负担,并提升边缘与高并发场景下的确定性。本文聚焦Anthropic新架构中Layer Zero的识别、接入与调优,覆盖SDK升级陷阱、WASM

weixin_30875157的博客 372

机器学习模型生产部署:从Notebook到高可用服务的实战指南

机器学习模型部署不是简单封API,而是构建具备弹性、可观测性与一致性的工程化服务。其核心在于解决训练与线上环境间的确定性鸿沟——包括特征计算不一致、数据时效性失控、模型序列化兼容性差、资源隔离缺失等关键问题。ONNX作为跨框架标准格式,凭借推理引擎成熟度、硬件加速支持与企业级能力,成为当前生产环境首选;而分层解耦架构(模型服务/特征服务/数据管道/可观测性)则保障故障域隔离与团队协作效率。典型应用场景涵盖电商实时推荐、金融风控拦截与IoT边缘推理,最终目标是让模型真正‘敢用’而非仅‘能跑’。

weixin_30553777的博客 443

Ubuntu系统配置SGX要求

Ubuntu系统配置SGX要求 SGX内容: 1、软件开发工具SDK (不需要硬件支持) 2、平台软件PSW (6代及以后CPU、BIOS支持) 3、驱动 (也需要硬件支持) 硬件不支持只需安SDK即可。 GitHub链接:https://github.com/intel/linux-sgx ...

qq_42557044的博客 2306

Ubuntu16.04 编译安intel SGX Driver,SDK,PSW并验证环境201905

我的环境 阿里云ECS主机, 1 vCPU 4 GiB (I/O优化) 抢占性实例(便宜) Ubuntu 16.04 root用户完成以下所有操作。其他用户出现问题需要自己解决 时间2019年5月github上下载的资源。版本参考下面图片 目标 利用上述环境部署intel sgx的Driver 、 SDK、PSW。初学者要区分这三者。 运行一个demo程序,验证环境。 读这篇文章的问,即使是...

kouryoushine的博客 3374

ubuntu应用商店加载不出来_安Ubuntu教程

一、Ubuntu的下载 您可以在网络上搜索到Ubuntu的官方网站(http://cn.ubuntu.com/)进行下载。在这里依然建议您下载稳定的老版本,不要一味追新。小兮使用的是14.04版本,使用了上海交通大学镜像站点(http://ftp.sjtu.edu.cn/ubuntu-cd/14.04/)。图1 下载ubuntu 14.04 (红色为64位,蓝色为32位) 二、下载和前期准备 前期...

weixin_39767645的博客 3029

Ubuntu 商店无法安应用

...

m0_45892612的博客 1419

Ubuntu报错Intel VT-x禁用解决方法

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录系列文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。 提示:以下是本篇文章正文内容,下面案例

weixin_43622586的博客 1700

使用CMake完成SGX SDK程序的编译

前言 在使用SGX保护大工程中的一部分的时候,大工程往往使用的是CMake完成工程源码的编译并产生可执行文件,但是SGX SDK给的例子都是使用Makefile完成编译,为了在大工程中使用SGX SDK功能,那么就要实现使用CMake编译SGX SDK程序 准备工作 我的环境仍然是使用的以前SGX文章中的环境,在此不做赘述,现阶段我使用的SDK SDK版本是2.0版本,下载地址是https:

daichunkai123的博客 2077

Ubuntu 16.04Intel SGX驱动、平台软件和SDK

本文作者:邱朋飞 本文介绍了在Ubuntu 16.04下安Intel SGX驱动、平台软件和SDK的步骤。在安过程中,参考了Intel提供的SGX驱动、平台软件和SDK文档,安文档给出了更加详细的说明和步骤,文档在:https://download.01.org/intel-sgx/linux-1.8/docs/Intel_SGX_SDK_Installation_Guide_Linu...

qiu_pengfei的博客 8220

SGX问答

前言 有些问题比较常见,在这里直接将问答内容贴出来,方便大家搜索。有空再重新组织文字。 (我会避免泄露私人信息) 内存地址翻译全部交给os,那中间经过cache也是全部交给os是嘛?这个cache这部分,enclave中是怎么处理的呢? page walk依旧是os来做,但是SGX特有的EPCM会确保这个page walk的结果是正确未被篡改的。 cache属于cpu内的微架构,cpu内的数据流都是明文的。将要流向epc的数据流在离开cpu时,进入总线前,被mee加密。 当epc evict时,会由指令里的

小气球归来的博客 5390
上一篇: FastBFT共识协议:Scalable Byzantine Consensus via Hardware-assisted Secret Sharing
下一篇: Ubuntu 18.04下golang环境安装
cyLee_
博客等级 码龄8年 19粉丝 9原创
评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值