带你读《云原生机密计算最佳实践白皮书》——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


相关文章
|
9月前
|
存储 缓存 分布式计算
StarRocks x Iceberg:云原生湖仓分析技术揭秘与最佳实践
本文将深入探讨基于 StarRocks 和 Iceberg 构建的云原生湖仓分析技术,详细解析两者结合如何实现高效的查询性能优化。内容涵盖 StarRocks Lakehouse 架构、与 Iceberg 的性能协同、最佳实践应用以及未来的发展规划,为您提供全面的技术解读。 作者:杨关锁,北京镜舟科技研发工程师
StarRocks x Iceberg:云原生湖仓分析技术揭秘与最佳实践
|
10月前
|
SQL 监控 Go
新一代 Cron-Job分布式调度平台,v1.0.8版本发布,支持Go执行器SDK!
现代化的Cron-Job分布式任务调度平台,支持Go语言执行器SDK,多项核心优势优于其他调度平台。
223 8
|
人工智能 Cloud Native 安全
从云原生到 AI 原生,网关的发展趋势和最佳实践
本文整理自阿里云智能集团资深技术专家,云原生产品线中间件负责人谢吉宝(唐三)在云栖大会的精彩分享。讲师深入浅出的分享了软件架构演进过程中,网关所扮演的各类角色,AI 应用的流量新特征对软件架构和网关所提出的新诉求,以及基于阿里自身实践所带来的开源贡献和商业能力。
1011 103
|
12月前
|
Cloud Native 安全 Serverless
云原生应用实战:基于阿里云Serverless的API服务开发与部署
随着云计算的发展,Serverless架构日益流行。阿里云函数计算(Function Compute)作为Serverless服务,让开发者无需管理服务器即可运行代码,按需付费,简化开发运维流程。本文从零开始,介绍如何使用阿里云函数计算开发简单的API服务,并探讨其核心优势与最佳实践。通过Python示例,演示创建、部署及优化API的过程,涵盖环境准备、代码实现、性能优化和安全管理等内容,帮助读者快速上手Serverless开发。
|
12月前
|
人工智能 Cloud Native 多模数据库
实力见证!数据管理服务DMS、云原生多模数据库Lindorm荣获“2024技术卓越奖”
实力见证!数据管理服务DMS、云原生多模数据库Lindorm荣获“2024技术卓越奖”
287 1
|
Kubernetes Cloud Native Docker
云原生之旅:从传统架构到容器化服务的演变
随着技术的快速发展,云计算已经从简单的虚拟化服务演进到了更加灵活和高效的云原生时代。本文将带你了解云原生的概念、优势以及如何通过容器化技术实现应用的快速部署和扩展。我们将以一个简单的Python Web应用为例,展示如何利用Docker容器进行打包和部署,进而探索Kubernetes如何管理这些容器,确保服务的高可用性和弹性伸缩。
|
Kubernetes Cloud Native Ubuntu
庆祝 .NET 9 正式版发布与 Dapr 从 CNCF 毕业:构建高效云原生应用的最佳实践
2024年11月13日,.NET 9 正式版发布,Dapr 从 CNCF 毕业,标志着云原生技术的成熟。本文介绍如何使用 .NET 9 Aspire、Dapr 1.14.4、Kubernetes 1.31.0/Containerd 1.7.14、Ubuntu Server 24.04 LTS 和 Podman 5.3.0-rc3 构建高效、可靠的云原生应用。涵盖环境准备、应用开发、Dapr 集成、容器化和 Kubernetes 部署等内容。
781 7
|
运维 监控 Cloud Native
云原生之运维监控实践:使用 taosKeeper 与 TDinsight 实现对 时序数据库TDengine 服务的监测告警
在数字化转型的过程中,监控与告警功能的优化对保障系统的稳定运行至关重要。本篇文章是“2024,我想和 TDengine 谈谈”征文活动的三等奖作品之一,详细介绍了如何利用 TDengine、taosKeeper 和 TDinsight 实现对 TDengine 服务的状态监控与告警功能。作者通过容器化安装 TDengine 和 Grafana,演示了如何配置 Grafana 数据源、导入 TDinsight 仪表板、以及如何设置告警规则和通知策略。欢迎大家阅读。
428 0
|
监控 Cloud Native 持续交付
云原生架构下微服务的最佳实践与挑战####
【10月更文挑战第20天】 本文深入探讨了云原生架构在现代软件开发中的应用,特别是针对微服务设计模式的最优实践与面临的主要挑战。通过分析容器化、持续集成/持续部署(CI/CD)、服务网格等关键技术,阐述了如何高效构建、部署及运维微服务系统。同时,文章也指出了在云原生转型过程中常见的难题,如服务间的复杂通信、安全性问题以及监控与可观测性的实现,为开发者和企业提供了宝贵的策略指导和解决方案建议。 ####
332 5
|
Kubernetes Cloud Native 持续交付
云原生架构下的微服务设计原则与最佳实践##
在数字化转型的浪潮中,云原生技术以其高效、灵活和可扩展的特性成为企业IT架构转型的首选。本文深入探讨了云原生架构的核心理念,聚焦于微服务设计的关键原则与实施策略,旨在为开发者提供一套系统性的方法论,以应对复杂多变的业务需求和技术挑战。通过分析真实案例,揭示了如何有效利用容器化、持续集成/持续部署(CI/CD)、服务网格等关键技术,构建高性能、易维护的云原生应用。文章还强调了文化与组织变革在云原生转型过程中的重要性,为企业顺利过渡到云原生时代提供了宝贵的见解。 ##