Re: [radext] WGLC for draft-ietf-radext-tls-psk-04

Alan DeKok <aland@deployingradius.com> Fri, 01 December 2023 18:23 UTC

Return-Path: <aland@deployingradius.com>
X-Original-To: radext@ietfa.amsl.com
Delivered-To: radext@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 27477C14F5F3 for <radext@ietfa.amsl.com>; Fri, 1 Dec 2023 10:23:06 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.909
X-Spam-Level:
X-Spam-Status: No, score=-6.909 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, 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] autolearn=ham autolearn_force=no
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 TIsWMWxrthvs for <radext@ietfa.amsl.com>; Fri, 1 Dec 2023 10:23:04 -0800 (PST)
Received: from mail.networkradius.com (mail.networkradius.com [62.210.147.122]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 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 09BCCC14F5F2 for <radext@ietf.org>; Fri, 1 Dec 2023 10:23:02 -0800 (PST)
Received: from smtpclient.apple (unknown [75.98.136.130]) by mail.networkradius.com (Postfix) with ESMTPSA id 3BE55211; Fri, 1 Dec 2023 18:23:00 +0000 (UTC)
Authentication-Results: NetworkRADIUS; dmarc=none (p=none dis=none) header.from=deployingradius.com
Content-Type: text/plain; charset="us-ascii"
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.120.41.1.1\))
From: Alan DeKok <aland@deployingradius.com>
In-Reply-To: <6172ba00-6793-4393-9466-37b52fe1e25b@switch.ch>
Date: Fri, 01 Dec 2023 13:22:58 -0500
Cc: radext@ietf.org
Content-Transfer-Encoding: quoted-printable
Message-Id: <651E26F6-B0B2-40A7-B636-88569CFEFCB3@deployingradius.com>
References: <005901da242e$f623d550$e26b7ff0$@smyslov.net> <6172ba00-6793-4393-9466-37b52fe1e25b@switch.ch>
To: Fabian Mauchle <fabian.mauchle@switch.ch>
X-Mailer: Apple Mail (2.3696.120.41.1.1)
Archived-At: <https://mailarchive.ietf.org/arch/msg/radext/gpT-vfJFAPhWI0dByaDC4oOD7hw>
Subject: Re: [radext] WGLC for draft-ietf-radext-tls-psk-04
X-BeenThere: radext@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: RADIUS EXTensions working group discussion list <radext.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/radext>, <mailto:radext-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/radext/>
List-Post: <mailto:radext@ietf.org>
List-Help: <mailto:radext-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/radext>, <mailto:radext-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 01 Dec 2023 18:23:06 -0000

On Dec 1, 2023, at 11:17 AM, Fabian Mauchle <fabian.mauchle@switch.ch> wrote:
> After re-reading -04 and trying to update my implementation:
> 
> 4.2.1.  Security of PSK Identities
> > However, implementations MUST support managing PSK identities as a
> > set of undistinguished octets
> 
> This sentence confuses me (not sure why I didn't trip over it before).
> If I follow the advise (SHOULD) of verifying identities as valid UTF-8, I would now violate above statement as I no longer support just any undistinguished octets.

  I don't think there's any contradiction.  Implementations MUST support identities as random stuff.  But it's generally a good idea to use UTF-8 for humanly-managed identities.

> 6.2.3.  Resumption
> > Implementations MUST support resumption
> 
> I oppose this requirement.
> 
> 1. this draft is about PSK, not resumption, and I see no technical requirements why a PSK client/server would need to support resumption.
> I think this requirement belongs to draft-ietf-radext-radiusdtls-bis, which already states it as SHOULD.

  The difference for me is that certificates can be checked without hitting a database.  In contrast, TLS-PSK will likely require a DB hit.

  This is perhaps more of an issue for EAP-TLS-PSK, so maybe the discussion here can be removed.

> 2. I see PSK as a method for constrained implementations to get something better than Radius/UDP, so the requirements should be kept minimal.

  It's also a good idea to suggest best practices.  There are few downsides to using resumption, so perhaps we should suggest it.

> 3. in light of TLS1.3, resumption and PSK are mutually exclusive. TLS 1.3 PSK already minimizes the handshake to a single round-trip.
> (no sure how this works in TLS1.2)

  Are resumption and PSK really mutually exclusive?  I admit I haven't poked OpenSSL in detail, but in theory it should be possible.

> I fully agree with paragraphs 2-5, stating how implementations should behave if they support both PSK and resumption.

  OK, thanks.

> > Systems supporting TLS-PSK and resumption MUST cache data during the
> > initial full handshake sufficient to allow authorization decisions to
> > be made during resumption.  If cached data cannot be retrieved
> > securely, resumption MUST NOT be done.  The cached data is typically
> > information such as the original PSK identity, along with any
> > policies associated with that identity.
> 
> I presume this applies to TLS1.2 PSK? Maybe it should say so.

  No, it's only for resumption.  The text is taken largely from RFC9190.

  The issue is that with TLS resumption, the original identity / credentials are mostly lost.  i.e. they're not available via TLS.

  So the TLS server has to cache the original identity / etc, and associate them with the resumed session.  When resumption happens, it gets the cached data, and uses that to apply authorization.

> The remainder of section 6.2.3 I fully agree on the content - I think these are some very important provisions - but in my view they belong in draft-ietf-radext-radiusdtls-bis, as they apply to TLS resumption in general, not (just) PSK.

 That section has a lot of text on issues specifically to TLS-PSK.  But yes, the generic "cache data on resumption" really belongs in the main TLS document.

  However, the TLS document won't be available for a while, so I think that text is needed here.

 Alan DeKok.