On Thu, Oct 28, 2021 at 01:51:33PM -0400, Stefan Berger wrote:
On 10/28/21 07:04, Daniel P. Berrangé wrote:
> On Wed, Oct 27, 2021 at 05:48:19PM -0400, Stefan Berger wrote:
> > On 10/27/21 14:17, Marc-André Lureau wrote:
> > > Hi
> > >
> > > On Wed, Oct 27, 2021 at 9:00 PM Stefan Berger
<stefanb(a)linux.ibm.com> wrote:
> > > > Extend qemu.conf with a configration option swtpm_active_pcr_banks
that
> > > > allows a user to set a comma-separated list of PCR banks to activate
> > > > during 'TPM manufacturing'. Valid PCR banks are
sha1,sha256,sha384 and
> > > > sha512.
> > > >
> > > Why not put this option in swtpm_setup.conf instead?
> > That is another option but it depends on when one wants to see the effect or
> > how one wants to control it. With newer libvirt or newer swtpm?
> The obvious reason for putting it in swtpm_setup.conf is that it also
> benefits people using swtpm in a non-libvirt scenario.
>
> IMHO, we should put it in swtpm_setup.conf, and *also* have a build
> time option in swtpm to configure the built-in default.
>
> IOW, I'd expect RHEL-9 RPM swtpm.spec to pass
>
> %configure --default-pcr-banks=sha256
>
> and then have the swtpm_setup.conf option to allow admins to override
> the distro default if they need a weaker setup on a host.
I now have a pending PR to swtpm that does this modulo using
--enable-default-pcr-banks=sha256. The selection of the PCR banks to
activate can then be done via swtpm_setup.conf active_pcr_banks = <list of
PCR banks> entry, if provided, otherwise it's back to the configure line
default.
https://github.com/stefanberger/swtpm/pull/615
Great, that looks good.
> On the libvirt side, I think we could have a domain XML config
option
> for PCR banks, to allow the built-in default or admin local default to
> be override per-VM.
Is there an example of an attribute that can only be set once in the domain
XML and cannot be modified after? The choice of active PCR banks is limited
to 'TPM manufacturing' time, which means swtpm_setup runs once only when the
swtpm's state directory does not exist because later it would overwrite the
entire state and erase all keys etc.. Later manipulations of the PCR banks
would have to be done using the firmware menu, which exist in EDK2, SeaBIOS
and SLOF.
Yeah, it is a little unusual, but then I guess we have the similarish
with other firmware selection, where setting "secure=yes|no" determines
which OVMF binary we pick to use.
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 :|