Subject: Re: [Rats] Clarifications around Endorsements scope

From: Michael Richardson <[email-masked]>
Date: Sun, 01 Aug 2021 16:25:09 -0400

Laurence Lundblade <[email-masked]> wrote:

    >> On Jul 30, 2021, at 3:21 PM, Laurence Lundblade <[email-masked]> wrote:
    >>>
    >>> Instead, I see Endorsements as statements of the form: "Endorser tells
    >>> Verifier that Attester has non-measured attribute X".
    >>
    >> That definition seems too limited. For one, you can have Endorsements, attestation and such all with no measurements at all. So Endorsement can’t be defined in terms of measurement.

    > Here’s the near-minimal attestation system I can think of. Its purpose is identification of individual HW devices kinda like a stripped down IDevID:

    > - The endorsement is just a bare public key
    > - The only claim in attestation evidence is the UEID
    > - There is of course a nonce in the system for freshness

Who produced that nonce?

--
Michael Richardson <[email-masked]>   . o O ( IPv6 IøT consulting )
           Sandelman Software Works Inc, Ottawa and Worldwide

---

From: Laurence Lundblade <[email-masked]>
Date: Sun, 1 Aug 2021 19:51:26 -0700

> On Aug 1, 2021, at 1:25 PM, Michael Richardson <[email-masked]> wrote:
> 
> 
> Laurence Lundblade <[email-masked] <mailto:[email-masked]>> wrote:
> 

Pick any freshness architecture you like. :-)

Definitely do not think the nonce is involved in the definition of an endorsement.

LL

---

From: Michael Richardson <[email-masked]>
Date: Mon, 02 Aug 2021 14:33:59 -0400

Laurence Lundblade <[email-masked]> wrote:
    >>> - The endorsement is just a bare public key - The only claim in
    >>> attestation evidence is the UEID - There is of course a nonce in the
    >>> system for freshness
    >>
    >> Who produced that nonce?

    > Pick any freshness architecture you like. :-)

No.

The nonce is produced by the entity that will verify the freshness.

If you are going to create a certificate-like entity using EAT, and there is
a nonce, then you have to decide who creates the nonce.

---

From: Laurence Lundblade <[email-masked]>
Date: Mon, 2 Aug 2021 11:54:11 -0700

> On Aug 2, 2021, at 11:33 AM, Michael Richardson <[email-masked]> wrote:
> 
> 

I should have said "pick any correct and secure freshness architecture appropriate for the actual end system you like."

> The nonce is produced by the entity that will verify the freshness.

Yes, of course.

> a nonce, then you have to decide who creates the nonce.

This thread is not about EAT in particular, nor about creating certificate-like entities.

It is about trying to clarify understanding of an endorsements.

The only reason I mentioned the nonce in my example was for completeness. It is only incidental to the main topic of endorsements.

LL

---

From: "Smith, Ned" <[email-masked]>
Date: Mon, 2 Aug 2021 19:07:47 +0000

I’m confused by the nonce thread in this topic. It would be a peculiar scenario for an Endorser to supply a nonce to protect freshness of Evidence. The more common application of nonces would be for the Verifier to supply a nonce to the Endorser to ensure freshness of the Endorsement.

@Laurence Lundblade<mailto:[email-masked]> Did you get your question answered wrt what an Endorsement was?

Thx,
Ned

From: RATS <[email-masked]> on behalf of Laurence Lundblade <[email-masked]>
Date: Monday, August 2, 2021 at 11:54 AM
To: Michael Richardson <[email-masked]>
Cc: "[email-masked]" <[email-masked]>
Subject: Re: [Rats] Clarifications around Endorsements scope

On Aug 2, 2021, at 11:33 AM, Michael Richardson <[email-masked]<mailto:[email-masked]>> wrote:

Laurence Lundblade <[email-masked]<mailto:[email-masked]>> wrote:

Who produced that nonce?

No.

Yes, of course.

LL

---

From: "Smith, Ned" <[email-masked]>
Date: Mon, 2 Aug 2021 19:09:08 +0000

…maybe I mispoke @Thomas Fossati<mailto:[email-masked]> did you get your question answered wrt what an Endorsement was?

From: RATS <[email-masked]> on behalf of "Smith, Ned" <[email-masked]>
Date: Monday, August 2, 2021 at 12:08 PM
To: Laurence Lundblade <[email-masked]>, Michael Richardson <[email-masked]>
Cc: "[email-masked]" <[email-masked]>
Subject: Re: [Rats] Clarifications around Endorsements scope

Thx,
Ned

Who produced that nonce?

No.

Yes, of course.

LL

---

From: Laurence Lundblade <[email-masked]>
Date: Mon, 2 Aug 2021 12:19:56 -0700

> On Aug 2, 2021, at 12:07 PM, Smith, Ned <[email-masked]> wrote:
> 
> I’m confused by the nonce thread in this topic.

Me too. I only mentioned it in my example in passing, not because it has anything to do with endorsements.

> It would be a peculiar scenario for an Endorser to supply a nonce to protect freshness of Evidence. The more common application of nonces would be for the Verifier to supply a nonce to the Endorser to ensure freshness of the Endorsement.

Agreed.

>  
> @Laurence Lundblade <mailto:[email-masked]> Did you get your question answered wrt what an Endorsement was?

I’m not sure we all have a shared notion of what an endorsement is. Was hoping this thread would improve that.

I am personally clear about what the inputs to a verifier are and what a DLOA is. However, when I use the word endorsement, I’m not sure it will mean the same thing as when another person uses the word. This thread started because some people thought that a DLOA was an endorsement and then Thomas made some other comments.

LL

>> On Aug 2, 2021, at 11:33 AM, Michael Richardson <[email-masked] <mailto:[email-masked]>> wrote:
>>  
>>

---

From: Michael Richardson <[email-masked]>
Date: Mon, 02 Aug 2021 16:00:24 -0400

Laurence Lundblade <[email-masked]> wrote:
    mcr> If you are going to create a certificate-like entity using EAT, and there is
    mcr> a nonce, then you have to decide who creates the nonce.

    > It is about trying to clarify understanding of an endorsements.

I don't think you want/need nonces in endorsements or certificates.
They don't add anything if you have more than one entity acting as a Verifier.

I think that the equivalent "notBefore" and "notAfter" is appropriate,
possibly with application of similiar considerations as per:

RFC 8739 [Support for Short-Term, Automatically Renewed (STAR) Certificates
    in the Automated Certificate Management Environment (ACME)]

such that you would renew Endorsements frequently, rather than attempt to
revoke them.

---

From: Laurence Lundblade <[email-masked]>
Date: Mon, 2 Aug 2021 13:53:38 -0700

> On Aug 2, 2021, at 1:00 PM, Michael Richardson <[email-masked]> wrote:
> 
> 

Yes, agree with all that.

LL

---

From: Laurence Lundblade <[email-masked]>
Date: Mon, 2 Aug 2021 18:45:07 -0700

> On Aug 2, 2021, at 1:53 PM, Laurence Lundblade <[email-masked]> wrote:
> 
>> 

Also, sorry if my mentioning nonce in the example was confusing.

LL

---

From: Thomas Fossati <[email-masked]>
Date: Tue, 24 Aug 2021 17:58:28 +0000

Hi Laurence,

I am slowly crawling through my overloaded inbox and bumped into this:

On 30/07/2021, 23:21, "Laurence Lundblade" <[email-masked]> wrote:
> > Instead, I see Endorsements as statements of the form: "Endorser
> > tells Verifier that Attester has non-measured attribute X".
>
> That definition seems too limited. For one, you can have Endorsements,
> attestation and such all with no measurements at all. So Endorsement
> can't be defined in terms of measurement.

The definition I have given above is given in terms of non-measured
attribute, so I am not sure I understand what you mean by "Endorsement
can't be defined in terms of measurement."?

cheers, t

IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.

---

From: "Smith, Ned" <[email-masked]>
Date: Tue, 24 Aug 2021 21:38:34 +0000

I'm not sure everyone is using the term 'measurements' the same way. The RATS Arch doesn't define 'measurements' but uses it 6 times. It's used 5 times in the context of Evidence and one time in the context of Reference Values. It isn't used in the context of Endorsement directly.

It is used as a synonym to Reference Values which is defined in terms of Claims. Claims is defined loosely as "a piece of information" often a tag/value pairing. However, there is no implied constraint in terms of the complexity of the paired "value". Namely, that a Claim couldn't consist of other Claims. Nested EATs and submods are examples of this.

If we arbitrarily constrain the use of 'measurements' to mean either Evidence or Reference Values then we should try asking the question below without using that term in the context of Endorsement.

e.g. "Endorsements as statements of the form: 'Endorser tells the Verifier that Attester has attribute X'" 

Since we're not using 'measurements' to clarify 'Endorsements', Laurence's statement is obviously correct, but possibly not exclusively correct.

Nevertheless the Endorser can tell the Verifier that Attester has attribute X. And attribute X is a Claim, Claims can exist as Evidence and Reference Values. By logical extension attribute X could be expressed as a Claim. 

I don't know that it matters if attribute X can/can't be 'measured' by an Attester, RVP or an Endorser. The main point is whether we intended to restrict the set of assertions an Endorser / RVP can make based on an assumption of mutual exclusivity. i.e. do we intend that if RVP asserts X that Endorser MUST NOT assert X? I think the answer is no, we didn't intend that. Both RVP and Endorser could assert X. The difference is if RVP asserts X, X isn't true unless Attester also asserts X. However, if Endorser asserts X then X is true (as long as Verifier trusts Endorser - a.k.a. Endorser's trust anchor is in verifier's policy and Verifier authenticates Attester). 

If we put a fine point on 'measurement' to mean assertions (Claims) from both a RVP and an Attester that match. Then that is a direction RATS could take. In other words X could be a 'Claim' but not a 'measurement' for the logic above to hold for RVPs.

Alternatively, we could avoid trying to redefine a term that is already somewhat ambiguously defined and allow its use as something synonymous with Claim. In other words X could be a 'Claim' or a 'measurement' and the logic above would still hold for RVPs. 

I tend to favor the latter because the more important concept is captured in the logical expression (and people will misapply the subtleties of approximate synonyms). The definition of RVP and Reference Values already captures the logic in so many words. Hence, the context of RVP vs. Endorser should be enough to disambiguate the semantics of X regardless of which synonym you pick.

-Ned

On 8/24/21, 10:59 AM, "RATS on behalf of Thomas Fossati" <[email-masked] on behalf of [email-masked]> wrote:

    Hi Laurence,

    cheers, t

    IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.
    _______________________________________________
    RATS mailing list
    [email-masked]
    https://www.ietf.org/mailman/listinfo/rats

---

From: "Smith, Ned" <[email-masked]>
Date: Tue, 24 Aug 2021 21:44:23 +0000

See correction inline below ^^^^^^^

On 8/24/21, 2:39 PM, "RATS on behalf of Smith, Ned" <[email-masked] on behalf of [email-masked]> wrote:

    Nevertheless the Endorser can tell the Verifier that Attester has attribute X. And attribute X is a Claim, Claims can exist as Evidence and Reference Values. By logical extension attribute X could be expressed as a Claim. 
^^^^^^^^^^^^^^^^^^^^^
Expressed as an Endorsement Claim.

    -Ned

        Hi Laurence,

        cheers, t

---

From: Laurence Lundblade <[email-masked]>
Date: Tue, 24 Aug 2021 18:13:39 -0700

> On Aug 24, 2021, at 10:58 AM, Thomas Fossati <[email-masked]> wrote:
> 
> Hi Laurence,
> 

Maybe this analogy helps, maybe it doesn’t: If you are trying to distinguish animals from humans, you could say humans are the ones with two legs and be correct, but the space alien spider from mars you are talking to would be confused when you told him a monkey wasn’t a human.

As Ned said, this may depend on your definition of measurement.

I don’t think reporting hardware version or an OEMID are ever measurements. I think they could appear in either attestation evidence or an endorsement or other verifier input or even attestation results. 

I think hashing some range or memory for comparison to a reference value is a measurement.

I’m not brave enough to try for a universal definition of measurement or of endorsement.

LL