From: "Daniel P. Berrangé" <berrange@redhat.com>
To: Tyler Fanelli <tfanelli@redhat.com>
Cc: John Ferlan <jferlan@redhat.com>,
qemu-devel@nongnu.org,
"Dr. David Alan Gilbert" <dgilbert@redhat.com>
Subject: Re: SEV guest attestation
Date: Wed, 24 Nov 2021 17:57:13 +0000 [thread overview]
Message-ID: <YZ58+T04uVXaO2Ab@redhat.com> (raw)
In-Reply-To: <8b0c6f36-8a11-eeff-8bab-68c47fe95fbe@redhat.com>
On Wed, Nov 24, 2021 at 11:34:16AM -0500, Tyler Fanelli wrote:
> Hi,
>
> We recently discussed a way for remote SEV guest attestation through QEMU.
> My initial approach was to get data needed for attestation through different
> QMP commands (all of which are already available, so no changes required
> there), deriving hashes and certificate data; and collecting all of this
> into a new QMP struct (SevLaunchStart, which would include the VM's policy,
> secret, and GPA) which would need to be upstreamed into QEMU. Once this is
> provided, QEMU would then need to have support for attestation before a VM
> is started. Upon speaking to Dave about this proposal, he mentioned that
> this may not be the best approach, as some situations would render the
> attestation unavailable, such as the instance where a VM is running in a
> cloud, and a guest owner would like to perform attestation via QMP (a likely
> scenario), yet a cloud provider cannot simply let anyone pass arbitrary QMP
> commands, as this could be an issue.
As a general point, QMP is a low level QEMU implementation detail,
which is generally expected to be consumed exclusively on the host
by a privileged mgmt layer, which will in turn expose its own higher
level APIs to users or other apps. I would not expect to see QMP
exposed to anything outside of the privileged host layer.
We also use the QAPI protocol for QEMU guest agent commmunication,
however, that is a distinct service from QMP on the host. It shares
most infra with QMP but has a completely diffent command set. On the
host it is not consumed inside QEMU, but instead consumed by a
mgmt app like libvirt.
> So I ask, does anyone involved in QEMU's SEV implementation have any input
> on a quality way to perform guest attestation? If so, I'd be interested.
I think what's missing is some clearer illustrations of how this
feature is expected to be consumed in some real world application
and the use cases we're trying to solve.
I'd like to understand how it should fit in with common libvirt
applications across the different virtualization management
scenarios - eg virsh (command line), virt-manger (local desktop
GUI), cockpit (single host web mgmt), OpenStack (cloud mgmt), etc.
And of course any non-traditional virt use cases that might be
relevant such as Kata.
Regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
next prev parent reply other threads:[~2021-11-24 17:59 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-11-24 16:34 SEV guest attestation Tyler Fanelli
2021-11-24 17:27 ` Tyler Fanelli
2021-11-24 17:49 ` Dr. David Alan Gilbert
2021-11-24 18:29 ` Tyler Fanelli
2021-11-24 17:57 ` Daniel P. Berrangé [this message]
2021-11-24 18:29 ` Dr. David Alan Gilbert
2021-11-25 7:14 ` Sergio Lopez
2021-11-25 12:44 ` Dov Murik
2021-11-25 13:42 ` Daniel P. Berrangé
2021-11-25 13:59 ` Dov Murik
2021-11-29 14:29 ` Brijesh Singh
2021-11-29 14:49 ` Brijesh Singh
2021-11-25 15:11 ` Sergio Lopez
2021-11-25 15:40 ` Dr. David Alan Gilbert
2021-11-25 15:56 ` Daniel P. Berrangé
2021-11-25 16:08 ` Dr. David Alan Gilbert
2021-11-29 13:33 ` Dov Murik
2021-11-25 13:20 ` Dr. David Alan Gilbert
2021-11-25 13:36 ` Daniel P. Berrangé
2021-11-25 13:52 ` Daniel P. Berrangé
2021-11-25 13:55 ` Dov Murik
2021-11-25 15:00 ` Dr. David Alan Gilbert
2021-11-25 13:27 ` Daniel P. Berrangé
2021-11-25 13:50 ` Dov Murik
2021-11-25 13:56 ` Daniel P. Berrangé
2021-11-25 15:19 ` Dr. David Alan Gilbert
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=YZ58+T04uVXaO2Ab@redhat.com \
--to=berrange@redhat.com \
--cc=dgilbert@redhat.com \
--cc=jferlan@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=tfanelli@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).