Intel SGX Developer Reference 学习笔记(二)

 在这之前,一直想学习关于SGX实操性的、应用相关的内容,我浏览了相关资料,总觉得跟不上那些作者的脚步,学到的都是些零零碎碎的知识,收获都不是很大,一边阅读还在一边质疑资料的可读性,所以我决定返朴归真,静下心来好好看一看官网的手册,并作一些笔记方便自己的日后学习。
手册下载地址: Intel® Software Guard Extensions (Intel® SGX) SDK for Linux* OS

Setting up an Intel® Software Guard Extensions Project

 这部分使用SGX SDK的特性来创建和管理Intel®SGX应用程序项目。

Creating Intel® Software Guard Extensions Projects

 你应该准备以下文件:

  1. Enclave Definition Language(EDL)file.——描述enclave受信任和不受信任的函数和类型。
  2. Enclave Configuration File (ECF) ——包含enclave元数据的信息。
  3. Signing key files ——签名密钥文件,用于对enclave进行签名,以生成包含enclave属性的签名结构。
  4. Application and enclave source code——应用程序和enclave函数实现的源代码。
  5. makefile——它执行以下几个步骤:
    1. Generates edger routines (see Edger8r Tool for details).?
    2. 构建应用程序和enclave
    3. 完成enclave的签名(详细信息请参见enclave签名工具)
  6. Linker script file——链接器脚本文件。您应该使用链接器脚本隐藏所有不必要的符号,并且只导出enclave_entry、g_global_data和g_global_ data_sim。
Enclave Image Generation
keyinterpretation1interpretation2
tRTSTrusted Run Time System可信运行系统

 一个 enclave映像? 是在Linux系统下静态链接的共享对象,没有任何外部依赖关系,你必须遵循下面的指导方针生成一个合适的enclave映像:

  1. 将tRTS与 --whole-archive 选项连接起来,这样可以使整个可信运行库的内容包含在enclave中;
  2. 对于其他库, 你只需要提取所需的符号。? 举个例子,如果enclave需要可信标准C和seal库的例程,你需要提取所需的符号。

HW mode 【Hardware硬件模式】:
 --start-group –lsgx_tstdc –lsgx_tservice -lsgx_tcrypto --end-group
Simulation mode【模拟模式】:
 --start-group –lsgx_tstdc –lsgx_tservice_sim -lsgx_tcrypto --end-group

下面介绍了以下情况下使用的命令行:(命令行详见文档)

  • 使用链接器脚本隐藏所有不必要的符号;
  • 将一些目标文件要链接到目标enclave;
  • 通过传递以下选项的链接器,把只读不可执行的部分放在自己的段;
Using Intel® Software Guard Extensions Eclipse* Plug-in (使用SGX Eclipse*插件)

The Intel® Software Guard Extensions Eclipse插件帮助enclave开发者维护Eclipse C/C++项目中的enclave和不受信任的代码。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值