一、准备工作
参见 快速配置 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 /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/"
注意:说明:
注意:腾讯云为新加坡地域的 SGX 实例提供 PCCS 服务,以上地址为新加坡地域的服务端点。如你使用其他地域,请参见 配置腾讯云 SGX 远程证明服务更新 [Region-ID] 。
五、步骤四:验证环境
完成上述配置后,通过编译和运行 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 开发机密计算应用。更多信息,请参见以下资源:
·Intel SGX SDK 开发者指南
·Intel SGX DCAP 源码仓库
·构建 Tencent SGX 机密计算环境