Skip to content

Feature: Confidential guest support #279

@mhartmay

Description

@mhartmay

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:

  1. QEMU needs to opt-in [3]
-object s390-pv-guest,id=pv0 \
-machine confidential-guest-support=pv0
  1. A Secure Execution boot image consisting of kernel, cmdline, and ramdisk must be prepared, similar to a unified kernel image (UKI).
  2. 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions