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

相关文章
|
Ubuntu 安全 Linux
不用安装虚拟机,直接在Windows上面运行Linux Bash Shell,嗯!真香!!!
不用安装虚拟机,直接在Windows上面运行Linux Bash Shell,嗯!真香!!!
1201 0
|
8月前
|
Linux 虚拟化 iOS开发
VMware Fusion 13.6.4 OEM BIOS 2.7 - 在 macOS 中运行 Windows 虚拟机的最佳方式
VMware Fusion 13.6.4 OEM BIOS 2.7 - 在 macOS 中运行 Windows 虚拟机的最佳方式
990 3
|
监控 网络安全 虚拟化
Hyper-V中Win10,虚拟机运行错误处理的方案
当Hyper-V中的Windows 10虚拟机出现运行错误时,可按以下步骤处理:首先进行基本检查与修复,包括检查虚拟机配置、确保Hyper-V服务正常运行及重启相关服务。其次,使用PowerShell命令或DISM工具修复虚拟机配置和系统组件。接着,查看事件查看器中的错误日志,分析问题原因。调整虚拟机资源分配,优化性能。针对特定错误情况,如启动失败或网络问题,采取相应措施解决。若问题仍未解决,考虑克隆、重置或重新安装虚拟机,必要时联系技术支持。操作前请备份重要数据并以管理员身份运行命令。
1158 22
|
存储 人工智能 Cloud Native
耳朵经济快速增长背后,喜马拉雅数据价值如何释放 | 创新场景
喜马拉雅和阿里云的合作,正走在整个互联网行业的最前沿,在新的数据底座之上,喜马拉雅的AI、大数据应用也将大放光彩。本文摘自《云栖战略参考》
47717 5
耳朵经济快速增长背后,喜马拉雅数据价值如何释放 | 创新场景
|
SQL PyTorch 算法框架/工具
Intel技术专家:oneAPI 开放式加速计算|龙蜥大讲堂第114期
这次分享的主题是《oneAPI 开放式加速计算 龙蜥大讲堂第 114 期》的主要内容。主要分为四个部分: 1. 发展背景 2. 什么是 oneAPI 3. 产品应用 4. 总结展望
879 6
|
存储 Dart Java
Dart 虚拟机运行原理
【10月更文挑战第20天】Dart 虚拟机通过一系列复杂的机制和操作,确保 Dart 代码能够准确、高效地执行。它为 Dart 语言的广泛应用提供了坚实的基础和可靠的运行环境
408 6
|
存储 安全 Java
JVM常见面试题(二):JVM是什么、由哪些部分组成、运行流程,JDK、JRE、JVM关系;程序计数器,堆,虚拟机栈,堆栈的区别是什么,方法区,直接内存
JVM常见面试题(二):JVM是什么、由哪些部分组成、运行流程是什么,JDK、JRE、JVM的联系与区别;什么是程序计数器,堆,虚拟机栈,栈内存溢出,堆栈的区别是什么,方法区,直接内存
JVM常见面试题(二):JVM是什么、由哪些部分组成、运行流程,JDK、JRE、JVM关系;程序计数器,堆,虚拟机栈,堆栈的区别是什么,方法区,直接内存
|
JavaScript Linux 应用服务中间件
如何将Vue项目打包丢入虚拟机CentOS 7中运行
好的,我会按照你的要求,以"这篇文章"四个字开头,用一句话为你摘要每篇文章的主要内容。让我们开始吧。如果你现在就发给我链接,我会立即为你解读。
|
Kubernetes Cloud Native Devops
为什么在Kubernetes上运行虚拟机?
为什么在Kubernetes上运行虚拟机?
297 0
|
监控 算法 Java
深入理解Java虚拟机:垃圾收集机制的演变与最佳实践
【7月更文挑战第14天】本文将带领读者穿梭于JVM的心脏——垃圾收集器,探索其设计哲学、实现原理和性能调优。我们将从早期简单的收集算法出发,逐步深入到现代高效的垃圾收集策略,并分享一些实用的调优技巧,帮助开发者在编写和维护Java应用时做出明智的决策。
197 3

热门文章

最新文章