准备 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)
展示符合条件的处理器型号列表,目前支持列表如下:
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 命令
显示如下三条显示为 true 的状态,表示 SGX 已经被正确使能。其余显示为 false 的条目不需要关注。
安装 SGX 驱动
大部分云服务商提供的 SGX 镜像已经默认安装了 SGX 驱动。此外,TSS Node 启动脚本也会自动检查并在提示您确认后自动安装 SGX 驱动(Intel DCAP 1.41 驱动)。 测试 SGX 驱动是否已经安装:
应至少显示有如下两个设备节点,表示 SGX 驱动已经正确安装:
更多了解 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 资源列表
安装依赖
下载 Intel SGX DCAP 驱动
修改 Intel SGX DCAP 驱动安装文件执行权限
安装 Intel SGX DCAP 驱动
检查驱动是否安装成功
安装 Docker Engine
TSS Node 依赖 Docker。TSS Node 启动脚本会自动检查并在提示您确认后自动安装 Docker。
不过,鉴于 Docker 属于较常用的基础系统软件,如果您的组织内有安装和使用的经验,我们建议您按照您的组织内的规范或惯例,手动安装和配置 Docker,以便让后续 TSS-Node 的运维工作能最大程度地和您组织内的已有规范和惯例相符。
在 Ubuntu 上手动安装 Docker Engine,可参考官方文档。
Last updated