Skip to content

RFC: Add confidential guest support: Secure Execution support#290

Draft
mhartmay wants to merge 1 commit into
arighi:mainfrom
mhartmay:confidential-guest-rfc-v1
Draft

RFC: Add confidential guest support: Secure Execution support#290
mhartmay wants to merge 1 commit into
arighi:mainfrom
mhartmay:confidential-guest-rfc-v1

Conversation

@mhartmay
Copy link
Copy Markdown
Collaborator

@mhartmay mhartmay commented May 2, 2025

Example to start a confidential guest using two host-key documents

$ vng -r --confidential-guest --confidential-guest-args
host-key-document=/home/mhartmay/storage/git/hostkeys/a46/HKD-3931-02772A8.crt
--confidential-guest-args
host-key-document=/home/mhartmay/storage/git/hostkeys/b35/HKD-9175-029DE48.crt

Another example where always the given pvimg create arguments are used. To do
so, modify the
default_opts sections in ~/.config/virtme-ng/virtme-ng.conf as following:

{
    "default_opts": {
        "confidential_guest_args": ["host-key-document=/home/user/HKD.crt"]
    },
}

Now you can simply run vng --confidential-guest to prepare the Secure Execution boot image using the given host-key document.

@mhartmay mhartmay force-pushed the confidential-guest-rfc-v1 branch from 2eb63ab to e8b4e7c Compare May 2, 2025 09:44
@mhartmay
Copy link
Copy Markdown
Collaborator Author

mhartmay commented May 2, 2025

There are still some open TODOs:

  • check for pvimg
  • Check for KVM and native run
  • Add confidential dump support
  • probing qemu/kvm/hardware and guest kernel for confidential guest support? Not sure about this... there are some other places in virtme-ng that does not handle this as well.

@mhartmay mhartmay force-pushed the confidential-guest-rfc-v1 branch 4 times, most recently from 3cd0a5c to 41c2644 Compare May 6, 2025 06:30
@mhartmay mhartmay linked an issue May 6, 2025 that may be closed by this pull request
@mhartmay mhartmay marked this pull request as draft May 6, 2025 10:52
@mhartmay mhartmay force-pushed the confidential-guest-rfc-v1 branch 3 times, most recently from 8b31dc6 to f13e0f0 Compare May 15, 2025 10:57
@mhartmay mhartmay force-pushed the confidential-guest-rfc-v1 branch 3 times, most recently from b868d21 to 86914ec Compare June 25, 2025 10:31
@mhartmay
Copy link
Copy Markdown
Collaborator Author

@arighi Do you know if this approach would work for AMD SEV? Or can you test it? (I do not have access to AMD SEV hardware)

@arighi
Copy link
Copy Markdown
Owner

arighi commented Jun 26, 2025

@arighi Do you know if this approach would work for AMD SEV? Or can you test it? (I do not have access to AMD SEV hardware)

I also don't have access to any hardware with AMD SEV. And my knowledge about confidential computing is still very basic.
I'd say as long as it works with a certain hardware and it's not breaking/regressing other workloads, I'm totally ok to merge this (it doesn't necessarily need to work with everything).

@mhartmay mhartmay force-pushed the confidential-guest-rfc-v1 branch 3 times, most recently from d9539c5 to 392e3be Compare July 24, 2025 11:25
Example to start a confidential guest using two host-key documents
```
$ vng -r --confidential-guest --confidential-guest-args
host-key-document=/home/mhartmay/storage/git/hostkeys/a46/HKD-3931-02772A8.crt
--confidential-guest-args
host-key-document=/home/mhartmay/storage/git/hostkeys/b35/HKD-9175-029DE48.crt
```

Another example where always the given `pvimg create` arguments are used. To do
 so, modify the
`default_opts` sections in `~/.config/virtme-ng/virtme-ng.conf` as following:
```
{
    "default_opts": {
        "confidential_guest_args": ["host-key-document=/home/user/HKD.crt"]
    },
}
```

Now you can simply run `vng --confidential-guest` to prepare the Secure
Execution boot image using the given host-key document.

Signed-off-by: Marc Hartmayer <mhartmay@linux.ibm.com>
@mhartmay mhartmay force-pushed the confidential-guest-rfc-v1 branch from 392e3be to 0ad95de Compare July 24, 2025 11:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Feature: Confidential guest support

2 participants