[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC PATCH v2 06/16] sev: add Secure Encrypted Virtuliz
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-devel] [RFC PATCH v2 06/16] sev: add Secure Encrypted Virtulization (SEV) support |
Date: |
Thu, 22 Sep 2016 17:12:39 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.3.0 |
On 22/09/2016 16:52, Brijesh Singh wrote:
> to launch unencrypted SEV guest:
> # $QEMU \
> -object sev-launch-info,id=launch0,flags.ks=off \
> -object sev-guest-info,id,sev0,launch=launch0 \
> -object security-policy,id=secure0,memory-encryption=sev0 \
> -machine ....,security-policy=secure0
>
> - sev-receive-info: provides the properties to set/get parameters required
> to launch encrypted SEV guest.
>
> In this mode the boot images received from the guest owner are
> pre-encrypted with owners transport keys. The SEV guest boot process
> would re-encrypt the images using guest owner's key.
>
> to launch encrypted SEV guest:
>
> # $QEMU \
> -object sev-receive-info,id=launch0,flags.ks=off \
> -object sev-guest-info,id=sev0,launch=launch0 \
> -object security-policy,id=secure0,memory-encryption=sev0 \
> -machine ....,security-policy=secure0
>
> - sev-policy-info: provides properties to get/set SEV specific policy
> parameters required by SEV launch and migrate objects.
>
> e.g to disable key share during encrypted launch.
> # $QEMU \
> -object sev-policy-info,id=policy0,ks=off \
> -object sev-launch-info,id=sev0,policy=policy0 \
> .....
>
> sev-policy should be provided by the guest owner.
>
> - sev-guest-info: provides properties to set SEV guest launch object id
> used during guest launch.
>
> to use encrypted guest launch
> # $QEMU \
> -object sev-receive-info,id=launch0 \
> -object sev-send-info,id=send0 \
> -object sev-guest-info,id=sev0,launch=launch0,send=send0 \
> .....
>
References to other objects should be implemented as link properties
(e.g. with type 'link<sev-guest-info>'). Then QOM takes care of filling
in a QSEVGuestInfo* with the pointer to an object with the right id.
There is some redundancy (e.g. "flags.ks" in launch/receive vs. "ks" in
policy). Can you document the full model in
docs/amd-memory-encryption.txt? It's not necessary to include the
kernel API documentation.
Paolo
- [Qemu-devel] [RFC PATCH v2 02/16] exec: add guest RAM read and write ops, (continued)
- [Qemu-devel] [RFC PATCH v2 02/16] exec: add guest RAM read and write ops, Brijesh Singh, 2016/09/22
- [Qemu-devel] [RFC PATCH v2 03/16] exec: add debug version of physical memory read and write apis, Brijesh Singh, 2016/09/22
- [Qemu-devel] [RFC PATCH v2 04/16] monitor: use debug version of memory access apis, Brijesh Singh, 2016/09/22
- [Qemu-devel] [RFC PATCH v2 05/16] core: add new security-policy object, Brijesh Singh, 2016/09/22
- [Qemu-devel] [RFC PATCH v2 06/16] sev: add Secure Encrypted Virtulization (SEV) support, Brijesh Singh, 2016/09/22
- Re: [Qemu-devel] [RFC PATCH v2 06/16] sev: add Secure Encrypted Virtulization (SEV) support,
Paolo Bonzini <=
- Re: [Qemu-devel] [RFC PATCH v2 06/16] sev: add Secure Encrypted Virtulization (SEV) support, Michael S. Tsirkin, 2016/09/22
- [Qemu-devel] [RFC PATCH v2 07/16] hmp: display memory encryption support in 'info kvm', Brijesh Singh, 2016/09/22
- [Qemu-devel] [RFC PATCH v2 08/16] core: loader: create memory encryption context before copying data, Brijesh Singh, 2016/09/22
- [Qemu-devel] [RFC PATCH v2 09/16] sev: add LAUNCH_START command, Brijesh Singh, 2016/09/22
- [Qemu-devel] [RFC PATCH v2 10/16] sev: add LAUNCH_UPDATE command, Brijesh Singh, 2016/09/22
- [Qemu-devel] [RFC PATCH v2 11/16] sev: add LAUNCH_FINISH command, Brijesh Singh, 2016/09/22
- [Qemu-devel] [RFC PATCH v2 12/16] sev: add DEBUG_DECRYPT command, Brijesh Singh, 2016/09/22