使用英特尔(R)软件保护扩展SDK工具

本主题介绍如何使用Intel(R)Software Guard Extensions SDK提供的以下工具:

  1. Edger8r

Edger8r工具作为英特尔(R)软件保护扩展SDK的一部分提供。 它通过读取用户提供的Enclave描述语言(EDL)文件来生成边缘例程。 这些边缘例程定义了不受信任的应用程序和安全区之间的接口。 通常,该工具会作为Enclave构建过程的一部分自动运行。 但是,高级Encalve编写者可以手动调用Edger8r。

When given an EDL file, for example, demo.edl, the Edger8r by default generates four files:

  • demo_t.h – Contains prototype declarations for trusted proxies and bridges.
  • demo_t.c – Contains function definitions for trusted proxies and bridges.
  • demo_u.h – Contains prototype declarations for untrusted proxies and bridges.
  • demo_u.c – Contains function definitions for untrusted proxies and bridges.
  1. Enclave Signing Tool

英特尔(R)软件保护扩展(英特尔®SGX)SDK提供了一个名为sgx_sign的工具,供您签署安全区。一般而言,签署飞地是一个涉及产生包含Enclave属性的签名结构的过程,例如飞地测量(参见下面的飞地签名结构)。一旦以这种结构签署了飞地,就可以检测到对飞地文件的修改(例如代码,数据,签名等)。签名工具还会评估飞地图像中的潜在错误,并警告您潜在的安全隐患。 sgx_sign通常由英特尔(R)SGX SDK中包含的配置工具之一设置,并在构建过程结束时自动运行。在加载过程中,检查签名以确认安全区未被篡改并且已正确加载。此外,签名工具还可用于报告签名包围区的元数据信息,并生成将包围区签名者列入白名单所需的SIGStruct文件。

  1. Enclave Debugger
    只能使用英特尔(R)SGX调试器调试Enclave
  • Enclave必须构建成可调试的
  • 在应用程序中,Enclave必须以调试模式加载

要利用英特尔(R)SGX调试器调试安全区,您必须更改英特尔®SGX应用程序的Microsoft * Visual Studio *项目属性
右键单击不受信任的应用程序项目,然后选择Project Properties
使用英特尔(R)软件保护扩展SDK工具_第1张图片

要点

为应用程序项目选择英特尔®软件保护扩展(英特尔®SGX)调试程序后,设置断点和/或进入安全区的工作方式与Microsoft * Visual Studio *中的正常应用程序调试完全相同。

  1. Performance Measurement using Intel® VTune™ Amplifier(英特尔®VTune™放大器应用)
    可用于分析英特尔SGX Enclave应用程序

您可以使用英特尔®VTune™放大器应用2016 Update 2及更高版本来衡量英特尔®软件保护扩展(英特尔®SGX)应用程序(包括飞地)的性能。 英特尔VTune Amplifier应用程序支持一种名为SGX Hotspots的新分析类型,可用于分析英特尔SGX Enclave应用程序。 您可以使用SGX热点的默认设置来分析应用程序和安全区代码。 精确的基于事件的采样(PEBS)有助于分析英特尔SGX飞地代码。 您可以向集合中添加精确事件(_PS事件)以分析安全区代码。 非精确事件无法帮助分析英特尔SGX飞地代码。

注意:只有当安全区作为调试区域启动时,您才可以使用英特尔®VTune™放大器来测量安全区代码的性能
5. Enclave Memory Measurement Tool

Enclave是一个孤立的环境。 英特尔(R)软件保护扩展SDK提供了一个名为sgx_emmt的工具,用于在运行时测量安全区对受保护内存的实际使用情况.

Currently the enclave memory measurement tool provides the following two functions:

  1. Get the stack peak usage value for the enclave.
  2. Get the heap peak usage value for the enclave

该工具以KB为单位报告堆栈和堆的大小。 一旦获得了包围区的准确堆栈和堆使用信息,您就可以根据此信息重新设置安全区配置文件,以充分利用受保护的内存。 有关详细信息,请参阅Enclave配置文件。

6.CPUSVN Configuration Tool
CPUSVN代表CPU的安全版本号,它影响密钥派生和报告生成过程。 CPUSVN不是数字概念,将随着硬件升级/降级而升级/降级。 为了模拟CPUSVN升级/降级而不修改硬件,英特尔(R)软件保护扩展SDK提供了CPUSVN配置工具,供您配置CPUSVN。 CPUSVN配置工具仅适用于英特尔(R)SGX仿真模式,可以作为命令行工具或GUI工具启动。 这取决于你的输入。
参考:Intel sdk 参考者文档(下载intel sgx sdk 即可获取)

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