mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: James Bottomley <James.Bottomley@HansenPartnership.com>
To: Dan Middleton <dan.middleton@linux.intel.com>,
	Dionna Amalie Glaze <dionnaglaze@google.com>,
	Dave Hansen <dave.hansen@intel.com>
Cc: "Xing, Cedric" <cedric.xing@intel.com>,
	Dan Williams <dan.j.williams@intel.com>,
	"Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	 Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
	 x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>,
	linux-kernel@vger.kernel.org,  linux-coco@lists.linux.dev,
	Kuppuswamy Sathyanarayanan
	<sathyanarayanan.kuppuswamy@linux.intel.com>
Subject: Re: [PATCH 0/4] tsm: Unified Measurement Register ABI for TVMs
Date: Wed, 19 Feb 2025 15:53:03 -0500	[thread overview]
Message-ID: <6e773bfd1275d4f8c7df1ca65e22ec42eba12a8e.camel@HansenPartnership.com> (raw)
In-Reply-To: <8009a9fd-c7b1-48e3-af8b-8f481328c597@linux.intel.com>

On Wed, 2025-02-19 at 09:24 -0600, Dan Middleton wrote:
> 
> 
> On 2/19/25 7:29 AM, James Bottomley wrote:
> > On Tue, 2025-02-18 at 19:21 -0800, Dionna Amalie Glaze wrote:
> > > On Tue, Feb 18, 2025 at 4:41 PM Dave Hansen
> > > <dave.hansen@intel.com>
> > > wrote:
> > > > 
> > > > On 2/18/25 15:57, Dionna Amalie Glaze wrote:
> > > > > > If there are actual end users who care about this, it would
> > > > > > be great to see their acks on it as well.
> > > > > > 
> > > > > We would like to have this for Google Confidential Space and
> > > > > Kubernetes Engine.
> > > > > 
> > > > > Acked-by: Dionna Glaze <dionnaglaze@google.com>
> > > > 
> > > > Great! Thanks for chiming in. Can you talk for a second,
> > > > though, about why this is useful and how you plan to use it? Is
> > > > it for debugging?
> > > 
> > > Confidential space on SEV depends on the hypervisor-provided vTPM
> > > to provide remotely attestable quotes of its PCRs, and the
> > > corresponding event logs.
> > > https://github.com/google/go-tpm-tools/blob/main/launcher/agent/agent.go#L97
> > > 
> > > On TDX and ARM CCA (maybe RISC-V CoVE someday), we don't want to
> > > have to depend on the vTPM.
> > 
> > I still don't get why one of the goals seems to be to artificially
> > separate AMD Confidential Computing from Intel (and now Arm and
> > RISC-V).
> > 
> > > There are runtime measurement registers and the CCEL.
> > > When we have a sysfs interface to extend these registers, it
> > > makes the user space evidence manager's life easier.
> > > When Dan Williams forced the issue about configfs-tsm, we were
> > > told that it is bad for the kernel to have many platform-specific
> > > interfaces for attestation operations.
> > > This patch series is a way to unify behind the tsm.
> > 
> > You say "unify behind", but this proposal doesn't include AMD and
> > it could easily.  All these RTMR systems are simply subsets of a
> > TPM functionality with non-standard (and different between each of
> > them) quoting mechanisms.  The only real substantive difference
> > between RTMR systems and TPM2 is the lack of algorithm agility.  If
> > everyone is determined to repeat the mistakes of history, TPM2 can
> > easily be exposed with a pejorative algorithm, so it could fit into
> > this structure with whatever the chosen hash is and definitely
> > should be so the interface can really become a universal one
> > applying to both Intel *and* AMD.   The only real argument against
> > adding a TPM that I've seen is that it potentially expands the use
> > beyond confidential VMs, which, in an interface claiming to be
> > universal, I think is actually a good thing. There are many non-CC
> > use cases that would really like a non-repudiable logging system.
> 
> Hi James,
> This isn't excluding AMD. AMD just happens not to have a feature
> common  to the other architectures.
> Intel TDX, Arm CCA, and RISC-V COVE all provide architectural 
> measurement registers.

Calling them "architectural" (implying via hardware) doesn't really
deflect from the fact that for everyone some pieces are going to be
software (or in this case SVSM) provided ... it shouldn't matter where
they're located.

>  SEV happens not to have these today

As I said, the vTPM is fully equivalent to a RTMR system, it's just
implemented in software.

>  but should they in the future, they can draft off of the work here.
> Might also be worth remembering the original author of the series 
> represented RISC-V COVE.
> 
> While someone can emulate a TPM using the architectural measurement 
> registers as a backing store, they don't have to. Certainly it's also
> possible to provide a vTPM in a protected region of memory, but that 
> shouldn't block the legitimate interests of using the architectural 
> features of TDX, CCA, and COVE.

What I still don't get is this.  The difference between RTMRs and the
subset of TPM functionality that also provides it is non-existent. 
It's like a distinction without a difference.  If the SVSM authors had
written for a pure RTMR implementation (just usng a CRB API) would that
have made a difference?

> > Just on algorithm agility, could I make one more plea to add it to
> > the API before it's set in stone.  You might think sha384 will last
> > forever, but then that's what the TPM1 makers thought of sha1 and
> > that design decision hasn't been well supported by history.  The
> > proposal is here:
> > 
> > https://lore.kernel.org/linux-coco/86e6659bc8dd135491dc34bdb247caf05d8d2ad8.camel@HansenPartnership.com/
> 
> This was helpful feedback. Cedric incorporated it into v3 of the RFC
> series:
> 
> https://lore.kernel.org/linux-coco/20241210-tsm-rtmr-v3-2-5997d4dbda73@intel.com/
> 
> We thought your silence on v3 meant you were happy with that feature.
> Lots of threads to track though so also not surprised if you didn't
> see it, or possible we misinterpreted your feedback.
> 
> It is retained in this patch set:
> https://lore.kernel.org/linux-coco/20250212-tdx-rtmr-v1-2-9795dc49e132@intel.com/

Heh, OK, you got me there.  After the negative reaction to the above
proposal and nothing changing in v2 I did stop reading the patch sets
...

Regards,

James


  reply	other threads:[~2025-02-19 20:53 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-02-13  2:23 Cedric Xing
2025-02-13  2:23 ` [PATCH 1/4] tsm: Add TVM Measurement Register support Cedric Xing
2025-02-14  0:55   ` kernel test robot
2025-02-17  0:17   ` Huang, Kai
2025-02-17 10:44     ` Huang, Kai
2025-02-17 20:57     ` Xing, Cedric
2025-02-18  9:14       ` Huang, Kai
2025-02-18 18:13         ` Xing, Cedric
2025-02-18  1:10   ` Sathyanarayanan Kuppuswamy
2025-02-20  1:01     ` Xing, Cedric
2025-02-13  2:23 ` [PATCH 2/4] tsm: Add TSM measurement sample code Cedric Xing
2025-02-13  2:23 ` [PATCH 3/4] x86/tdx: Add tdx_mcall_rtmr_extend() interface Cedric Xing
2025-02-17  0:40   ` Huang, Kai
2025-02-17 20:58     ` Xing, Cedric
2025-02-17 21:39       ` Sathyanarayanan Kuppuswamy
2025-02-13  2:23 ` [PATCH 4/4] x86/tdx: Expose TDX MRs through TSM sysfs interface Cedric Xing
2025-02-13  4:50 ` [PATCH 0/4] tsm: Unified Measurement Register ABI for TVMs Dave Hansen
2025-02-13 16:21   ` Xing, Cedric
2025-02-13 16:58     ` Dave Hansen
2025-02-13 21:50       ` Xing, Cedric
2025-02-13 23:19         ` Dave Hansen
2025-02-14 16:19           ` Xing, Cedric
2025-02-14 16:26             ` Dave Hansen
2025-02-14 21:59               ` Xing, Cedric
2025-02-18 16:25                 ` Dan Middleton
2025-02-18 16:57                   ` Dave Hansen
2025-02-18 23:57                     ` Dionna Amalie Glaze
2025-02-19  0:41                       ` Dave Hansen
2025-02-19  3:21                         ` Dionna Amalie Glaze
2025-02-19 13:29                           ` James Bottomley
2025-02-19 15:24                             ` Dan Middleton
2025-02-19 20:53                               ` James Bottomley [this message]
2025-02-19 22:25                                 ` Xing, Cedric
2025-02-19 23:02                                 ` Dan Williams
2025-05-02  1:45                       ` Dan Williams
2025-02-18 14:49         ` Mikko Ylinen
2025-02-19  4:04           ` Xing, Cedric
2025-02-19 11:31             ` Huang, Kai
2025-02-20  4:37               ` Xing, Cedric
2025-02-19 14:03             ` Mikko Ylinen
2025-02-20  5:07               ` Xing, Cedric
2025-02-18  1:10 ` Sathyanarayanan Kuppuswamy

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=6e773bfd1275d4f8c7df1ca65e22ec42eba12a8e.camel@HansenPartnership.com \
    --to=james.bottomley@hansenpartnership.com \
    --cc=bp@alien8.de \
    --cc=cedric.xing@intel.com \
    --cc=dan.j.williams@intel.com \
    --cc=dan.middleton@linux.intel.com \
    --cc=dave.hansen@intel.com \
    --cc=dave.hansen@linux.intel.com \
    --cc=dionnaglaze@google.com \
    --cc=hpa@zytor.com \
    --cc=kirill.shutemov@linux.intel.com \
    --cc=linux-coco@lists.linux.dev \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=sathyanarayanan.kuppuswamy@linux.intel.com \
    --cc=tglx@linutronix.de \
    --cc=x86@kernel.org \
    /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

all inboxes | Powered by JetHome®