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


相关文章
|
Cloud Native 安全 Serverless
云原生应用实战:基于阿里云Serverless的API服务开发与部署
随着云计算的发展,Serverless架构日益流行。阿里云函数计算(Function Compute)作为Serverless服务,让开发者无需管理服务器即可运行代码,按需付费,简化开发运维流程。本文从零开始,介绍如何使用阿里云函数计算开发简单的API服务,并探讨其核心优势与最佳实践。通过Python示例,演示创建、部署及优化API的过程,涵盖环境准备、代码实现、性能优化和安全管理等内容,帮助读者快速上手Serverless开发。
|
人工智能 Cloud Native 多模数据库
实力见证!数据管理服务DMS、云原生多模数据库Lindorm荣获“2024技术卓越奖”
实力见证!数据管理服务DMS、云原生多模数据库Lindorm荣获“2024技术卓越奖”
415 1
|
Kubernetes Cloud Native Docker
云原生之旅:从传统架构到容器化服务的演变
随着技术的快速发展,云计算已经从简单的虚拟化服务演进到了更加灵活和高效的云原生时代。本文将带你了解云原生的概念、优势以及如何通过容器化技术实现应用的快速部署和扩展。我们将以一个简单的Python Web应用为例,展示如何利用Docker容器进行打包和部署,进而探索Kubernetes如何管理这些容器,确保服务的高可用性和弹性伸缩。
|
运维 监控 Cloud Native
云原生之运维监控实践:使用 taosKeeper 与 TDinsight 实现对 时序数据库TDengine 服务的监测告警
在数字化转型的过程中,监控与告警功能的优化对保障系统的稳定运行至关重要。本篇文章是“2024,我想和 TDengine 谈谈”征文活动的三等奖作品之一,详细介绍了如何利用 TDengine、taosKeeper 和 TDinsight 实现对 TDengine 服务的状态监控与告警功能。作者通过容器化安装 TDengine 和 Grafana,演示了如何配置 Grafana 数据源、导入 TDinsight 仪表板、以及如何设置告警规则和通知策略。欢迎大家阅读。
574 0
|
数据采集 开发工具 Python
海康威视工业相机SDK+Python+PyQt开发数据采集系统(支持软件触发、编码器触发)
该系统基于海康威视工业相机SDK,使用Python与PyQt开发,支持Gige与USB相机设备的搜索及双相机同时显示。系统提供软件触发与编码器触发模式,并可在数据采集过程中实时保存图像。此外,用户可以调节曝光时间和增益,并进行信息输入,这些信息将被保存至配置文件以便下次自动加载。参数调节与实时预览等功能进一步增强了系统的实用性。
2359 1
|
运维 Kubernetes Cloud Native
Kubernetes云原生问题之在托管Kubernetes服务中云服务商和用户的运维责任划分如何解决
Kubernetes云原生问题之在托管Kubernetes服务中云服务商和用户的运维责任划分如何解决
219 2
|
存储 Cloud Native 智能网卡
共识协议的技术变迁问题之应用程序开发者应如何利用现有服务降低系统复杂性
共识协议的技术变迁问题之应用程序开发者应如何利用现有服务降低系统复杂性
329 1
|
运维 监控 负载均衡
云原生架构的演进:从微服务到服务的网格
【7月更文挑战第8天】云原生技术正以惊人的速度不断进化,其核心理念是构建可扩展、灵活且高度可靠的应用程序。本文将深入探讨云原生架构的关键组成部分,特别是微服务和服务网格,以及它们如何共同推动现代软件的发展。我们将通过一个具体的案例分析,揭示这些技术如何在现实世界中被应用来提升业务敏捷性和操作效率。
|
11月前
|
开发工具 Android开发
X Android SDK file not found: adb.安卓开发常见问题-Android SDK 缺少 `adb`(Android Debug Bridge)-优雅草卓伊凡
X Android SDK file not found: adb.安卓开发常见问题-Android SDK 缺少 `adb`(Android Debug Bridge)-优雅草卓伊凡
934 11
X Android SDK file not found: adb.安卓开发常见问题-Android SDK 缺少 `adb`(Android Debug Bridge)-优雅草卓伊凡
|
JavaScript 前端开发 Java
[Android][Framework]系统jar包,sdk的制作及引用
[Android][Framework]系统jar包,sdk的制作及引用
662 0

热门文章

最新文章