带你读《云原生机密计算最佳实践白皮书》——Intel SGX SDK/PSW/DCAP: Intel SGX 软件开发套件和平台软件服务(1)

简介: 带你读《云原生机密计算最佳实践白皮书》——Intel SGX SDK/PSW/DCAP: Intel SGX 软件开发套件和平台软件服务(1)


Intel SGX SDK/PSW/DCAP: Intel SGX软件

开发套件和平台软件服务


Intel SGX Platform Software and Datacenter Attestation Primitives (PSW/DCAP) 在龙蜥生态中为数据中心和云计算平台提供 Intel SGX 技术所需的平台软件服务,如远程证明等。Intel SGX SDK在龙蜥生态中为开发者提供使用 Intel SGX 技术所需的软件开发套件,帮助开发者高效便捷地开发机密计算程序和解决方案。本文介绍如何在Anolis OS 8.6当中基于Intel SGX SDK/PSW/DCAP构建SGX机密计算环境,并演示如何运行示例代码以验证SGX功能。


背景信息

Intel® SGX以硬件安全保障信息安全,不依赖固件和软件的安全状态,为用户提供物理级的机密计算环境。

Intel® SGX通过新的指令集扩展与访问控制机制实现SGX程序的隔离运行,保障关键代码和数据的机密性与完整性不受恶意软件的破坏。不同于其他安全技术,Intel® SGX的可信根仅包括硬件,避免了基于软件的可信根可能自身存在安全漏洞的缺陷,极大地提升了系统安全保障。


检查 SGX 使能状态

构建SGX机密计算环境前,您可以通过cpuid检查SGX使能状态。

1、安装cpuid。

sudo yum install -y cpuid

2、检查SGX使能状态。

cpuid -1 -l 0x7 | grep SGX

说明 SGX被正确使能后,运行SGX程序还需要SGX驱动。

3、检查SGX驱动安装情况。

ls -l /dev/{sgx_enclave,sgx_provision}


开始构建SGX机密计算环境

为开发SGX程序,您需要在您的机器上安装运行时(runtime)、SDK,并配置远程证明服务。本文以Anolis OS 8.6为例演示构建过程,您也可以直接参考Intel官方提供的Intel® SGX软件安装指南安装所需的驱动、PSW等。

1. 安装SGX运行时

mkdir -p $HOME/sgx && \
 cd $HOME/sgx && \
wget https://download.01.org/intel-sgx/latest/linux-latest/dis
tro/Anolis86/sgx_rpm_local_repo.tgz --no-check-certifificate && \
tar zxvf sgx_rpm_local_repo.tgz && \
 sudo yum install -y yum-utils && \
 sudo yum-confifig-manager --add-repo fifile://$HOME/sgx/sgx_rpm_local_repo/ && \
 sudo yum install --nogpgcheck -y sgx-aesm-service libsgx-launch libsgx-urts && \
 rm -rf sgx_rpm_local_repo.tar.gz

可按需安装更多库:

sudo yum install --nogpgcheck -y libsgx-ae-le libsgx-ae-pce libsgx-ae-qe3 libsgx-ae-qve \
 libsgx-aesm-ecdsa-plugin libsgx-aesm-launch-plugin libsgx-aesm-pce-plugin \
 libsgx-aesm-quote-ex-plugin libsgx-dcap-default-qpl libsgx-dcap-ql \
 libsgx-dcap-quote-verify libsgx-enclave-common libsgx-launch libsgx-pce-logic \
 libsgx-qe3-logic libsgx-quote-ex libsgx-ra-network libsgx-ra-uefifi \
 libsgx-uae-service libsgx-urts sgx-ra-service sgx-aesm-service

说明 SGX AESM(Architectural Enclave Service Manager)负责管理启动Enclave、密钥配置、远程认证等服务,默认安装路径为/opt/intel/sgx-aesm-service。

2. 安装SGX SDK

cd $HOME/sgx && \
 export SGX_VERSION="2.18.100.3" && \
  chmod +x sgx_linux_x64_sdk_$SGX_VERSION.bin && \
 echo -e 'n\n\/opt/intel\n' | ./sgx_linux_x64_sdk_$SGX_VERSION.bin && \
 rm -rf sgx_linux_x64_sdk_$SGX_VERSION.bin && \
 source /opt/intel/sgxsdk/environment

安装Intel® SGX SDK后,您可以参见Intel® SGX Developer Reference开发SGX程序。

说明 Intel® SGX SDK的默认安装目录为

/opt/intel/sgxsdk/ 。

3. 配置SGX远程证明服务

Intel® SGX ECDSA远程证明服务通过远程证明来获得远程提供商或生产者的信任,为SGX SDK提供下列信息:

1、SGX certifificates:SGX证书。

2、Revocation lists:已被撤销的SGX证书列表。

3、Trusted computing base information:可信根信息。

说明 Intel Ice Lake仅支持基于Intel SGX DCAP的远程证明方式,不支持基于Intel EPID的远程证明方式,您可能需要适配程序后才能正常使用远程证明功能。更多远程证明的信息,请参见attestation-service。

配置QPL及PCK缓存服务:

1、安装Quote Provider Library (QPL)。您可以使用自己定制的 QPL 或使用 Intel 提供的默认 QPL (libsgx-dcap-default-qpl)

2、安装 PCK 缓存服务。 PCK Caching Service的安装配置请参考Intel官方PCCS文档:SGXDataCenterAttestationPrimitives

3、确保 PCK 缓存服务由本地管理员或数据中心管理员正确设置。还要确保引用提供程序库的配置文件(/etc/sgx_default_qcnl.conf)与真实环境一致,例如:

PCS_URL=https://your_pcs_server:8081/sgx/certifification/v3/




《云原生机密计算最佳实践白皮书》——05编程框架——Intel SGX SDK/PSW/DCAP: Intel SGX 软件开发套件和平台软件服务(2) https://developer.aliyun.com/article/1231564?groupCode=aliyun_linux


相关实践学习
CentOS 8迁移Anolis OS 8
Anolis OS 8在做出差异性开发同时,在生态上和依赖管理上保持跟CentOS 8.x兼容,本文为您介绍如何通过AOMS迁移工具实现CentOS 8.x到Anolis OS 8的迁移。
目录
打赏
0
0
0
0
68
分享
相关文章
Intel 平台新特性助力龙蜥 OS 云计算 | 龙蜥大讲堂101期
本次分享的主题是Intel平台新特性助力龙蜥OS云计算。内容涵盖英特尔第四代和第五代至强处理器的新特性,如性能提升、内置加速器等,并详细介绍TDX、SGX、AMX等技术原理及其在虚拟化环境中的支持情况,旨在帮助云用户充分利用英特尔新平台的优势。
云原生技术在现代软件开发中的应用与挑战####
云原生,这一词汇如同一股强劲的科技风暴,席卷了整个信息技术领域,它不仅重塑了软件的开发模式,还引领了一场关于效率、可扩展性和弹性的深刻变革。本文旨在深入探讨云原生技术的核心概念,分析其在现代软件开发中的广泛应用,并直面伴随其发展而来的挑战,为读者勾勒出一幅既充满机遇又不乏考验的云原生技术图景。 ####
云原生技术在现代软件开发中的应用与挑战
随着云计算技术的不断成熟,云原生(Cloud Native)技术正迅速成为现代软件开发的重要趋势。本文将深入探讨云原生的定义、核心技术(如容器化、微服务、DevOps等),并分析其在实际应用中的优势与面临的挑战。通过案例研究,展示云原生技术如何帮助企业实现高效开发、灵活部署和弹性扩展,从而在激烈的市场竞争中脱颖而出。 ##
云原生技术在现代软件开发中的应用与挑战####
本文探讨了云原生技术的兴起背景、核心理念及其在现代软件开发中的广泛应用。通过具体案例分析,揭示了云原生架构如何促进企业数字化转型,并指出了在实施过程中面临的主要挑战及应对策略。 ####
Intel Linux 内核测试套件-LKVS介绍 | 龙蜥大讲堂104期
《Intel Linux内核测试套件-LKVS介绍》(龙蜥大讲堂104期)主要介绍了LKVS的定义、使用方法、测试范围、典型案例及其优势。LKVS是轻量级、低耦合且高代码覆盖率的测试工具,涵盖20多个硬件和内核属性,已开源并集成到多个社区CICD系统中。课程详细讲解了如何使用LKVS进行CPU、电源管理和安全特性(如TDX、CET)的测试,并展示了其在实际应用中的价值。
基于Intel RDT平台技术的系统资源隔离能力提升|龙蜥大讲堂103期
龙蜥大讲堂103期探讨了基于Intel RDT平台技术在Koordinator项目NRI模式中提升系统资源隔离能力。课程分为三部分:1) NRI与Koordinator,介绍NRI框架及其应用;2) RDT与Koordinator,讲解RDT技术如何优化资源分配,提高集群效率;3) RDT技术发展,展望未来RDT技术的演进方向及在Koordinator中的集成进展。
云原生技术在现代软件开发中的应用与实践
本文将深入探讨云原生技术如何改变现代软件开发的格局。通过分析云原生的核心概念、优势以及在实际开发中的应用案例,我们将了解这一前沿技术如何助力企业快速适应市场变化,提高开发效率和系统稳定性。文章还将提供实用的代码示例,帮助开发者更好地理解和运用云原生技术。
云原生技术在现代软件开发中的实践与挑战####
【10月更文挑战第21天】 本文将深入探讨云原生技术在现代软件开发中的应用,分析其带来的优势及面临的挑战。通过案例分析和数据支持,揭示云原生化转型的关键因素,并展望未来发展趋势。 ####
59 7
云原生技术在现代软件开发中的应用与挑战
【10月更文挑战第37天】随着云计算技术的不断演进,云原生技术已经成为推动软件开发现代化的重要力量。本文将深入探讨云原生技术的核心概念、优势以及面临的挑战,并通过一个实际的代码示例,展示如何在云原生环境中部署一个简单的应用。我们将从云原生的基础架构出发,逐步引导读者理解其在现代软件开发中的关键作用。
51 1