Re: [PATCH v5 03/11] tpm: Allow PCR 23 to be restricted to kernel-only use

From: William Roberts
Date: Tue Jan 03 2023 - 16:06:36 EST


On Tue, Jan 3, 2023 at 2:43 PM Matthew Garrett <mgarrett@xxxxxxxxxxx> wrote:
>
> On Mon, Nov 14, 2022 at 9:11 AM James Bottomley <jejb@xxxxxxxxxxxxx> wrote:
> >
> > On Fri, 2022-11-11 at 15:16 -0800, Evan Green wrote:
> > > Introduce a new Kconfig, TCG_TPM_RESTRICT_PCR, which if enabled
> > > restricts usermode's ability to extend or reset PCR 23.
> >
> > Could I re ask the question here that I asked of Matthew's patch set:
> >
> > https://lore.kernel.org/all/b0c4980c8fad14115daa3040979c52f07f7fbe2c.camel@xxxxxxxxxxxxx/
> >
> > Which was could we use an NVRAM index in the TPM instead of a PCR? The
> > reason for asking was that PCRs are rather precious and might get more
> > so now that Lennart has some grand scheme for using more of them in his
> > unified boot project. Matthew promised to play with the idea but never
> > got back to the patch set to say whether he investigated this or not.
>
> Is there any way to get key creation data to include NV indexes?

Not that I am aware of and the spec seems to be a no.

> If not, no, we can't use NVRAM.

What's the use case of using the creation data and ticket in this
context? Who gets the
creationData and the ticket?
Could a user supplied outsideInfo work? IIRC I saw some patches flying around
where the sessions will get encrypted and presumably correctly as well. This
would allow the transfer of that outsideInfo, like the NV Index PCR value to
be included and integrity protected by the session HMAC.