ietf-rats / draft-birkholz-rats-evidence-media-types

Media-Type definitions for TPM 2.0 produced Evidence payload
Other
0 stars 0 forks source link

Naming scheme of media-types #2

Open henkbirkholz opened 2 years ago

henkbirkholz commented 2 years ago

Let's collect candidates and document the decision process in this issue.

thomas-fossati commented 2 years ago

We need to encode two things:

Some proposals:

TPM operation in the media type, serialisation in the suffix

TPM operation in the media type, serialisation in a parameter

Single TPM 2.0 media type with extensible set of ops and serialisation carried in parameters

TPM operation in the media type, serialisation in the suffix

thomas-fossati commented 2 years ago

ACTION @thomas-fossati: send an email to media-types@ietf.org to ask for advice.

thomas-fossati commented 1 week ago

Section 4.11.2 of TCG Trusted Attestation Protocol (TAP) Information Model has the following table:

TPM Family Subtype Value
1.2 Explicit Attestation using TPM_Quote 0x00
1.2 Explicit Attestation using TPM_Quote2 0x01
2.0 Explicit Attestation using Audit Session and Nonce 0x02
2.0 Explicit Attestation using Audit Session and Clock 0x03
2.0 Explicit Attestation using TPM2_Quote 0x04

@henkbirkholz believes this is the list of types that need registering, alongside Canonical Event Log.

Another dimension to consider is the serialisation formats that can be used. I.e., is there JSON or CBOR equivalent to the TLV format?


NOTE: can we avoid supporting 1.2?

thomas-fossati commented 1 week ago

@ths-on proposes to make use of the C-structure names.

ACTION(@ths-on): to provide TPMS_ATTEST data structure examples with media-type-friendly typographic conventions.

thomas-fossati commented 1 week ago

@henkbirkholz put forwards the following list:

ACTION(@henkbirkholz): talk to Monty and make sure this is all we need.

thomas-fossati commented 1 week ago

Actions list and related timings

Description Holder Deadline
Come up with a consolidated list of TCG representations @ths-on 2 Nov 2024 (before IETF 121)
Go to Monty and do a sanity check @henkbirkholz 2-8 Nov 2024 (IETF week)
Come up with a really consolidated list of TCG representations @thomas-fossati @henkbirkholz 2-8 Nov 2024 (IETF week)
Go with Monty to Murray (or another IANA expert) to search for direction @thomas-fossati @henkbirkholz 2-8 Nov 2024 (IETF week)
THS-on commented 1 day ago

I would lobby for only taking the TCG TPM data structures as bytes (i.e. base64 encoded), as this simplifies the usage later on. As far as encoding goes there are the following:

The two really necessary data structures for attestation are TPMS_ATTEST and TPMT_SIGNATURE. Even when looking at only at TPMS_ATTEST it has 28 different types nested. I think this makes not really feasible to get a media type for each and everyone.

As the raw data are mostly fixed size C structs, I would suggest to use a delta transfer algorithm if only partial information should be transferred.

THS-on commented 1 day ago

I can see three approaches:

For partial types we could implement a selector application/tcg.tpm2.tpms_attest;select=clockInfo though again in the IoT use case parameters in media types might not play nice.