Re: [Rats] CoTS and CoRIM

Carl Wallace <carl@redhoundsoftware.com> Mon, 18 December 2023 11:36 UTC

Return-Path: <carl@redhoundsoftware.com>
X-Original-To: rats@ietfa.amsl.com
Delivered-To: rats@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 83B0CC14F60D for <rats@ietfa.amsl.com>; Mon, 18 Dec 2023 03:36:31 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.105
X-Spam-Level:
X-Spam-Status: No, score=-7.105 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, MIME_QP_LONG_LINE=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=redhoundsoftware.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id k7zknm_618I3 for <rats@ietfa.amsl.com>; Mon, 18 Dec 2023 03:36:27 -0800 (PST)
Received: from mail-qv1-xf34.google.com (mail-qv1-xf34.google.com [IPv6:2607:f8b0:4864:20::f34]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 3D9CCC14F61C for <rats@ietf.org>; Mon, 18 Dec 2023 03:36:26 -0800 (PST)
Received: by mail-qv1-xf34.google.com with SMTP id 6a1803df08f44-67ab16c38caso25576216d6.1 for <rats@ietf.org>; Mon, 18 Dec 2023 03:36:26 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhoundsoftware.com; s=google; t=1702899386; x=1703504186; darn=ietf.org; h=mime-version:in-reply-to:references:thread-topic:message-id:cc:to :from:subject:date:user-agent:from:to:cc:subject:date:message-id :reply-to; bh=B74g25JcRT8GG3VMKck8kDiqvVic2+basPwVPjt1GgE=; b=SQDc9a82THt9QgB69NeLJe1k77ScHAAaJcCby5Fz2sGOS8ptLoGFSXrJHKizfjzG9h U595QSimMqT1JI+6pwavK5oTCxp/ctOJH3RAjlKD+4I6/vF7NGNXrvVf7uoGEdSssA34 wsfldxfBlV4IOrIJiEq/OorOdLPU34SnTtsXg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1702899386; x=1703504186; h=mime-version:in-reply-to:references:thread-topic:message-id:cc:to :from:subject:date:user-agent:x-gm-message-state:from:to:cc:subject :date:message-id:reply-to; bh=B74g25JcRT8GG3VMKck8kDiqvVic2+basPwVPjt1GgE=; b=BHnIYDr9Rf7l77DHN9Lblw4RxyBA2mmHtTA6dqSdyHEppTzGjHtMiyufvU/PGOuDbk eA8JVqu9cz3fE0aCfPENE6uK7jNEsjeMK60FPVOEe52mZI6r2UcfAIIhlXr8vqo0NOaR sbUtDrYUgzLqDYp68e0hoMilRoWywFDbi1vCHnhF7n5UFpNzboxq2NXeyBjgL33e3/xT IGa8r0do5Di5X4qRTK3Wtm3YtF2D5FKKGCRA7Ac+jwyOfaCLlItB2iXFCwnJRjFQ6MxU GHwgg9zORg1JDhl2SKUQ16n4sqJ+A15ujIaUxg7Noom6kqXOZsjHJLlbTufzl3Sgk+dH p/DA==
X-Gm-Message-State: AOJu0YyZ/gfowKbJoPgn+SnoDn3/ZO89f+91vk2SNKo/B8XwBqC97Fsm FwMGoov6bKw3vk8oDcQa30mEpg==
X-Google-Smtp-Source: AGHT+IHUSs3A4ZWdGNDzgKjFJA5Qy+88Lm44JflTvupg8yUzZQ7QZLanN5PR9CDJ2ckV9PKVl1fvig==
X-Received: by 2002:a0c:ec01:0:b0:67a:d255:72c2 with SMTP id y1-20020a0cec01000000b0067ad25572c2mr16796101qvo.67.1702899385924; Mon, 18 Dec 2023 03:36:25 -0800 (PST)
Received: from [192.168.4.77] (pool-96-255-232-167.washdc.fios.verizon.net. [96.255.232.167]) by smtp.gmail.com with ESMTPSA id lf1-20020a0562142cc100b0067f48d98988sm599234qvb.4.2023.12.18.03.36.24 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 18 Dec 2023 03:36:24 -0800 (PST)
User-Agent: Microsoft-MacOutlook/16.80.23121017
Date: Mon, 18 Dec 2023 06:36:24 -0500
From: Carl Wallace <carl@redhoundsoftware.com>
To: Muhammad Usama Sardar <muhammad_usama.sardar@tu-dresden.de>, Thomas Fossati <thomas.fossati@linaro.org>, Henk Birkholz <henk.birkholz@sit.fraunhofer.de>
CC: hannes.tschofenig=40gmx.net@dmarc.ietf.org, Yogesh Deshpande <Yogesh.Deshpande@arm.com>, rats@ietf.org
Message-ID: <751DE2F2-A4DF-4682-9254-070D2CFB792A@redhoundsoftware.com>
Thread-Topic: [Rats] CoTS and CoRIM
References: <005701da2e02$6acec900$406c5b00$@gmx.net> <84e6047b-b87b-4053-8e5a-fb2c8347defc@tu-dresden.de> <AM6PR08MB43257B9CB8ECD1BF6768D2138E8CA@AM6PR08MB4325.eurprd08.prod.outlook.com> <013001da2e8d$bf3c08a0$3db419e0$@gmx.net> <66f72845-9aa8-3c05-0d89-4eea5652ae78@sit.fraunhofer.de> <4b9837d8-1975-e13f-3b67-db0e3da1ca46@sit.fraunhofer.de> <CA+1=6ye_X779HNQX9w91GVAZZXShVko4UwryHiU828KOPcKxxQ@mail.gmail.com> <0f3aff72-0f03-44ec-9ac1-187104bd5c82@tu-dresden.de> <46CBBC80-6C91-4994-A7B3-2E83E53F4E76@redhoundsoftware.com> <3af70a7d-7247-42ba-b90e-824b395dcae5@tu-dresden.de> <2EEC5C0C-44F5-4865-B14A-C9B8B840ACAD@redhoundsoftware.com> <ce88fbe4-7494-41c3-b47a-1cc4ee4c4f0f@tu-dresden.de>
In-Reply-To: <ce88fbe4-7494-41c3-b47a-1cc4ee4c4f0f@tu-dresden.de>
Mime-version: 1.0
Content-type: multipart/alternative; boundary="B_3785726184_4248608180"
Archived-At: <https://mailarchive.ietf.org/arch/msg/rats/kFA6oQ3tNygyxadVzfFPe5f3Pg8>
Subject: Re: [Rats] CoTS and CoRIM
X-BeenThere: rats@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: Remote ATtestation procedureS <rats.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rats>, <mailto:rats-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/rats/>
List-Post: <mailto:rats@ietf.org>
List-Help: <mailto:rats-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rats>, <mailto:rats-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 18 Dec 2023 11:36:31 -0000

Aside from editorial comments about use of the word “data” where “value” would have been better, most of this thread relates to differences of opinion regarding whether a TA is an endorsement, as in this comment plucked from below). 

 

[MUS] Is there any TA/CA public key in the context of this draft which should not be considered Endorsement? If yes, which one and why?

 

[CW] My answer to this question is essentially no TAs are Endorsements. I’ve given references to sections in the architecture draft to explain why previously but will put the contents here in full and provide a few fictional examples. RFC 9334 defines an Endorsement as follows:

 

“A secure statement that an Endorser vouches for the integrity of an Attester's various capabilities, such as Claims collection and Evidence signing.

Consumed By:

Verifier

Produced By:

Endorser”

 

The attester role is defined as:

 

“A role performed by an entity (typically a device) whose Evidence must be appraised in order to infer the extent to which the Attester is considered trustworthy, such as when deciding whether it is authorized to perform some operation.

Produces:

Evidence”

 

RFC9334 addresses trust anchors in the Trust Model section. I don’t see why it is desirable to transitively extend the endorsement definition up through the trust model.

 

A typical certification path may look like this: TA -> CA1 (off device) -> CA2 (on device) -> End Entity. In my mind, the terms in the architecture draft apply like this: TA (trust model) -> CA1 (trust model) -> CA2 (endorsement from CA1 for attester CA2) -> End Entity (evidence). The indirection and the fact that the Verifier chooses its own TA store contents do not fit with labeling a TA as an Endorsement. 

 

For sake of argument, suppose a group of manufacturers have defined a trust model like the bridge CAs uses in pharma and aerospace industries. Each vendor has their own root, with a bridge CA used to establish trust between vendors. In this example, let’s say there are two devices from two different vendors:

 

Vendor A Root -> CA A1 -> CA A2 -> End Entity A

Vendor B Root -> CA B1 -> CA B2 -> End Entity B

 

When these are verified via the notional consortium’s trust model you could end up with the following in a Verifier from Vendor C:

 

Vendor C TA -> Bridge CA -> Vendor A Root -> CA A1 -> CA A2 -> End Entity A.

 

If we say *all* trust anchors and CA certs are endorsements, Vendor C TA and Bridge CA would be an Endorsement for End Entity A. 

 

Let’s consider another case, where there is a long-lived device. 

 

Vendor L TA -> CA L1 -> CA L2 -> End Entity L

 

Maybe in this case, the Verifier is provisioned with CA L1 (or even CA L2) as a trust anchor for sake of efficiency. In this case, I could see a trust anchor being an endorsement.

 

In my opinion, it is better to leave Trust Anchors as part of the Trust Model, which is really part of Appraisal Policy, instead of trying to label TAs as endorsements. CA certificates are blurrier in terms of the definitions, and I don’t think it’s necessary to try to say all CA certificates are endorsements either. 

 

From: Muhammad Usama Sardar <muhammad_usama.sardar@tu-dresden.de>
Date: Saturday, December 16, 2023 at 10:57 AM
To: Carl Wallace <carl@redhoundsoftware.com>, Thomas Fossati <thomas.fossati@linaro.org>, Henk Birkholz <henk.birkholz@sit.fraunhofer.de>
Cc: <hannes.tschofenig=40gmx.net@dmarc.ietf.org>, Yogesh Deshpande <Yogesh.Deshpande@arm.com>, <rats@ietf.org>
Subject: Re: [Rats] CoTS and CoRIM

 

Hi Carl,

On 16.12.23 16:17, Carl Wallace wrote:

<snip>

[CW] This is because the first sentence is setting up the next sentence which gives an example of a typically short-lived reference value type and contrasts this with typically long-lived TAs and CAs. Why is it necessary to mention endorsements in the sentence you reference?

[MUS] because public keys are Endorsements and a direct comparison with Reference Values alone does not sound very logical to me.



[CW] It is not a direct comparison with reference values. 

[MUS] At least to me, it clearly is: "Trust anchor (TA) and certification authority (CA) public keys may be less dynamic than the reference values" 

The sentence is part of rationale for conveying trust anchors independent of CoRIMs. CoRIMs convey reference data, which are often shorter lived. 

[MUS] Please avoid non-standard terms such as "reference data" which are neither defined in draft nor in RFC9334. That only adds confusion. CoRIMs convey not only Reference Values but also Endorsements.


While I don’t agree that all public keys are endorsements (or even that all private key holders are endorsers), 

[MUS] Is there any TA/CA public key in the context of this draft which should not be considered Endorsement? If yes, which one and why?


if that is how the group wants to view them that’s fine. Labeling them in this way does not alter their function. 

and seems to create exactly the same misunderstanding that Hannes pointed. 

<snip>

The point here isn’t that all reference values or endorsements are short-lived but that often they are shorter lived than trust anchors. 

[MUS] I assume "they" in your statement includes Endorsements (and not only Reference Values)?

[CW] In this statement, yes, “they” included “reference values or endorsements.”

If yes, there is a very simple fix, something likes this: 

"Trust anchor (TA) and certification authority (CA) public keys may be less dynamic than other types of endorsements and the reference values"



[CW] OK. I don’t see where that changes much but if others find that this adds clarity it seems fine to me despite the intimation that all public keys are endorsements. I’d really rather we not backdoor the “all public keys are endorsements” notion in this way, though. If that is generally held, it should be written more clearly. Something like: “All trust anchors and certificate authority certificates are endorsements.”

 

[MUS] I think this is exactly what the issue #3 requested. "Please clarify that trust anchors are Endorsements and not Reference Values." If this is clearly specified before third paragraph, then the above suggested change in third paragraph is not required. 

Given trust anchor lifespans are often measured in decades I really don’t see this as a controversial notion. This is not to say that there may not be some reference values or endorsements that are similarly long-lived.

Cheers,

Usama

On 15.12.23 09:45, Thomas Fossati wrote:
Usama, Hannes, could you have a look at the clarifying edits in
[1] and tell us if it's OK to merge them?
 
Thanks for raising this.
 
cheers, t
 
[1] https://ietf-rats-wg.github.io/draft-wallace-rats-concise-ta-stores/tas-are-not-refvals/draft-ietf-rats-concise-ta-stores.html#section-1