Re: [Rats] Review of <draft-ietf-rats-reference-interaction-models>

Daniel Migault <mglt.ietf@gmail.com> Wed, 06 December 2023 22:59 UTC

Return-Path: <mglt.ietf@gmail.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 3CEF6C09C239 for <rats@ietfa.amsl.com>; Wed, 6 Dec 2023 14:59:02 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.104
X-Spam-Level:
X-Spam-Status: No, score=-7.104 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, FREEMAIL_FROM=0.001, HTML_MESSAGE=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_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.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 CxI9M8aXOwiR for <rats@ietfa.amsl.com>; Wed, 6 Dec 2023 14:58:58 -0800 (PST)
Received: from mail-yb1-xb2d.google.com (mail-yb1-xb2d.google.com [IPv6:2607:f8b0:4864:20::b2d]) (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 EC19BC09C23A for <rats@ietf.org>; Wed, 6 Dec 2023 14:58:57 -0800 (PST)
Received: by mail-yb1-xb2d.google.com with SMTP id 3f1490d57ef6-d9caf5cc948so386337276.0 for <rats@ietf.org>; Wed, 06 Dec 2023 14:58:57 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1701903537; x=1702508337; darn=ietf.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=BjY4Cms6uLMdmRhr9wTMxxMeY3vikM235VA1T9Y0qek=; b=XEcrDtqSNs244pd0iF5ZIBSy6s/+xXaAHKuv7e3EZ2yAE57ZTRIf8v31Pz/a5KsA2D fWHuaAlxixQB6wuUYJoe3ktKf/QTjQ8PimSqs+UnQJVlWGcnKMJ887ximuV+YT8SiBaF l6/EBXgHZSGW9FrOUZusrB9cyMoSqAjZD6UEkjKuKSjqfp7Z31RgFFcUt0cmou/m/SGA ayHSxhlJU6RIW7989lKp0+uSUxV5+ijIKZtJSJ6T+mPTcaOt7eRJspWhWKvlnjUWWgtQ O9HEl0FauoiuM5WFAolcJNZrYLGSe2IGRpfR0hg43UNJ69XVtj17WCp5EedkT+IcGB+q KW0g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701903537; x=1702508337; h=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=BjY4Cms6uLMdmRhr9wTMxxMeY3vikM235VA1T9Y0qek=; b=s8JalNgRChEIyM/gTnqYk4WbjKYtB2Bp1HeEXrWLl93NbWv51mQ9Da4u5dP5WWAGaN 3W+v+O5YZuOONyMvByIsBmaQ+e/GW9ZvY6aTaGOvAG8NPwnz93ymv0aM3NmMORsMu2sL Vp4UPzRlWD7JIBjeu7AgIWV5jM/WBEyHPbw/YlhFWv53sVjMU2dgdOLbCsYz3ljyMazy knRGE4zGDwl457ZLF9uCEB5UsYD3MNgBct3UIdl8vQWkoBQxzjwFOTq+SZWDGN8JhUq7 8GYcRbM6enMazCbnFa+KkfYruY270BuubFZWQem4m6y1TYPnIKqrBGxTlCnei7sTrZRL XSgg==
X-Gm-Message-State: AOJu0YwmCrBzWg3xw17JtXfPNPUy9A26gmQnMWAb9jBmLaLogDFNXiD6 t9pqLtNEKSuSsXriBxnsvPS5MxfV/kCErL+FyVadsxQ9
X-Google-Smtp-Source: AGHT+IFXmTMcRftv4D4KDz4mki+0uubXNWdrsJTVjUsbrcg032AX5Hdg/CV3fv89tagy0TQB94YwcmdVZFaKp93AR8E=
X-Received: by 2002:a5b:b0e:0:b0:db7:dacf:3fa3 with SMTP id z14-20020a5b0b0e000000b00db7dacf3fa3mr1344659ybp.80.1701903536923; Wed, 06 Dec 2023 14:58:56 -0800 (PST)
MIME-Version: 1.0
References: <AS8PR10MB7427EC7A44AC90D0D3CB642CEE83A@AS8PR10MB7427.EURPRD10.PROD.OUTLOOK.COM> <ad716d6f-2911-dbcb-e457-c4eaba18a3f7@sit.fraunhofer.de>
In-Reply-To: <ad716d6f-2911-dbcb-e457-c4eaba18a3f7@sit.fraunhofer.de>
From: Daniel Migault <mglt.ietf@gmail.com>
Date: Wed, 06 Dec 2023 17:58:45 -0500
Message-ID: <CADZyTkkFV5AvSe1QP_t06asyGA87kkJ1jwgzXpdD6EvFLJpwSg@mail.gmail.com>
To: Henk Birkholz <henk.birkholz@sit.fraunhofer.de>
Cc: "Tschofenig, Hannes" <hannes.tschofenig=40siemens.com@dmarc.ietf.org>, rats <rats@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000c2a9fe060bdf4bfc"
Archived-At: <https://mailarchive.ietf.org/arch/msg/rats/ZvAhMH0zT2er0vAdSnDM7MwphsA>
Subject: Re: [Rats] Review of <draft-ietf-rats-reference-interaction-models>
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: Wed, 06 Dec 2023 22:59:02 -0000

On Fri, Dec 1, 2023 at 5:36 PM Henk Birkholz <
henk.birkholz@sit.fraunhofer.de> wrote:

> Hi Hannes,
>
> jumping directly to your questions!
>
> 1.) The term nonce was not renamed. The extra-data value used in
> challenge-response interactions (used both as proof of freshness and
> proof of recentness at the same time) is a nonce, yes. But at the same
> in other interaction models, the extra-data value is used by multiple
> entities at the same time: it cannot technically be a nonce, but would
> be an implementation of the EpochID concept. To be uniform across all
> interaction models in this I-D, in early stages the auhtors decided to
> use a "superset-term" for both nonce and EpochID. Please note that
> EpochID also is a name for a conceptual information element and not an
> implementation name, such as nonce.
>
> Maybe the definition of handle should be clearer: handle is a superset
> of specific extra-data that typically is a nonce and or some
> implementation of EpochID (e.g., Epoch Markers).
>

I agree with Hannes that I also wondered why "handle" was used in the
challenge response model. It probably helps to clarify why you called it a
handle.

>
> 2.) The availability of the "knowledge of Claims to ask for" is pretty
> usage scenario specific. In your assumption, that knowledge is unlikely
> to be available, but that it not true for all usage scenarios.
>
> https://www.ietf.org/archive/id/draft-ietf-rats-reference-interaction-models-08.html#section-7.1
> highlights that Claim Selection is not a mandatory thing.
>
> Maybe omission of Claim Selection should result in "an Attester's
> choice" (e.g., per-configured) of Claims to include in Evidence - in
> contrast to the current "by default all Claims that are known and
> available on the Attester MUST be used"?
>

I think what matters is that we know it is either known or agreed.
I also think that "=>" could be clarified, unless I missed it. I interpret
them as the output of the function. If that is correct, I found a = f(x)
a more common notation than f(x) => a. Happy to learn if there is any
reasons to use the latter ?


>
> 3.) The availability of the "knowledge about authentication secret
> ids" is also pretty usage scenario specific. In your assumption, that
> knowledge is unlikely to be available, but that again is not true for
> all usage scenarios.
>
Having said that, "Attestation Key ID" is way more precise and we agree
> that it is a much better term. There are of course scenarios where
> multiple Attesting Environments with individual Attestation Key IDs
> exist (see
> https://www.rfc-editor.org/rfc/rfc9334.html#name-composite-device).
>
> What the I-D is currently lacking is better support for usage scenarios
> where the Attestation Key ID is/are unknown. In these cases, available
> Attestation Key IDs could be requested alongside potential Endorsements
> cached by the Attester. Alas, simply requesting Attestation Key IDs from
> Attesters without any kind of authentication seems to open a few attack
> vector, such as linkability or tractability, right?
>
> I agree this was also confusing to me. I also tend to think of it as an
(attesting
environment) instance ID. key_id sounds very much like the hash of a key in
which case you need to have the key. I do not think you necessarily need to
have the knowledge of that key.  Typically, you could use an id (like an
uuid) to which an automatically generated is associated. I am wondering if
I
am missing anything or if there are any reasons this would not work ?


> Maybe we should add corresponding text to the SecConSec?
>
> @Hannes, based on the outcome of this thread, if you could provide us
> with proposals in the form of PRs that would be great!
>
>
> Viele Grüße,
>
> Henk for all editors
>
> On 29.11.23 17:45, Tschofenig, Hannes wrote:
> > Hi all,
> >
> > I have read through <draft-ietf-rats-reference-interaction-models> and
> > have a few questions.
> >
> > At the core, the document tries to define information elements that are
> > supposed to be used by a Verifier to ask an Attester for Evidence.
> >
> > In the request from the Verifier to the Attester, the following
> > information elements are mandatory:
> >
> >   * Authentication secret ids
> >   * Handle
> >   * Claim Selection
> >
> > None of these terms are defined in the RATS architecture document. The
> > claim selection is supposed to give the Verifier a chance to tell the
> > Attester what claims to return in the Evidence. The Handle corresponds
> > to the freshness mechanism used (such as a nonce) and the authentication
> > secret id allows the Verifier to tell the Attester what keys to use to
> > sign the Evidence.
> >
> > A couple of questions arise:
> >
> >  1. Why has the nonce term been renamed to handle?
> >
> >  2. How should the Verifier know what Claims to ask for given that it is
> >     not likely to know what attestation technology the Verifier
> >     supports? The model assumes that the Attester is so flexible to
> >     report a subset of the claims and the Verifier also needs to be
> >     flexible to know that a certain subset of claims make sense from a
> >     processing point of view. Is flexibility really a good approach here?
> >
> >  3. How does the Verifier know what values for the authentication secret
> >     ids to convey to the Attester given that it is not likely to know
> >     upfront what attestation keys the attester will have stored? Do you
> >     expect the Attester to have many different Attestation Keys to
> >     choose from? Why is the term “Authentication Secret ID” used instead
> >     of “Attestation Key ID” or something along those lines?
> >
> > The authors seem to make a number of assumptions that need further
> > explanation.
> >
> > Ciao
> >
> > Hannes
> >
> >
> > _______________________________________________
> > RATS mailing list
> > RATS@ietf.org
> > https://www.ietf.org/mailman/listinfo/rats
>
> _______________________________________________
> RATS mailing list
> RATS@ietf.org
> https://www.ietf.org/mailman/listinfo/rats
>


-- 
Daniel Migault
Ericsson