[Lake] Re: WG Last Call: draft-ietf-lake-authz-08 (Ends 2026-09-22)

Christian Amsüss <christian@amsuess.com> Tue, 22 September 2026 23:42 UTC

Received: from smtp.akis.at (smtp.akis.at [IPv6:2a02:b18:500:a515::f455]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by mx.ietf.org (Postfix) with ESMTPS id 7391930 for <lake@ietf.org>; Tue, 22 Sep 2026 23:42:28 +0000 (UTC)
Authentication-Results: mx.ietf.org; dkim=none; dmarc=none; spf=pass (mx.ietf.org: domain of christian@amsuess.com designates 2a02:b18:500:a515::f455 as permitted sender) smtp.mailfrom=christian@amsuess.com
Received: from poseidon-mailhub.amsuess.com (095129206250.cust.akis.net [95.129.206.250]) by smtp.akis.at (8.18.2/8.18.2) with ESMTPS id 68MNgJfG052048 (version=TLSv1.2 cipher=ECDHE-ECDSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 23 Sep 2026 01:42:19 +0200 (CEST) (envelope-from christian@amsuess.com)
Received: from poseidon-mailbox.amsuess.com (hermes.lan.amsuess.com [10.13.13.254]) by poseidon-mailhub.amsuess.com (Postfix) with ESMTP id 859DA77998; Wed, 23 Sep 2026 01:42:17 +0200 (CEST)
Received: from hephaistos.amsuess.com (unknown [IPv6:2a02:b18:c13b:8010:6c10:29dc:c845:84d3]) by poseidon-mailbox.amsuess.com (Postfix) with ESMTPSA id 6211264F65; Wed, 23 Sep 2026 01:42:17 +0200 (CEST)
Received: (nullmailer pid 655992 invoked by uid 1000); Tue, 22 Sep 2026 23:42:16 -0000
Date: Wed, 23 Sep 2026 01:42:16 +0200
From: Christian Amsüss <christian@amsuess.com>
To: Renzo Navas <renzoefra@gmail.com>
Message-ID: <arMSWBU0GpMOWhOq@hephaistos.amsuess.com>
References: <178888650661.959507.7185336967836241082@dt-datatracker-9769b79f-xztnc>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg="pgp-sha256"; protocol="application/pgp-signature"; boundary="hLDIey7Be3aRgyZK"
Content-Disposition: inline
In-Reply-To: <178888650661.959507.7185336967836241082@dt-datatracker-9769b79f-xztnc>
X-Scanned-By: MIMEDefang 2.86 on 95.129.200.85
X-Spamd-Bar: --
Message-ID-Hash: 6N5U34ENPS7SLV2W47CQVNEMYOJAI76I
X-Message-ID-Hash: 6N5U34ENPS7SLV2W47CQVNEMYOJAI76I
X-MailFrom: christian@amsuess.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: lake@ietf.org
X-Mailman-Version: 3.3.10
Precedence: list
Subject: [Lake] Re: WG Last Call: draft-ietf-lake-authz-08 (Ends 2026-09-22)
List-Id: Lightweight Authenticated Key Exchange <lake.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/lake/9QSUVAv2R1_S6Go3oOv8Aupd970>
List-Archive: <https://mailarchive.ietf.org/arch/browse/lake>
List-Help: <mailto:lake-request@ietf.org?subject=help>
List-Owner: <mailto:lake-owner@ietf.org>
List-Post: <mailto:lake@ietf.org>
List-Subscribe: <mailto:lake-join@ietf.org>
List-Unsubscribe: <mailto:lake-leave@ietf.org>

Hello ELA authors, group,

On Tue, Sep 08, 2026 at 09:55:06AM -0700, Renzo Navas via Datatracker wrote:
> Please review and indicate your support or objection to proceed with the
> publication of this document by replying to this email keeping lake@ietf.org
> in copy.

thanks for your work on this document.

I've found a few points where I think the document needs improvement,
but none of them should stop the doument going forward, because they are
either formal/technical in nature (and can be fixed easily, such as
missing or mismatched IANA entries), or not crucial for being a correct
document (so while I'd appreciate applying them, the document will work
as is as well).

* This document introduces the use of info labels 2 and 3. If I get
  things right, those are values that should live in the EDHOC Exporter
  Label Registry, but the IANA considerations do not register those
  values.

* In 4.4.2.2, processing message 2 defers to RFC9528 Section 5.3.3,
  which states that "When and how to perform authentication is up to the
  application". While ELA is acting within that, it may be useful to
  readers to be reminded that "No authentication is performed at this
  stage; it is deferred to the processing of message 4."

* ELA in recent versions admits that the voucher can be optional (when
  U would join any network anyway and merely uses ELA to show its
  authorization).

  Section 4.4.3.1 states that TBD1 is used in negative (critical) use.
  From the point of view of a device that does not expect a voucher,
  that option is not critical -- representing the fact that it offers
  the voucher_info as a means of onboarding into less trusting networks,
  whereas it would be perfectly happy to onboard into an open network
  just as well (for which it would send CRED_I by value, which this
  protocol admits).

  This could be reflected in the text by replacing the last sentence
  with "The sign is usually negative, indicating that the EAD item is
  critical, see Section 3.8 of [RFC9528]; a positive sign (non-critical)
  is allowed when the voucher is optional."

  (Consequently in 4.4.3.2, with s/Since/If/, and in 4.7.2,
  s/critical.//, and in 4.7.2.1 and 4.7.2.2 s/critical/(usually
  critical)/)

* On the same note of things-to-change-now-that-voucher-is-optional,
  but independently of whether the previous suggesion is accepted: 6
  says that "EDHOC message_4 is mandatory since it carries the Voucher";
  s/since/if/ fixes this, and the sentece after it should
  s/ELA/vouchers in message 4/.

* How to look up ID_CRED_I is out of scope of this specification. If
  there is some hint in any upcoming document about what can be done
  here, that would be useful to readers.

  (In particular, such a document could outline

  - under which conditions U already has access to the PRK
    by the time it commits to ID_CRED_I, and how that can be used to
    arrive at a key ID that only W can read, thereby not leaking
    identifying information to V, or

  - whether, at least in ELA forward flow, U and W can use their shared
    knowledge of CRED_V to do something similar to IPv6 privacy
    extensions or BLE privacy beacons, where different unauthorized
    parties V can only track U across joining attempts if they use a
    single CRED_V.

  but the content is admittedly beyond this document).

* 4.7.4 is not literally wrong, but feels a bit misleading:
  confidentiality is only confidentiality against passive attacks in
  both cases (9528 was often explicit in against-what when using the
  term confidentiality). And the distinction between being not
  authenticated (reverse) vs being authenticated (forward) is rather
  moot, given that time of sending information, the authentication of
  the latter is only relative to a kccs or a self-signed end-entity
  certificate.

* Schemes for CoAP give coap:// only. On an unconstrained link, I'd
  expect that they would use coap+tcp:// would be in active use as well.
  (Especially as using some coap without s is over-all beneficial as it
  can PoP for V in a single go.)

* The document is inconsistent about the content of LOC_W: 4.3.1 admits
  URLs or domains, whereas 5 has a SHOULD on "the protocol indicated by
  the scheme in the LOC_W URI".

  I'd guess that a domain would be fine, given all the rest happens
  through well-known intefaces, and V can just try some and remember
  what it tried?

* Section 5.4.2 is completely unreferenced -- nothing links in there,
  nothing metions "certificate request", nothing mentions "certrequest".

  What is this used for, and why is it not just a follow-up field to
  Fetch_CRED_U (like, Fetch_CRED_U_chain)?

* Operators of W may want to update their keys even within a single
  cipher suite. Obviously a party W will need to keep its old key
  available as long as any U is out, but is there any guidance on how it
  would introduce new keys? Use a new LOC_W? Decide based on ID_CRED_U
  which W to use?

* Section 6: whether U is authorized to interact with *V*. (Not W: The
  trust relation with W is built in, V gets authenticated through the
  voucher).

* .arpa name: Nice ot have that, but this is never referenced anywhere
  else in the document. It was used in the old CoJP appendix -- so maybe
  move to where that is resurrected? (And please resurrect it!)

* IANA considerations: This document uses
  application/lake-authz-voucherrequest+cbor,
  application/lake-authz-voucherresponse+cbor and
  application/lake-authz-vouchererror+cbor, but 7.4 and 7.5 only handle
  one of them.

* A.1: TBD_EAD_LABEL is from app-profiles. Is the plan here to have
  these clustered (even though app-profiles is just an informative
  reference)? If so, a note to RFC editor to replace might be helpful.
  Or there will not be a cluster, in which case, please consider an
  early allocation for app-profiles.

* https://github.com/lake-wg/authz/issues/84 is still open.

BR
Christian

-- 
To use raw power is to make yourself infinitely vulnerable to greater powers.
  -- Bene Gesserit axiom