[Rats] Re: review of S6, S7 (intro) and S7.1 of draft-ietf-rats-reference-interaction-models-11

Thomas Fossati <thomas.fossati@linaro.org> Mon, 14 October 2024 16:14 UTC

Return-Path: <thomas.fossati@linaro.org>
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 C8AC3C1D52FD for <rats@ietfa.amsl.com>; Mon, 14 Oct 2024 09:14:17 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.106
X-Spam-Level:
X-Spam-Status: No, score=-2.106 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, RCVD_IN_DNSWL_BLOCKED=0.001, 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 (2048-bit key) header.d=linaro.org
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 lXQQIvHZ5Q1n for <rats@ietfa.amsl.com>; Mon, 14 Oct 2024 09:14:14 -0700 (PDT)
Received: from mail-lj1-x22e.google.com (mail-lj1-x22e.google.com [IPv6:2a00:1450:4864:20::22e]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id F3334C1D61F8 for <rats@ietf.org>; Mon, 14 Oct 2024 09:14:13 -0700 (PDT)
Received: by mail-lj1-x22e.google.com with SMTP id 38308e7fff4ca-2fb5014e2daso11036011fa.0 for <rats@ietf.org>; Mon, 14 Oct 2024 09:14:13 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1728922452; x=1729527252; darn=ietf.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=FX0Ma22EMKtn1B8em0Fx4Q/lOF/VZHQomeT+HmqBXKU=; b=mxoTEFrayR9ZM+UjGIW2xqf907QYiBMe8VAfUdoaT48kAEU9MgTxG4RwbUyYq7gb6t OspWgaVZByf63vSd0+AECiAgomAg9iTtDnUheAQD4L+cMLAKL653XksqE2EE2vYHM44E i11Hj//p7XxwwtOtQ7seUAgOOJGLzuNh6NK5MGSMkIE2KiIPKMT6uGRzhOa3BpKp34Rm 7YW6AAjGGIYFc9/alhvLsnO9iXMSke1zKXMaodJD2ZU78PoXoqO5d7r44flwHBphq26f bw6igmdRSps5c6ff1HZuTFKLzD4BG+hA6LkC5Qu9nvFpwzDNOGxDXfal0q+9pFwSTt2f XGQw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1728922452; x=1729527252; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=FX0Ma22EMKtn1B8em0Fx4Q/lOF/VZHQomeT+HmqBXKU=; b=M+5CkQcmYIrZmA6QgwPEezTjgeM9YtFf118+CZq8fqGrRJJFnkB+68xEztbMBWsCfx ScMH6fx0fkXNuR8hnyoaUXUlJJhbe+G/wR5asAzNOI1FvTSWWl2sMs4WzBE99fJtQjf5 zICwNY3aAgoP/JNdwhr9xNKBbj0r2e8Tz7jtHQppCsOu4nB0Aj3DD4FBTwM6HMQaJIpU QUZ8CUTPL7Qy3mVRTEGkzR8oZLWO3HEuJAHcyk8E/BusujZOxCls+YsDxxCJG0s8Ml0O wdc510/4EYSCj6eXxUQ9a2Okkmus+6eWtOb6cUlDFsiuUl+qqOo6zTXIBVaYmuWrib7y QIHQ==
X-Gm-Message-State: AOJu0Yxd8hvng6x+rI1aj2eUBoXeJkQP98PYDkCTHlBHL7hjD/itWYBh U7Ho286Mju0hdsOE7uUsoBpKbT78RMEQ0JfDMfTDaNb6/bj8LbXyl5LhbqGKiSArwZY+sLuYuzQ Z+T1ZgaliNgcG7X6XykLikCaYVjdQjxGxjaQ1xuP260b2hkZR
X-Google-Smtp-Source: AGHT+IGnkV6NfGUL3RV9SC4YN2LRCyCa4R9OaKHZMY8RA/Q4bSS013TNW2UeZGyE3iH+9v8bVe8YM/4BlNXfkAdvueA=
X-Received: by 2002:a05:6512:3e15:b0:539:e513:1f66 with SMTP id 2adb3069b0e04-539e571da6bmr3402943e87.37.1728922451888; Mon, 14 Oct 2024 09:14:11 -0700 (PDT)
MIME-Version: 1.0
References: <CA+1=6ycR6d-ds9c2HmHm1idvczyhTTM6+nWGErOZTDyciBWF=g@mail.gmail.com> <c126b68b-0e99-0f4e-21c6-204389c4539b@ietf.contact>
In-Reply-To: <c126b68b-0e99-0f4e-21c6-204389c4539b@ietf.contact>
From: Thomas Fossati <thomas.fossati@linaro.org>
Date: Mon, 14 Oct 2024 18:13:55 +0200
Message-ID: <CA+1=6ydiJWVEdjAKu+4+4KQ7A1YOEi-7wm74xNg1B2=kniseCQ@mail.gmail.com>
To: Henk Birkholz <henk.birkholz@ietf.contact>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Message-ID-Hash: UY5IHW5OAH35EBJS4HMWT4ZSIUOR3QRT
X-Message-ID-Hash: UY5IHW5OAH35EBJS4HMWT4ZSIUOR3QRT
X-MailFrom: thomas.fossati@linaro.org
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-rats.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: rats <rats@ietf.org>, draft-ietf-rats-reference-interaction-models@ietf.org
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [Rats] Re: review of S6, S7 (intro) and S7.1 of draft-ietf-rats-reference-interaction-models-11
List-Id: Remote ATtestation procedureS <rats.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/rats/Rl-NUT_b_pWH0h78NGz0q1JgXY4>
List-Archive: <https://mailarchive.ietf.org/arch/browse/rats>
List-Help: <mailto:rats-request@ietf.org?subject=help>
List-Owner: <mailto:rats-owner@ietf.org>
List-Post: <mailto:rats@ietf.org>
List-Subscribe: <mailto:rats-join@ietf.org>
List-Unsubscribe: <mailto:rats-leave@ietf.org>

hi Henk,

Apologies for the radio silence.

On Tue, 8 Oct 2024 at 22:02, Henk Birkholz <henk.birkholz@ietf.contact> wrote:
> On 03.10.24 17:11, Thomas Fossati wrote:
> > -------
> > Scope of work. The document should state more clearly what is being
> > delivered, i.e.: three interaction models (IM) between Attesters and
> > Verifiers (and, optionally, RPs) involving Evidence and Attestation
> > Results. There could be other IMs that this document does not cater
> > for. While I agree these same IMs may also apply to other roles and
> > other conceptual messages, at this point, this is still TBD and I
> > think the document should refrain from making this claim. (I am saying
> > this because it's repeated in more than one place.)
>
> Ah. No there is no assumption that this is a list of complete
> interaction models. The document currently is pretty exhaustive and that
> is something to the extend that should probably be put in writing.
>
> The text now consistently highlights that:
> * the document explicitly illustrates conveyance of Evidence for
>    boot-time integrity

Question: Why is IMA-like stuff not in scope?

> * the models illustrated are not an exhaustive list

OK

> * can be applied to any data/CM flow depicted in RFC9334 Section 3

That is the kind of claim that I'd like to avoid.  Until proven by an
existing, well-defined IM, why not erring on the side of caution -
i.e., say "may" rather than "can", and add that it is expected that
other documents will provide those?

> The change is reflected in commit 6bcfe7e.

Thanks, see PR comments inline.

> > -------
> > S7.1: Use of refValues in appraiseEvidence is a bit misleading:
> > Endorsements and Policy are also input.  Besides, the definition of
> > refValues is not in line with 9334 (according to the definition,
> > Endorsements are refValues too.)  I suggest defining a verifierInputs
> > instead, and describe it as containing RVs, Endorsements and Appraisal
> > Policy for Evidence.
>
> Yes, reiterating all CMs is very annoying and that was actually a
> misleading omission, I think.
>
> Please find the newly minted 'verInputs' as a mandatory "catch all"
> information element that now is manifested with commit 6c0d5c5.

Awesome.  See PR comments inline.

> > -------
> > S7.1: This bit doesn't sound completely right:
> >
> > "In the Challenge/Response model, the Handle is composed of qualifying
> > data in the form of a practically infeasible to guess nonce, such as a
> > cryptographically strong random number."
> >
> > What about epoch markers?
>
> Some parts still show the age of this document. Of course Epoch Marker.
> They are already mentioned more up front where the information element
> Handle is described, but it does not hurt to point them out here again.
> More comprehensive text comes with commit 1bd4930.

Nice!

> > -------
> > S7.1: Using Key IDs to select which AE's Evidence a Verifier wants to
> > collect is a tad too strict.  I understand the motivations, but I
> > don’t think key IDs are the right building block/abstraction to model
> > an "AE selector" that works in all cases.  The same function could be
> > implemented using media types or some other
> > sub-attester/layer-specific identifier obtained with some TBD
> > discovery mechanism.  It’s an implementation choice. I suggest making
> > the Attestation Key IDs information element less concrete/more
> > encompassing, for example replacing it with an "Attesting Environment
> > IDs" and explaining that it could be implemented using key
> > identifiers, media types and all other sorts of
> > attestation-scheme-specific identifiers.
>
> I tend to agree. The corresponding information element is now about
> Attesting Environment IDs instead of Attestation Key IDs. With that
> comes the new short form of the IE that is: 'attestEIDs'. The text
> change manifests as 586aa3c.
> The corresponding diagram changes (which I overlooked because there was
> an inconsistency in the abbreviation usage...) is captured separately in
> commit b0526f7.

Awesome, thanks.

> > -------
> > S7.1: The interaction between AE selection (via key IDs) and Claims
> > selection during Evidence creation doesn’t look right.  ISTM that
> > Claim Selection is per AE (i.e., per key ID) rather than being
> > globally applicable - as it’d seem from the description.
>
> This feedback triggered a rather scattered rewrite of Section 7.1,
> including some more instances of "Attestation Key IDs"-related fixes.
> Please find and check the results in commit 6f67458.

OK

> > -------
> > S7.1.1.1: In passport mode, is Evidence a mandatory information
> > element from Attester to RP? Or may Attestation Results be sufficient?
>
> The Attester only produces Evidence and the illustration of models in
> this I-D also uses Evidence conveyance as an example. For the sake of
> versatility, it could be considered prudent to include one or two
> sentences to highlight that option, but AR originate from the Verifier
> and not from the Attester (are thereby cached by the Attester and
> recentness demonstration via nonce becomes less useful, I think). Would
> you be willing to whip together a suggested change in the PR?

I will, not sure I can do that shortly though.  Let's take this offline maybe.

> > -------
> > S7.1.1.2: In background-check, it could also be that the RP opens a
> > session to the Verifier to get the handle, which is then forwarded to
> > the Attester.
>
> While this is true, this scenario also comes with new questions:
>
> I am uncertain how the trust model would look like in your scenario. Why
> would the Attester trust the Relying Party? Is there an existing trust
> relationship between the Attester and the Verifier? How to prevent
> replay attacks when retrieving a handle (e.g., you could replay a handle
> potentially - and to require a handle to retrieve handle which would
> then require a handle to retrieve that handle which...  is a turtles all
> the way down scenario that has to be prevent with some additional
> measures, such as massive states/lists or something equally thorough)?
>
> Sounds a bit like specific technical solution to me and not in scope
> here? Maybe I am wrong, though. Could you elaborate if I am missing
> something?

The challenger must be authenticated.  Therefore, in this interaction,
the Attester needs to trust the RP.  The rest of the trust
relationships would not need to change I guess - e.g., as usual, the
RP needs to trust the Verifier.

cheers, thanks!