带你读《云原生机密计算最佳实践白皮书》——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 7迁移Anolis OS 7
龙蜥操作系统Anolis OS的体验。Anolis OS 7生态上和依赖管理上保持跟CentOS 7.x兼容,一键式迁移脚本centos2anolis.py。本文为您介绍如何通过AOMS迁移工具实现CentOS 7.x到Anolis OS 7的迁移。
相关文章
|
2月前
|
运维 Cloud Native 云计算
云原生架构的演进:从微服务到无服务器计算
在数字化转型的浪潮中,云原生技术以其灵活性、可扩展性和成本效益性,成为推动现代软件开发和运维的关键力量。本文将探讨云原生概念的演变,特别是从微服务架构到无服务器计算的转变,揭示这一进化如何影响应用程序的开发、部署和管理。通过分析实际案例,我们旨在提供对云原生技术未来趋势的洞察,同时指出企业在这一转变过程中可能面临的挑战和机遇。
41 2
|
3月前
|
运维 Cloud Native 持续交付
云原生架构的演进:从微服务到无服务器计算
【7月更文挑战第28天】在数字化浪潮的推动下,云原生技术不断演进,引领着软件开发和运维模式的革新。本文将深入探讨云原生架构的发展历程,着重分析微服务架构与无服务器计算模型如何相互补充,共同推动现代应用的开发与部署。我们将从微服务的基本原则出发,探索其如何赋能团队快速迭代和扩展应用,进而阐述无服务器计算如何简化资源管理,降低运营成本。通过对比分析,揭示两者结合的优势,为读者提供构建未来云原生应用的洞见。
|
2月前
|
运维 Kubernetes Cloud Native
Kubernetes云原生问题之在托管Kubernetes服务中云服务商和用户的运维责任划分如何解决
Kubernetes云原生问题之在托管Kubernetes服务中云服务商和用户的运维责任划分如何解决
35 0
|
2月前
|
编解码 开发工具 C#
[大牛直播SDK]Windows平台RTMP直播推送模块功能设计
大牛直播SDK采用全自研框架,具备高度可扩展性与自适应算法,显著降低延迟并提高采集编码效率。SDK以模块化设计,支持RTMP推流及多种音视频编码格式(如AAC、SPEEX、H.264、H.265),并能与播放器SDK组合实现丰富功能,包括流媒体转发、内置RTSP服务等。提供了详尽的参数配置选项,支持多摄像头、屏幕采集与水印叠加,并兼容Windows 7及以上操作系统。该SDK以C++/C#双接口形式提供,集成简便,同时包含调试与发布版本库,便于开发者快速上手。此外,支持断网重连、实时预览及多种编码前后的数据对接需求。
|
3月前
|
存储 Cloud Native 智能网卡
共识协议的技术变迁问题之应用程序开发者应如何利用现有服务降低系统复杂性
共识协议的技术变迁问题之应用程序开发者应如何利用现有服务降低系统复杂性
|
3月前
|
人工智能 运维 Cloud Native
|
3月前
|
存储 运维 监控
云原生时代的数据存储与计算优化策略
【7月更文挑战第15天】在数字化转型的浪潮中,云原生技术成为企业创新和效率提升的关键。本文将探索如何通过云原生架构实现数据存储和计算的优化,旨在为开发者和企业决策者提供实用的指导和建议,以应对日益增长的数据挑战。
|
3月前
|
运维 监控 负载均衡
云原生架构的演进:从微服务到服务的网格
【7月更文挑战第8天】云原生技术正以惊人的速度不断进化,其核心理念是构建可扩展、灵活且高度可靠的应用程序。本文将深入探讨云原生架构的关键组成部分,特别是微服务和服务网格,以及它们如何共同推动现代软件的发展。我们将通过一个具体的案例分析,揭示这些技术如何在现实世界中被应用来提升业务敏捷性和操作效率。
|
3月前
|
运维 Cloud Native 开发者
云原生架构的演进之路:从微服务到无服务器计算
在数字化转型的浪潮中,企业不断追求更高效、灵活的IT解决方案。云原生技术作为推动现代软件部署的关键力量,其发展经历了从微服务到无服务器计算的转变。本文将深入探讨这一演进过程,揭示它如何重塑应用开发与运维模式,并展望云原生技术的未来趋势。
|
3月前
|
机器学习/深度学习 人工智能 Java
人工智能平台PAI使用问题之Java SDK支持哪些版本
阿里云人工智能平台PAI是一个功能强大、易于使用的AI开发平台,旨在降低AI开发门槛,加速创新,助力企业和开发者高效构建、部署和管理人工智能应用。其中包含了一系列相互协同的产品与服务,共同构成一个完整的人工智能开发与应用生态系统。以下是对PAI产品使用合集的概述,涵盖数据处理、模型开发、训练加速、模型部署及管理等多个环节。