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

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

AMD SEV机密虚拟机


项目位置链接

AMD SEV 技术基于AMD EPYC CPU,将物理机密计算能力传导至虚拟机实例,在公有云上打造一个立体化可信加密环境。 SEV可保证单个虚拟机实例使用独立的硬件密钥对内存加密,同时提供高性能支持。密钥由AMD 平台安全处理器 (PSP)在实例创建期间生成,而且仅位于处理器中,云厂商无法访问这些密钥。


测试环境

硬件配置

CPU: AMD EPYC 7763 *1

Memory: DDR4 3200 32G *16

软件信息

OS: Anolis 8.5.0-10.0.1

Kernel: 5.10.134-12.1.an8.x86_64


第一步 开启 SME和 SEV

开启 SME

将 mem_encrypt=on 添加到kernel的引导参数

Enable SEV

将 kvm_amd.sev=1 kvm.添加到kernel的引导参数中

确保Kernel的引导参数生效

1、vim /etc/default/grub

2、增加 "kvm_amd.sev=1 mem_encrypt=on" 到 "GRUB_CMDLINE_LINUX_DEFAULT=" 这一行

3、grub2-mkconfifig -o /boot/efifi/EFI/anolis/grub.cfg


第二步 重启服务器进入BIOS开启SEV相关选项

BIOS 配置项如下

1、Advanced->AMD CBS->CPU Common Options->SMEE->Enable

2、Advanced->AMD CBS->NBIO Common Options->IOMMU->Enabled

3、Advanced->AMD CBS->NBIO Common Options->SEV-SNP Support->Enable

Anolis OS 对SEV的配置进行确认

1、cat /proc/cmdline

确保输出有"mem_encrypt=on kvm_amd.sev=1"

类似输出如下

BOOT_IMAGE=(hd1,gpt2)/vmlinuz-5.10.134-12.1.an8.x86_64 root=/dev/mapper/ao-root ro
crashkernel=auto resume=/dev/mapper/ao-swap rd.lvm.lv=ao/root rd.lvm.lv=ao/swap rhgb 
quiet mem_encrypt=on kvm_amd.sev=1 kvm_amd.sev_es=1

2、dmesg | grep -i SEV

确保输出有 "SEV supported"

类似输出如下

[ 5.145496] ccp 0000:47:00.1: sev enabled
[ 5.234221] ccp 0000:47:00.1: SEV API:1.49 build:6
[ 5.445958] SEV supported: 253 ASIDs

3、cat /sys/module/kvm_amd/parameters/sev

确保输出值是 "1" 或者 "Y"



《云原生机密计算最佳实践白皮书》——06运行时底座——AMD SEV机密虚拟机(2) https://developer.aliyun.com/article/1230949?groupCode=aliyun_linux

相关文章
|
Ubuntu 安全 Linux
不用安装虚拟机,直接在Windows上面运行Linux Bash Shell,嗯!真香!!!
不用安装虚拟机,直接在Windows上面运行Linux Bash Shell,嗯!真香!!!
308 0
|
2月前
|
存储 Dart Java
Dart 虚拟机运行原理
【10月更文挑战第20天】Dart 虚拟机通过一系列复杂的机制和操作,确保 Dart 代码能够准确、高效地执行。它为 Dart 语言的广泛应用提供了坚实的基础和可靠的运行环境
32 6
|
4月前
|
存储 安全 Java
JVM常见面试题(二):JVM是什么、由哪些部分组成、运行流程,JDK、JRE、JVM关系;程序计数器,堆,虚拟机栈,堆栈的区别是什么,方法区,直接内存
JVM常见面试题(二):JVM是什么、由哪些部分组成、运行流程是什么,JDK、JRE、JVM的联系与区别;什么是程序计数器,堆,虚拟机栈,栈内存溢出,堆栈的区别是什么,方法区,直接内存
JVM常见面试题(二):JVM是什么、由哪些部分组成、运行流程,JDK、JRE、JVM关系;程序计数器,堆,虚拟机栈,堆栈的区别是什么,方法区,直接内存
|
4月前
|
JavaScript Linux 应用服务中间件
如何将Vue项目打包丢入虚拟机CentOS 7中运行
好的,我会按照你的要求,以"这篇文章"四个字开头,用一句话为你摘要每篇文章的主要内容。让我们开始吧。如果你现在就发给我链接,我会立即为你解读。
|
5月前
|
监控 算法 Java
深入理解Java虚拟机:垃圾收集机制的演变与最佳实践
【7月更文挑战第14天】本文将带领读者穿梭于JVM的心脏——垃圾收集器,探索其设计哲学、实现原理和性能调优。我们将从早期简单的收集算法出发,逐步深入到现代高效的垃圾收集策略,并分享一些实用的调优技巧,帮助开发者在编写和维护Java应用时做出明智的决策。
57 3
|
5月前
|
存储 算法 Java
(四)JVM成神路之深入理解虚拟机运行时数据区与内存溢出、内存泄露剖析
前面的文章中重点是对于JVM的子系统进行分析,在之前已经详细的阐述了虚拟机的类加载子系统以及执行引擎子系统,而本篇则准备对于JVM运行时的内存区域以及JVM运行时的内存溢出与内存泄露问题进行全面剖析。
104 0
|
Kubernetes Cloud Native Devops
为什么在Kubernetes上运行虚拟机?
为什么在Kubernetes上运行虚拟机?
101 0
|
7月前
|
Ubuntu 安全 虚拟化
vmware虚拟机运行ubuntu等卡慢的解决办法
vmware虚拟机运行ubuntu等卡慢的解决办法
1633 0
|
7月前
|
存储 缓存 Java
JVM【带着问题去学习 02】数据结构栈+本地方法栈+虚拟机栈+JVM栈运行原理
JVM【带着问题去学习 02】数据结构栈+本地方法栈+虚拟机栈+JVM栈运行原理
88 0
|
7月前
|
安全 Cloud Native 算法
云原生安全-云计算发展白皮书(2020年)解读
云原生安全-云计算发展白皮书(2020年)解读
207 0

热门文章

最新文章