本文介绍如何在云服务器(Cloud Virtual Machine,CVM)的 Rocky Linux 9.5 操作系统上搭建 Intel SGX 机密计算环境,完成环境搭建后进行远程验证,确保 SGX 功能正常运行。本文以新加坡地域 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 /tmpcurl -fsSLO https://download.01.org/intel-sgx/latest/linux-latest/distro/centos-stream9/sgx_rpm_local_repo.tgzsudo mkdir -p /opt/intelsudo tar xzf sgx_rpm_local_repo.tgz -C /opt/intel
3. 添加本地仓库并导入 GPG 密钥。
sudo dnf config-manager --add-repo file:///opt/intel/sgx_rpm_local_reposudo rpm --import /opt/intel/sgx_rpm_local_repo/keys/intel-sgx.keysudo 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 aesmdsudo systemctl enable aesmd
7. 将当前用户加入 SGX 用户组。
sudo usermod -aG sgx_prv $USERsudo usermod -aG sgx $USER
注意:
完成用户组修改后,需重新登录或执行
newgrp sgx 命令使组权限生效。8. 验证 SGX 设备与 AESM 服务状态,执行以下命令。
ls -la /dev/sgx_enclave /dev/sgx_provisionsystemctl status aesmd
执行后,若显示
/dev/sgx_enclave 和 /dev/sgx_provision 设备文件存在,且 AESM 服务状态为 active (running),表示核心组件安装成功。步骤二:安装 SGX SDK
1. 下载 Intel SGX SDK 安装包。
cd /tmpwget -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.binchmod +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' >> ~/.bashrcsource /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/"
说明:
步骤四:验证环境
完成上述配置后,通过编译和运行 Intel SGX DCAP 示例程序验证环境搭建是否成功。
1. 下载 DCAP 示例代码。
wget https://github.com/intel/SGXDataCenterAttestationPrimitives/archive/refs/tags/DCAP_1.20.tar.gztar -xvaf DCAP_1.20.tar.gz
2. 编译并运行 Quote 验证示例。
cd confidential-computing.tee.dcap-DCAP_1.20/SampleCode/QuoteGenerationSamplemake./app
执行后若输出验证成功信息,表示 Quote 验证功能正常。

3. 编译并运行 Quote 生成示例。
cd ../QuoteVerificationSamplemakesgx_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 开发机密计算应用。更多信息,请参见以下资源: