带你读《云原生机密计算最佳实践白皮书》——Intel SGX虚拟机最佳实践(2)

简介: 带你读《云原生机密计算最佳实践白皮书》——Intel SGX虚拟机最佳实践(2)

《云原生机密计算最佳实践白皮书》——06运行时底座——Intel vSGX:Intel SGX虚拟化——Intel SGX虚拟机最佳实践(1) https://developer.aliyun.com/article/1231123?groupCode=aliyun_linux



Intel SGX虚拟机最佳实践


本文主要为您介绍如何在 SGX 裸金属/物理机环境中启动一个 SGX 虚拟机,以及如何在 SGX 虚拟机中构建 SGX 加密计算环境,并演示如何运行示例代码以验证 SGX 功能。


背景信息

Intel® SGX 是一组用于内存访问的指令和机制,以便为敏感应用程序和数据提供安全访问。 SGX 允许应用程序将其特定的地址空间用作 enclave,这是一个受保护的区域,即使在存在特权恶意软件的情况下也能提供机密性和完整性。 阻止任何不驻留在 enclave 中的软件访问 enclave 内存区域,包括来自特权软件的访问。

用户可以使用 Linux 内核中 KVM 虚拟化模块和 QEMU 在支持英特尔 SGX 的硬件上创建一个虚拟机,该虚拟机可以在 Guest 操作系统中使用Intel SGX and Intel SGX Data Center Attestation Primitives (Intel SGX DCAP) 。


前提条件

1. 检查 BIOS 是否使能 SGX

请使用 BIOS 使能 SGX 功能的 SGX 裸金属。

以浪潮 NF5280M6 SGX 机型为例,请参考下图的步骤检查 SGX 是否使能。

1.1. Total Memory Encription

Main menu->Socket Confifiguration->Processor Confifiguration->Total Memory Encryption ->Enabled

1.2. SW Guard Extensions(SGX)

Main menu->Socket Confifiguration->Processor Confifiguration-> SW Guard Extensions(SGX) ->Enabled

1.3. PRMRR Size

Main menu->Socket Confifiguration->Processor Confifiguration-> SW Guard Extensions(SGX) ->PRMRR Size 推荐设置为 32 G (PRMRR 决定单 socket 上预留 EPC 的大小)

2. 安装 Anolis 8.6 操作系统

请参考 Anolis 8.6 GA 说明文档安装 Anolis 8.6 GA。

3. 升级 kernel 到 5.10

• 安装 kernel 5.10

yum-confifig-manager --add-repo https://mirrors.openanolis.cn/anolis/8/kernel-5.10/x86_64/
os/ && \
 yum update kernel-5.10.134-12.1.an8

提示: 若提示-bash: yum-confifig-manager: command not found ,请参考以下命令安装yum-utils。

yum install -y yum-utils

• 重启机器之后,请输入以下命令查看内核版本。

uname -r

4. 检查 Host 侧的 SGX 使能状态

• 检查 SGX 使能状态。

dmesg | grep -i sgx

以下输出表示 SGX 已经被正确使能。

[ 2.326326] sgx: EPC section 0x80c000000-0xfffff7fffffffff
[ 2.391710] sgx: EPC section 0x180c000000-0x1fffffffffffffffff
[ 2.456785] sgx: EPC section 0x280c000000-0x2fffffffffffffffff
[ 2.522183] sgx: EPC section 0x380c000000-0x3fffffffffffffffff

• 检查 SGX 驱动安装情况。

ls /dev/sgx*

以下输出表示已经安装 SGX 驱动。

/dev/sgx_enclave /dev/sgx_provision /dev/sgx_vepc




《云原生机密计算最佳实践白皮书》——06运行时底座——Intel vSGX:Intel SGX虚拟化——Intel SGX虚拟机最佳实践(3) https://developer.aliyun.com/article/1231119?groupCode=aliyun_linux

目录
打赏
0
0
0
0
68
分享
相关文章
不用安装虚拟机,直接在Windows上面运行Linux Bash Shell,嗯!真香!!!
不用安装虚拟机,直接在Windows上面运行Linux Bash Shell,嗯!真香!!!
351 0
Dart 虚拟机运行原理
【10月更文挑战第20天】Dart 虚拟机通过一系列复杂的机制和操作,确保 Dart 代码能够准确、高效地执行。它为 Dart 语言的广泛应用提供了坚实的基础和可靠的运行环境
64 6
JVM常见面试题(二):JVM是什么、由哪些部分组成、运行流程,JDK、JRE、JVM关系;程序计数器,堆,虚拟机栈,堆栈的区别是什么,方法区,直接内存
JVM常见面试题(二):JVM是什么、由哪些部分组成、运行流程是什么,JDK、JRE、JVM的联系与区别;什么是程序计数器,堆,虚拟机栈,栈内存溢出,堆栈的区别是什么,方法区,直接内存
JVM常见面试题(二):JVM是什么、由哪些部分组成、运行流程,JDK、JRE、JVM关系;程序计数器,堆,虚拟机栈,堆栈的区别是什么,方法区,直接内存
如何将Vue项目打包丢入虚拟机CentOS 7中运行
好的,我会按照你的要求,以"这篇文章"四个字开头,用一句话为你摘要每篇文章的主要内容。让我们开始吧。如果你现在就发给我链接,我会立即为你解读。
Kubernetes云原生问题之在Serverless Container中,Pod运行如何解决
Kubernetes云原生问题之在Serverless Container中,Pod运行如何解决
82 5
深入理解Java虚拟机:垃圾收集机制的演变与最佳实践
【7月更文挑战第14天】本文将带领读者穿梭于JVM的心脏——垃圾收集器,探索其设计哲学、实现原理和性能调优。我们将从早期简单的收集算法出发,逐步深入到现代高效的垃圾收集策略,并分享一些实用的调优技巧,帮助开发者在编写和维护Java应用时做出明智的决策。
70 3
(四)JVM成神路之深入理解虚拟机运行时数据区与内存溢出、内存泄露剖析
前面的文章中重点是对于JVM的子系统进行分析,在之前已经详细的阐述了虚拟机的类加载子系统以及执行引擎子系统,而本篇则准备对于JVM运行时的内存区域以及JVM运行时的内存溢出与内存泄露问题进行全面剖析。
139 0
云原生数据仓库使用问题之运行MySQL命令发现中文内容变成了问号,该如何解决
阿里云AnalyticDB提供了全面的数据导入、查询分析、数据管理、运维监控等功能,并通过扩展功能支持与AI平台集成、跨地域复制与联邦查询等高级应用场景,为企业构建实时、高效、可扩展的数据仓库解决方案。以下是对AnalyticDB产品使用合集的概述,包括数据导入、查询分析、数据管理、运维监控、扩展功能等方面。
vmware虚拟机运行ubuntu等卡慢的解决办法
vmware虚拟机运行ubuntu等卡慢的解决办法
1873 0

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等