准备 SGX 服务器环境
SGX 服务器选型
选项 1:使用 Azure 机密计算虚拟机(Azure Confidential Compute VM)
Azure 云平台部署操作方式,请遵循安装指南。仅需要【配置 Intel SGX 虚拟机】部分,下面列出了必要的设置:
创建资源 Ubuntu 20.04 LTS
在 “虚拟机名称” 中,为新 VM 输入一个名称,如 CoboTSSNode
区域:选择合适的 Azure 区域
选择映像: Ubuntu 20.04 LTS - Gen2
WM 大小 (建议): Standard DC1ds v3 (1 vcpu, 8 GiB memory)
有关如何使用 Azure Portal 部署支持 SGX 的服务器的详细信息,请点击此处。
选项 2:使用阿里云加密计算环境
阿里云平台部署操作方式,请遵循安装指南。以创建 g7t、c7t 或 r7t 实例,下面列出了必要的设置:
版本选择 Ubuntu 20.04 64 位 UEFI 版
建议内存:8 GB 及以上
加密内存:4 GB 及以上
硬盘:64G SSD
选项 3:使用自主运维的 SGX 服务器物理机
查询支持 SGX 的处理器:
点击最底部 Find products by feature
在 Filters 选择 Processors ; Choose a filters 选择 Intel® Software Guard Extensions (Intel® SGX)
在左侧菜单选择 Yes with both Intel® SPS and Intel® ME (Intel® Server Platform Services and Intel® Management Engine)
展示符合条件的处理器型号列表,目前支持列表如下:
型号
核数
Max Turbo Frequency
Base Frequency
Cache
Intel® Xeon® E-2278GE Processor
8
4.70 GHz
3.30 GHz
16 MB
Intel® Xeon® E-2278GEL Processor
8
3.90 GHz
2.00 GHz
16 MB
Intel® Xeon® E-2274G Processor
4
4.90 GHz
4.00 GHz
8 MB Intel® Smart Cache
Intel® Xeon® E-2276G Processor
6
4.90 GHz
3.80 GHz
12 MB Intel® Smart Cache
Intel® Xeon® E-2278G Processor
8
5.00 GHz
3.40 GHz
16 MB Intel® Smart Cache
Intel® Xeon® E-2286G Processo
6
4.90 GHz
4.00 GHz
12 MB Intel® Smart Cache
Intel® Xeon® E-2288G Processor
8
5.00 GHz
3.70 GHz
16 MB Intel® Smart Cache
Intel® Xeon® E-2174G Processor
4
4.70 GHz
3.80 GHz
8 MB Intel® Smart Cache
Intel® Xeon® E-2176G Processor
6
4.70 GHz
3.70 GHz
12 MB Intel® Smart Cache
Intel® Xeon® E-2186G Processor
6
4.70 GHz
3.80 GHz
12 MB Intel® Smart Cache
SGX 服务器配置:
BIOS 设置:
Enable Intel SGX (Software Guard Extension)
Enable DCAP (FLC)
Disable hyperthreading
系统:Ubuntu Server 20.04 LTS 或 22.04 LTS
建议内存: 8 GB RAM
建议存储: 128 GB SSD
SGX 加密内存最小:2GB EPC
测试 SGX 使能状态
SGX 加密计算环境构建完成后,可以通过 cpuid 检查 SGX 使能状态,执行如下 shell 命令
sudo apt update
sudo apt install cpuid
cpuid -1 | grep SGX
显示如下三条显示为 true 的状态,表示 SGX 已经被正确使能。其余显示为 false 的条目不需要关注。
SGX: Software Guard Extensions supported = true
SGX_LC: SGX launch config supported = true
SGX capability (0x12/0):
SGX1 supported = true
安装 SGX 驱动
大部分云服务商提供的 SGX 镜像已经默认安装了 SGX 驱动。此外,TSS Node 启动脚本也会自动检查并在提示您确认后自动安装 SGX 驱动(Intel DCAP 1.41 驱动)。 测试 SGX 驱动是否已经安装:
ls /dev/sgx*
应至少显示有如下两个设备节点,表示 SGX 驱动已经正确安装:
/dev/sgx_enclave /dev/sgx_provision
更多了解 SGX 驱动,以及其手动安装:
SGX 驱动已经合并到 Linux 内核主线,5.11 及以上版本的内核默认自带了 SGX 驱动。因此,推荐的做法是使用 5.11 以上的最新版本内核的系统。例如:
Ubuntu 22.04 LTS server + 默认内核
Ubuntu 20.04 LTS server + HWE内核升级(请参考文档)
如果不使用主线内核提供的驱动,您也可以安装 Intel 发布的驱动程序。Intel 提供了2种不同的驱动程序:DCAP 驱动 和 OOT (Legacy) 驱动。TSS Node仅支持 DCAP Driver。
SGX 驱动的官方安装文档,请参考【Driver Installation】章节
按照下面步骤,可手动在 Ubuntu 20.04 安装 DCAP 1.41 版本驱动。如需其他版本,请按照上述文档相应替换下载链接地址。
更新 apt 资源列表
sudo apt update
安装依赖
sudo apt install build-essential ocaml automake autoconf libtool \
wget python libssl-dev dkms -y
下载 Intel SGX DCAP 驱动
wget \ https://download.01.org/intel-sgx/latest/linux-latest/distro/ubuntu20.04-server/sgx_linux_x64_driver_1.41.bin
修改 Intel SGX DCAP 驱动安装文件执行权限
chmod a+x sgx_linux_x64_driver_1.41.bin
安装 Intel SGX DCAP 驱动
sudo ./sgx_linux_x64_driver_1.41.bin
检查驱动是否安装成功
$ ls /dev/sgx*
/dev/sgx_enclave /dev/sgx_provision
安装 Docker Engine
TSS Node 依赖 Docker。TSS Node 启动脚本会自动检查并在提示您确认后自动安装 Docker。
不过,鉴于 Docker 属于较常用的基础系统软件,如果您的组织内有安装和使用的经验,我们建议您按照您的组织内的规范或惯例,手动安装和配置 Docker,以便让后续 TSS-Node 的运维工作能最大程度地和您组织内的已有规范和惯例相符。
在 Ubuntu 上手动安装 Docker Engine,可参考官方文档。
Last updated
Was this helpful?