帮你快速理解、总结文档立即下载
文档中心>实践教程>云服务器>使用 Rocky Linux 9.5 构建 Intel SGX 机密计算环境

使用 Rocky Linux 9.5 构建 Intel SGX 机密计算环境

最近更新时间:2026-08-05 16:16:28
我的收藏
本文介绍如何在云服务器(Cloud Virtual Machine,CVM)的 Rocky Linux 9.5 操作系统上搭建 Intel SGX 机密计算环境,完成环境搭建后进行远程验证,确保 SGX 功能正常运行。本文以新加坡地域 S8ce 机型为例。

准备工作

参见 快速配置 Linux 云服务器 创建 Rocky Linux 9.5实例。核心配置如下:
配置项
说明
地域
选择新加坡
镜像
选择 Rocky Linux 9.5 64位
实例规格
选择安全增强标准型 S8ce,此处示例规格为 S8ce.LARGE16
说明:
安全增强标准型 S8ce 是基于标准型 S8开发的支持 Intel SGX 机密计算的机型,相比标准型 S8,S8ce 新增 Intel SGX 机密计算能力,其余规格参数与标准型 S8 保持一致。更多实例规格信息,请参见 标准型 S8
安全增强标准型 S8ce 暂时处于白名单开放状态,如有需要,请联系 在线支持 处理。


步骤一:安装依赖与 SGX 核心组件

1. 登录云服务器,执行以下命令,安装开发工具和依赖包。
sudo dnf groupinstall -y 'Development Tools'
sudo dnf install -y redhat-rpm-config openssl-devel wget rpm-build git cmake python3
2. 下载并导入 Intel SGX RPM 仓库。
cd /tmp
curl -fsSLO https://download.01.org/intel-sgx/latest/linux-latest/distro/centos-stream9/sgx_rpm_local_repo.tgz
sudo mkdir -p /opt/intel
sudo tar xzf sgx_rpm_local_repo.tgz -C /opt/intel
3. 添加本地仓库并导入 GPG 密钥。
sudo dnf config-manager --add-repo file:///opt/intel/sgx_rpm_local_repo
sudo rpm --import /opt/intel/sgx_rpm_local_repo/keys/intel-sgx.key
sudo dnf config-manager --save --setopt='*sgx_rpm_local_repo.gpgkey=file:///opt/intel/sgx_rpm_local_repo/keys/intel-sgx.key'
sudo dnf makecache
4. 安装 SGX 核心运行时包。
sudo dnf install -y libsgx-urts libsgx-quote-ex libsgx-dcap-ql libsgx-dcap-default-qpl
5. 安装 SGX 开发依赖包。
sudo dnf install -y libsgx-enclave-common-devel libsgx-dcap-ql-devel libsgx-dcap-default-qpl-devel \\
libsgx-quote-ex-devel libsgx-dcap-quote-verify-devel
6. 启动并启用 AESM 服务。
sudo systemctl start aesmd
sudo systemctl enable aesmd
7. 将当前用户加入 SGX 用户组。
sudo usermod -aG sgx_prv $USER
sudo usermod -aG sgx $USER
注意:
完成用户组修改后,需重新登录或执行 newgrp sgx 命令使组权限生效。
8. 验证 SGX 设备与 AESM 服务状态,执行以下命令。
ls -la /dev/sgx_enclave /dev/sgx_provision
systemctl status aesmd
执行后,若显示 /dev/sgx_enclave/dev/sgx_provision 设备文件存在,且 AESM 服务状态为 active (running),表示核心组件安装成功。

步骤二:安装 SGX SDK

1. 下载 Intel SGX SDK 安装包。
cd /tmp
wget -r -l1 -np -nd --no-check-certificate --accept 'sgx_linux_x64_sdk_*.bin' https://download.01.org/intel-sgx/latest/linux-latest/distro/centos-stream9/ && mv sgx_linux_x64_sdk_*.bin sgx_linux_x64_sdk.bin
chmod +x sgx_linux_x64_sdk.bin
2. 安装 SDK 到 /opt/intel 目录。
sudo ./sgx_linux_x64_sdk.bin --prefix /opt/intel
3. 配置环境变量。
echo 'source /opt/intel/sgxsdk/environment' >> ~/.bashrc
source /opt/intel/sgxsdk/environment

步骤三:配置 SGX PCCS

PCCS(Provisioning Certification Caching Service)是 Intel SGX DCAP 远程验证的证书缓存服务,用于获取和缓存验证所需的证书信息。
1. 编辑 PCCS 配置文件。
vim /etc/sgx_default_qcnl.conf
2. 修改配置项 pccs_url 为腾讯云提供的 PCCS 服务地址。
"pccs_url": "https://sgx-dcap-server-tc.sg.tencent.cn/sgx/certification/v4/"
说明:
腾讯云为新加坡地域的 SGX 实例提供 PCCS 服务,以上地址为新加坡地域的服务端点。如您使用其他地域,请参见 配置腾讯云 SGX 远程证明服务更新 [Region-ID]

步骤四:验证环境

完成上述配置后,通过编译和运行 Intel SGX DCAP 示例程序验证环境搭建是否成功。
1. 下载 DCAP 示例代码。
wget https://github.com/intel/SGXDataCenterAttestationPrimitives/archive/refs/tags/DCAP_1.20.tar.gz
tar -xvaf DCAP_1.20.tar.gz
2. 编译并运行 Quote 验证示例。
cd confidential-computing.tee.dcap-DCAP_1.20/SampleCode/QuoteGenerationSample
make
./app
执行后若输出验证成功信息,表示 Quote 验证功能正常。

3. 编译并运行 Quote 生成示例。
cd ../QuoteVerificationSample
make
sgx_sign sign -key ../QuoteGenerationSample/Enclave/Enclave_private_sample.pem -enclave enclave.so -out enclave.signed.so -config Enclave/Enclave.config.xml
./app
执行后若输出 Quote 生成成功信息,表示 SGX 远程验证环境搭建完成。


后续操作

环境搭建完成后,您可以基于 SGX SDK 开发机密计算应用。更多信息,请参见以下资源: