TEE 可信执行环境 Intel SGX:环境搭建(Ubuntu)

本文介绍了如何在 Ubuntu 上安装 Intel SGX SDK。SGX 全称 Intel Software Guard Extensions,是 Intel 在其 CPU 体系下的扩展,用于增强软件的安全性,用于可信计算 TEE。

本文所使用环境:

1
操作系统:Ubuntu 16.04 LTS

按照如下步骤执行即可完成环境搭建:

  1. 执行:

    1
    2
    3
    sudo apt-get update
    sudo apt-get install libssl-dev libcurl4-openssl-dev libprotobuf-dev
    sudo apt-get install build-essential python
  1. 下载 Intel SGX 驱动并安装:

    1
    2
    3
    4
    wget https://download.01.org/intel-sgx/sgx-linux/2.7.1/distro/ubuntu16.04-server/sgx_linux_x64_driver_2.6.0_4f5bb63.bin
    chmod +x sgx_linux_x64_driver_2.6.0_4f5bb63.bin
    sudo ./sgx_linux_x64_driver_2.6.0_4f5bb63.bin
    sudo reboot
  1. 下载 Intel SGX PSW 并安装:

    1
    2
    wget https://download.01.org/intel-sgx/sgx-linux/2.7.1/distro/ubuntu16.04-server/libsgx-enclave-common_2.7.101.3-xenial1_amd64.deb
    sudo dpkg -i ./libsgx-enclave-common_2.7.101.3-xenial1_amd64.deb
  1. 下载并安装 Intel SGX SDK:

    1
    2
    3
    wget https://download.01.org/intel-sgx/sgx-linux/2.7.1/distro/ubuntu16.04-server/sgx_linux_x64_sdk_2.7.101.3.bin
    chmod +x ./sgx_linux_x64_sdk_2.7.101.3.bin
    ./sgx_linux_x64_sdk_2.7.101.3.bin

    安装过程中可以手动输入 SDK 要安装到的目标位置

  1. 添加环境变量,第 4 步结束会输出一行命令,执行:

    1
    source /path/to/sgxsdk/environment

至此环境就已经搭建好了,现在我们来运行一下实例程序:

  1. 切换目录

    1
    cd /path/to/sgxsdk/SampleCode/SampleEnclave
  1. 编辑一下 Makefile:

    1
    2
    3
    4
    5
    6
    7
    8
    # Intel SGX SDK 的安装位置
    SGX_SDK ?= /home/luoyhang003/SGX/sgxsdk
    # 运行类型:HW 真实环境;SIM 模拟器环境
    SGX_MODE ?= SIM
    # 运行架构:仅支持 64 位
    SGX_ARCH ?= x64
    # 是否为:Debug 调试模式
    SGX_DEBUG ?= 1
  1. 编译:

    1
    sudo make
  1. 运行:

    1
    ./app

    运行结果:

    1
    2
    3
    4
    Checksum(0x0x7fff2aa60d00, 100) = 0xfffd4143
    Info: executing thread synchronization, please wait...
    Info: SampleEnclave successfully returned.
    Enter a character before exit ...

本文的版权归作者 罗远航 所有,采用 Attribution-NonCommercial 3.0 License。任何人可以进行转载、分享,但不可在未经允许的情况下用于商业用途;转载请注明出处。感谢配合!