-
Notifications
You must be signed in to change notification settings - Fork 81
Description
What do you think about the idea of having confidential guest [1] support in virtme-ng?
I already have a working PoC to support Secure Execution [2] (protected virtualization), but wanted to have some feedback before polishing the patches and sending a PR. There are, of course, method/architecture specific parts, for which I plan to use something like the following:
vng --confidential-guest --confidential-guest-args host-key-document=... --confidential-guest-args another-option=3
And to make it easier to use, you can set the args in the virtme-ng.conf as they do not change that frequently e.g.
{
"default_opts": {
"confidential_guest_args": ["host-key-document=...", "another-option=3"]
}
}
So this would reduce the command line for vng to:
vng --confidential-guest
What do you think? Note: I've only tested the feasibility for Secure Execution.
The implementation for Secure Execution does the following:
- QEMU needs to opt-in [3]
-object s390-pv-guest,id=pv0 \
-machine confidential-guest-support=pv0
- A Secure Execution boot image consisting of kernel, cmdline, and ramdisk must be prepared, similar to a unified kernel image (UKI).
- Use this image as kernel to boot.
[1] https://www.qemu.org/docs/master/system/confidential-guest-support.html
[2] https://www.ibm.com/docs/en/linux-on-systems?topic=management-secure-execution
[3] https://www.qemu.org/docs/master/system/s390x/protvirt.html