云服务器 使用 Rocky Linux 9.5 构建 Intel SGX 机密计算环境

如何在云服务器(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 /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 机密计算环境

赞 (0)
上一篇 4天前
下一篇 4天前