All of lore.kernel.org
 help / color / mirror / Atom feed
From: Aneesh Kumar K.V <aneesh.kumar@kernel.org>
To: Jason Gunthorpe <jgg@nvidia.com>
Cc: Dave Jiang <dave.jiang@intel.com>,
	"Reshetova, Elena" <elena.reshetova@intel.com>,
	Xu Yilun <yilun.xu@linux.intel.com>,
	"linux-coco@lists.linux.dev" <linux-coco@lists.linux.dev>,
	Jiri Pirko <jiri@resnulli.us>,
	"Tian, Kevin" <kevin.tian@intel.com>,
	Alexey Kardashevskiy <aik@amd.com>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Suzuki K Poulose <suzuki.poulose@arm.com>,
	Steven Price <steven.price@arm.com>,
	Kiryl Shutsemau <kas@kernel.org>,
	"Edgecombe, Rick P" <rick.p.edgecombe@intel.com>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	Jonathan Cameron <jic23@kernel.org>,
	Bjorn Helgaas <bhelgaas@google.com>,
	Ashish Kalra <ashish.kalra@amd.com>,
	Tom Lendacky <thomas.lendacky@amd.com>,
	John Allen <john.allen@amd.com>, Will Deacon <will@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	"patches@lists.linux.dev" <patches@lists.linux.dev>,
	Alistair <alistair23@gmail.com>
Subject: Re: [RFC PATCH v1 10/11] virt: coco: arm-cca-host: Publish slot zero and establish streams after acceptance
Date: Fri, 13 Nov 2026 22:42:06 +0530	[thread overview]
Message-ID: <yq5a33t4mza1.fsf@kernel.org> (raw)
In-Reply-To: <20261113145249.GA3706007@nvidia.com>

Jason Gunthorpe <jgg@nvidia.com> writes:

> On Fri, Nov 13, 2026 at 02:24:59PM +0530, Aneesh Kumar K.V wrote:
>> Jason Gunthorpe <jgg@nvidia.com> writes:
>> 
>> > On Thu, Nov 12, 2026 at 03:07:43PM +0530, Aneesh Kumar K.V wrote:

 [ ... 96 lines skipped ... ] 

> We really want the certificates to be loaded at the start before doing
> key_exchange. That is when they are most useful.
>
> So when we fix this for 1.3 the opt in should trigger a transcript'd
> GET_DIGEST in plain text and certificate collection from all the slots
> in plain text.
>
> 1.3 will sign GET_DIGESTS during KEY_EXCHANGE
> 1.2 RMM could issue CHALLENGE if the device supports it right before
>     KEY_EXCHANGE and transcript it
> 1.2 RMM could issue GET_DIGESTS inside the session and fail if != to
>     the plaintext
>


So the combined flow would be:

Host                             RMM                              Device
|                                 |                                  |
| RMI_PDEV_CREATE(new-flow opt-in)|                                  |
|-------------------------------->|                                  |
|                                 | GET_VERSION / VERSION            |
|                                 | GET_CAPABILITIES / CAPABILITIES  |
|                                 | NEGOTIATE_ALGORITHMS / ALGORITHMS|
|                                 |<-------------------------------->|
| Cache individual VCA messages   |                                  |
|<--------------------------------|                                  |
|                                 |                                  |
|                                 | GET_DIGESTS / DIGESTS [plaintext]|
|                                 |<-------------------------------->|
| Cache discovery transcript      | Retain original slot mask        |
|<--------------------------------| and per-slot chain digests       |
|                                 |                                  |
|                                 | For each populated slot:         |
|                                 | GET_CERTIFICATE / CERTIFICATE    |
|                                 |<-------------------------------->|
| Cache complete chains by slot   |                                  |
|<--------------------------------|                                  |
|                                 |                                  |
|                      Pause: PDEV_NEEDS_KEY                         |
|                                 |                                  |
| Validate candidate certificate  |                                  |
| paths against userspace policy. |                                  |
| Select slot S and extract key S.|                                  |
| Discovery remains provisional.  |                                  |
|                                 |                                  |
| RMI_PDEV_SET_PUBKEY             |                                  |
| (slot S, key S, chain hash S)   |                                  |
|-------------------------------->|                                  |
|                                 |                                  |
|                    IF SPDM 1.2 AND CHALLENGE supported             |
|                                 |                                  |
|                                 | CHALLENGE(slot S, fresh nonce)   |
|                                 |--------------------------------->|
|                                 | CHALLENGE_AUTH                   |
|                                 |<---------------------------------|
|                                 | Verify signature using key S.    |
|                                 | Authenticates earlier DIGESTS.   |
| Cache challenge transcript      |                                  |
|<--------------------------------|                                  |
|                                 |                                  |
|                    END IF                                          |
|                                 |                                  |
|                                 | KEY_EXCHANGE(slot S)             |
|                                 |--------------------------------->|
|                                 | KEY_EXCHANGE_RSP                 |
|                                 |<---------------------------------|
|                                 | Verify signature using key S.    |
|                                 |                                  |
|                    IF SPDM 1.3 multikey negotiated                 |
|                                 |                                  |
|                                 | Signature covers earlier DIGESTS.|
|                                 | Authenticate retained inventory. |
|                                 |                                  |
|                    END IF                                          |
|                                 |                                  |
| Cache key-exchange transcript   |                                  |
|<--------------------------------|                                  |
|                                 | FINISH / FINISH_RSP              |
|                                 |<-------------------------------->|
|                                 | Session established.             |
|                                 |                                  |
|                    IF SPDM 1.2 AND CHALLENGE unavailable           |
|                                 |                                  |
|                                 | GET_DIGESTS / DIGESTS [secure]   |
| Relay ciphertext                |<-------------------------------->|
|                                 | Compare authenticated slot mask  |
|                                 | and every digest with original   |
|                                 | plaintext discovery.             |
|                                 |                                  |
|                                 | Mismatch: fail setup.            |
|                                 | Match: authenticate inventory.   |
|                                 |                                  |
|                    END IF                                          |
|                                 |                                  |
|                                 | Check collected chains against   |
|                                 | authenticated per-slot digests.  |
|                                 |                                  |
|                            PDEV_READY                              |

BTW, all these proposals require RMM changes. As I requested in my previous
email, it would be useful to describe what this would look like without a
firmware change.

-aneesh

  parent reply	other threads:[~2026-11-13 17:12 UTC|newest]

Thread overview: 102+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-10-28 15:26 [RFC PATCH v1 00/11] PCI/TSM: Add CTLV attestation Aneesh Kumar K.V (Arm)
2026-10-28 15:26 ` [RFC PATCH v1 01/11] attestation: Restrict inherited operations per instance Aneesh Kumar K.V (Arm)
2026-10-30 13:29   ` Jiri Pirko
2026-10-28 15:26 ` [RFC PATCH v1 02/11] attestation: Filter evidence objects " Aneesh Kumar K.V (Arm)
2026-10-30 13:44   ` Jiri Pirko
2026-10-31  6:24     ` Aneesh Kumar K.V
2026-11-02 19:14       ` Jiri Pirko
2026-10-28 15:26 ` [RFC PATCH v1 03/11] attestation: Enter secure operation when evidence is accepted Aneesh Kumar K.V (Arm)
2026-10-30 13:51   ` Jiri Pirko
2026-10-30 15:36     ` Jason Gunthorpe
2026-10-31  4:09     ` Aneesh Kumar K.V
2026-11-02 11:28       ` Jiri Pirko
2026-10-28 15:26 ` [RFC PATCH v1 04/11] attestation: Bind object selection to accepted evidence snapshots Aneesh Kumar K.V (Arm)
2026-10-28 15:26 ` [RFC PATCH v1 05/11] attestation: Make the evidence-get challenge attribute optional Aneesh Kumar K.V (Arm)
2026-10-28 15:26 ` [RFC PATCH v1 06/11] PCI/TSM: Describe the PCI attestation control family Aneesh Kumar K.V (Arm)
2026-10-30 14:01   ` Jiri Pirko
2026-10-30 15:43     ` Jason Gunthorpe
2026-11-02 12:45       ` Jiri Pirko
2026-11-03 15:45         ` Jason Gunthorpe
2026-11-04  9:21           ` Jiri Pirko
2026-11-04 14:00             ` Jason Gunthorpe
2026-10-31  4:05     ` Aneesh Kumar K.V
2026-11-02 11:50       ` Jiri Pirko
2026-11-03 15:35       ` Jason Gunthorpe
2026-10-31  4:22     ` Aneesh Kumar K.V
2026-11-02 11:30       ` Jiri Pirko
2026-11-03 15:39       ` Jason Gunthorpe
2026-10-28 15:26 ` [RFC PATCH v1 07/11] attestation: Add attestation helpers for PCI/TSM integration Aneesh Kumar K.V (Arm)
2026-10-28 15:26 ` [RFC PATCH v1 08/11] PCI/TSM: Bind CTLV attestation to connected and locked contexts Aneesh Kumar K.V (Arm)
2026-10-28 22:56   ` Dave Jiang
2026-10-29  5:30     ` Aneesh Kumar K.V
2026-10-29 12:41       ` Jason Gunthorpe
2026-10-30 14:04   ` Jiri Pirko
2026-10-30 14:08   ` Jiri Pirko
2026-10-30 15:39     ` Jason Gunthorpe
2026-11-02 12:11       ` Jiri Pirko
2026-11-03 15:41         ` Jason Gunthorpe
2026-10-28 15:26 ` [RFC PATCH v1 09/11] crypto/ccp: Defer SEV-TIO link setup until evidence acceptance Aneesh Kumar K.V (Arm)
2026-11-06  7:47   ` Alexey Kardashevskiy
2026-11-06 13:14     ` Aneesh Kumar K.V
2026-11-06 14:21       ` Jason Gunthorpe
2026-11-09 10:03       ` Alexey Kardashevskiy
2026-11-12  6:23         ` Aneesh Kumar K.V
2026-10-28 15:26 ` [RFC PATCH v1 10/11] virt: coco: arm-cca-host: Publish slot zero and establish streams after acceptance Aneesh Kumar K.V (Arm)
2026-10-29 16:56   ` Dave Jiang
2026-10-29 17:10     ` Jason Gunthorpe
2026-10-30  9:58       ` Reshetova, Elena
2026-10-30 13:15         ` Jason Gunthorpe
2026-10-31  3:47           ` Aneesh Kumar K.V
2026-11-02 10:11             ` Reshetova, Elena
2026-11-02 17:26               ` Jason Gunthorpe
2026-11-03 12:01                 ` Reshetova, Elena
2026-11-03 15:16                   ` Jason Gunthorpe
2026-11-04  8:03                     ` Xu Yilun
2026-11-04  9:49                       ` Reshetova, Elena
2026-11-04 13:41                         ` Jason Gunthorpe
2026-11-04 16:54                           ` Dave Jiang
2026-11-06 15:53                             ` Dave Jiang
2026-11-06 19:30                               ` Jason Gunthorpe
2026-11-06 22:39                                 ` Dave Jiang
2026-11-08 18:33                                   ` Jason Gunthorpe
2026-11-09 10:55                                     ` Reshetova, Elena
2026-11-09 13:47                                       ` Jason Gunthorpe
2026-11-09 17:37                                     ` Dave Jiang
2026-11-09 18:53                                       ` Jason Gunthorpe
2026-11-09 20:54                                         ` Dave Jiang
2026-11-09 23:40                                           ` Jason Gunthorpe
2026-11-10 13:15                                             ` Reshetova, Elena
2026-11-10 14:20                                               ` Jason Gunthorpe
2026-11-11 13:09                                                 ` Reshetova, Elena
2026-11-11 14:13                                                   ` Jason Gunthorpe
2026-11-12  1:48                                                     ` Alexey Kardashevskiy
2026-11-12 12:31                                                       ` Jason Gunthorpe
2026-11-10  1:40                                         ` Alistair
2026-11-10 15:07                                           ` Jason Gunthorpe
2026-11-10  5:32                                         ` Alexey Kardashevskiy
2026-11-10 12:52                                           ` Jason Gunthorpe
2026-11-11  9:03                                             ` Alexey Kardashevskiy
2026-11-12  9:37                                 ` Aneesh Kumar K.V
2026-11-12 14:52                                   ` Jason Gunthorpe
2026-11-12 15:47                                     ` Dave Jiang
2026-11-12 16:37                                       ` Jason Gunthorpe
2026-11-13  8:54                                     ` Aneesh Kumar K.V
2026-11-13 14:52                                       ` Jason Gunthorpe
2026-11-13 16:29                                         ` Aneesh Kumar K.V
2026-11-13 16:38                                         ` Aneesh Kumar K.V
2026-11-13 17:12                                         ` Aneesh Kumar K.V [this message]
2026-11-10 20:07                               ` Jason Gunthorpe
2026-11-04  9:03                     ` Reshetova, Elena
2026-11-04 13:48                       ` Jason Gunthorpe
2026-11-06  8:24                     ` Aneesh Kumar K.V
2026-11-06 12:49                       ` Reshetova, Elena
2026-11-06 15:53                         ` Aneesh Kumar K.V
2026-11-06 18:54                           ` Jason Gunthorpe
2026-11-03 16:31                 ` Aneesh Kumar K.V
2026-11-03 17:56                   ` Jason Gunthorpe
2026-11-02 10:05           ` Reshetova, Elena
2026-11-02 10:22           ` Reshetova, Elena
2026-11-02 17:37             ` Jason Gunthorpe
2026-10-28 15:26 ` [RFC PATCH v1 11/11] virt: coco: arm-cca-guest: Refresh selected evidence against trusted digests Aneesh Kumar K.V (Arm)
2026-10-30 12:34 ` [RFC PATCH v1 00/11] PCI/TSM: Add CTLV attestation Xu Yilun
2026-10-30 15:32   ` Jason Gunthorpe

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=yq5a33t4mza1.fsf@kernel.org \
    --to=aneesh.kumar@kernel.org \
    --cc=aik@amd.com \
    --cc=alistair23@gmail.com \
    --cc=ashish.kalra@amd.com \
    --cc=bhelgaas@google.com \
    --cc=catalin.marinas@arm.com \
    --cc=dave.hansen@linux.intel.com \
    --cc=dave.jiang@intel.com \
    --cc=elena.reshetova@intel.com \
    --cc=jgg@nvidia.com \
    --cc=jic23@kernel.org \
    --cc=jiri@resnulli.us \
    --cc=john.allen@amd.com \
    --cc=kas@kernel.org \
    --cc=kevin.tian@intel.com \
    --cc=linux-coco@lists.linux.dev \
    --cc=mark.rutland@arm.com \
    --cc=patches@lists.linux.dev \
    --cc=rick.p.edgecombe@intel.com \
    --cc=steven.price@arm.com \
    --cc=suzuki.poulose@arm.com \
    --cc=thomas.lendacky@amd.com \
    --cc=will@kernel.org \
    --cc=yilun.xu@linux.intel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.